Skip to content
Browse files

Initial commit

  • Loading branch information...
0 parents commit 8b9ef7b3e71bacf99bff1b3b864e7412b07ba952 Arvid Andersson committed
Showing with 562 additions and 0 deletions.
  1. +4 −0 .gitignore
  2. +3 −0 Gemfile
  3. +18 −0 Gemfile.lock
  4. +83 −0 Rakefile
  5. +4 −0 config.yaml.sample
  6. BIN public/ZeroClipboard.swf
  7. +180 −0 public/emoji.css
  8. BIN public/favicon.ico
  9. BIN public/graphics/emojis/+1.png
  10. BIN public/graphics/emojis/-1.png
  11. BIN public/graphics/emojis/airplane.png
  12. BIN public/graphics/emojis/apple.png
  13. BIN public/graphics/emojis/art.png
  14. BIN public/graphics/emojis/bear.png
  15. BIN public/graphics/emojis/beer.png
  16. BIN public/graphics/emojis/bike.png
  17. BIN public/graphics/emojis/bomb.png
  18. BIN public/graphics/emojis/book.png
  19. BIN public/graphics/emojis/broken_heart.png
  20. BIN public/graphics/emojis/bulb.png
  21. BIN public/graphics/emojis/bus.png
  22. BIN public/graphics/emojis/cake.png
  23. BIN public/graphics/emojis/calling.png
  24. BIN public/graphics/emojis/cat.png
  25. BIN public/graphics/emojis/clap.png
  26. BIN public/graphics/emojis/computer.png
  27. BIN public/graphics/emojis/cool.png
  28. BIN public/graphics/emojis/cop.png
  29. BIN public/graphics/emojis/couple.png
  30. BIN public/graphics/emojis/dog.png
  31. BIN public/graphics/emojis/dolphin.png
  32. BIN public/graphics/emojis/email.png
  33. BIN public/graphics/emojis/feet.png
  34. BIN public/graphics/emojis/fire.png
  35. BIN public/graphics/emojis/fish.png
  36. BIN public/graphics/emojis/fist.png
  37. BIN public/graphics/emojis/gift.png
  38. BIN public/graphics/emojis/hammer.png
  39. BIN public/graphics/emojis/heart.png
  40. BIN public/graphics/emojis/horse.png
  41. BIN public/graphics/emojis/iphone.png
  42. BIN public/graphics/emojis/key.png
  43. BIN public/graphics/emojis/kiss.png
  44. BIN public/graphics/emojis/koala.png
  45. BIN public/graphics/emojis/leaves.png
  46. BIN public/graphics/emojis/lips.png
  47. BIN public/graphics/emojis/lipstick.png
  48. BIN public/graphics/emojis/lock.png
  49. BIN public/graphics/emojis/mag.png
  50. BIN public/graphics/emojis/mega.png
  51. BIN public/graphics/emojis/memo.png
  52. BIN public/graphics/emojis/moneybag.png
  53. BIN public/graphics/emojis/nail_care.png
  54. BIN public/graphics/emojis/new.png
  55. BIN public/graphics/emojis/octocat.png
  56. BIN public/graphics/emojis/ok.png
  57. BIN public/graphics/emojis/pencil.png
  58. BIN public/graphics/emojis/princess.png
  59. BIN public/graphics/emojis/punch.png
  60. BIN public/graphics/emojis/rainbow.png
  61. BIN public/graphics/emojis/rose.png
  62. BIN public/graphics/emojis/runner.png
  63. BIN public/graphics/emojis/scissors.png
  64. BIN public/graphics/emojis/ski.png
  65. BIN public/graphics/emojis/smoking.png
  66. BIN public/graphics/emojis/sparkles.png
  67. BIN public/graphics/emojis/star.png
  68. BIN public/graphics/emojis/sunflower.png
  69. BIN public/graphics/emojis/sunny.png
  70. BIN public/graphics/emojis/taxi.png
  71. BIN public/graphics/emojis/thumbsdown.png
  72. BIN public/graphics/emojis/thumbsup.png
  73. BIN public/graphics/emojis/tm.png
  74. BIN public/graphics/emojis/tophat.png
  75. BIN public/graphics/emojis/train.png
  76. BIN public/graphics/emojis/v.png
  77. BIN public/graphics/emojis/vs.png
  78. BIN public/graphics/emojis/warning.png
  79. BIN public/graphics/emojis/wheelchair.png
  80. BIN public/graphics/emojis/zap.png
  81. BIN public/graphics/emojis/zzz.png
  82. BIN public/graphics/stucco.png
  83. +233 −0 public/index.html
  84. +37 −0 public/libs.min.js
4 .gitignore
@@ -0,0 +1,4 @@
+.DS_Store
+config.yaml
+passenger*
+*-tmp
3 Gemfile
@@ -0,0 +1,3 @@
+source :rubygems
+gem 'wand'
+gem 's3'
18 Gemfile.lock
@@ -0,0 +1,18 @@
+GEM
+ remote: http://rubygems.org/
+ specs:
+ mime-types (1.16)
+ proxies (0.2.1)
+ s3 (0.3.8)
+ proxies (~> 0.2.0)
+ safe_shell (1.0.1)
+ wand (0.4)
+ mime-types
+ safe_shell (~> 1.0.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ s3
+ wand
83 Rakefile
@@ -0,0 +1,83 @@
+#!/usr/bin/env rake
+require 'rubygems'
+require 'bundler'
+Bundler.require
+
+require 'digest/sha1'
+
+task :deploy do
+ Site.new('public').deploy
+end
+
+class Site
+ attr_accessor :path
+ attr_accessor :tmp_files
+
+ def initialize(path)
+ @path = path
+ @tmp_files = []
+ end
+
+ def deploy
+ puts " ** Deploying to #{bucket.name}"
+ files.each do |file|
+ if !File.directory?(file)
+ remote_file_name = base_path(file)
+ puts " Uploading #{remote_file_name}"
+ S3::Object.send(:new, bucket, {
+ key: remote_file_name,
+ etag: Digest::SHA256.file(file).hexdigest,
+ cache_control: 'max-age=86400, public',
+ mime_type: mime_type_for_file(file),
+ }).tap do |_object|
+ if is_css_file?(file)
+ _object.content = open(minify_css_file(file))
+ else
+ _object.content = open(file)
+ end
+ _object.save
+ end
+ end
+ end
+ end
+
+private
+
+ def mime_type_for_file(file)
+ Wand.wave(file)
+ end
+
+ def files
+ @files ||= Dir.glob("#{path}/**/*")
+ end
+
+ def base_path(file)
+ file.gsub("#{path}/", "")
+ end
+
+ def is_css_file?(file)
+ file.end_with?('.css')
+ end
+
+ def minify_css_file(file)
+ "#{file}-tmp".tap do |tmp_file_name|
+ `yuicompressor -o #{tmp_file_name} #{file}`
+ @tmp_files << tmp_file_name
+ end
+ end
+
+ def config
+ @config ||= YAML.load_file('config.yaml')
+ end
+
+ def bucket
+ @bucket ||= s3.buckets.find(config['s3']['bucket'])
+ end
+
+ def s3
+ @s3 ||= S3::Service.new(
+ access_key_id: config['s3']['access_key_id'],
+ secret_access_key: config['s3']['secret_access_key']
+ )
+ end
+end
4 config.yaml.sample
@@ -0,0 +1,4 @@
+s3:
+ access_key_id:
+ secret_access_key:
+ bucket: www.emoji-cheat-sheet.com
BIN public/ZeroClipboard.swf
Binary file not shown.
180 public/emoji.css
@@ -0,0 +1,180 @@
+body {
+ background: #fff url('graphics/stucco.png');
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 16px;
+ color: #333;
+ margin: 0;
+ padding: 0;
+ line-height: 1.4em;}
+h1 {
+ width: 80%;
+ padding-top: 14px;
+ margin-bottom: 16px;
+ font-size: 48px;
+ line-height: 1em;
+ font-weight: normal;
+ font-family: 'Yanone Kaffeesatz', sans-serif;}
+h2 { margin-top:1.2em; }
+a { color: #333;}
+a:hover, a.hover { color: #999; }
+#content, #footer {
+ padding: 0 20px 0 20px;
+ margin: 0 auto;
+ max-width: 1024px;}
+ .share {
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-border-bottom-left-radius: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ border-bottom-right-radius: 8px;
+ border-bottom-left-radius: 8px;
+ border-left: 2px dotted #ddd;
+ border-right: 2px dotted #ddd;
+ border-bottom: 2px dotted #ddd;
+ background: rgba(200,200,200,.2);
+ padding-top: 4px;
+ text-align: right;
+ position: absolute;
+ top: 0px;
+ padding: 4px 8px;
+ right: 20px;
+ width: 160px;
+ height: 28px;}
+ #twitter, #gplus, #fb {
+ float: right;
+ margin-bottom: 4px;
+ height: 32px; }
+ #twitter, #gplus {margin-right: 5px; }
+ p.intro {
+ max-width: 800px;
+ margin-top: 0;
+ color: #666;}
+ ul {
+ padding:0;
+ margin: 0;}
+ li {
+ list-style: none;
+ float: left;
+ width: 160px;
+ height: 30px; }
+ .emoji-button {
+ font-size: 14px;
+ float: left;
+ font-family: "Courier", monospace;
+ padding: 4px;}
+ .emoji-button.hover { margin-left: -4px; }
+ .emoji-button.active { margin-left: 0;}
+ .emoji-button img { vertical-align: middle; }
+div#footer {
+ background-color:rgba(200,200,200,0.15);
+ border-top: 3px dotted #ddd;
+ margin-top: 2em;
+ padding: 1em;
+ font-size: 14px;
+ color: #666;}
+ #footer p {line-height: 1em; }
+
+.clearfix:after {
+ zoom: 1;
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden; }
+
+@media screen and (max-width: 580px) {
+ .share {
+ background: none;
+ padding: 0;
+ margin: 1em 0;
+ position: static;
+ border: none; }
+}
+/* jnotify */
+
+.jnotify-container {
+ position: fixed;
+ top: 40px;
+ right: 20px;
+ width: 160px;
+ z-index: 100000;
+
+ /* set maximum number of notes to show */
+ max-height: 270px;
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.jnotify-container .jnotify-notification {
+ position: relative;
+ margin-bottom: 5px;
+}
+
+.jnotify-container .jnotify-notification .jnotify-background {
+ position: absolute;
+ top: 2px;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: #4c4c4c;
+ filter: alpha(opacity=40);
+ -moz-opacity: 7.90;
+ opacity: 0.40;
+ z-index: 1;
+
+ /* round the corners */
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+}
+
+.jnotify-container .jnotify-notification a.jnotify-close,
+.jnotify-container .jnotify-notification a.jnotify-close:link,
+.jnotify-container .jnotify-notification a.jnotify-close:visited,
+.jnotify-container .jnotify-notification a.jnotify-close:focus,
+.jnotify-container .jnotify-notification a.jnotify-close:hover {
+ position: absolute;
+ top: 2px;
+ right: 5px;
+ padding: 0 5px;
+ font: 14px Arial,Helvetica,sans-serif;
+ line-height: 1em;
+ color: #fff;
+ text-decoration: none;
+ z-index: 3;
+ cursor: pointer;
+}
+
+.jnotify-container .jnotify-notification .jnotify-message {
+ position: relative;
+ z-index: 2;
+ padding: 10px;
+ text-align: left;
+ color: #fff;
+ font: 14px Arial,Helvetica,sans-serif;
+ line-height: 1.2em;
+}
+
+.jnotify-container .jnotify-notification .jnotify-message * {
+ font-size: 1em;
+}
+
+/* notification type == "error" */
+.jnotify-container .jnotify-notification-error .jnotify-background {
+ background-color: #d79eac;
+}
+
+.jnotify-container .jnotify-notification-error .jnotify-close,
+.jnotify-container .jnotify-notification-error .jnotify-message {
+ color: #a72947 !important;
+}
+
+/* notification type == "warning" */
+.jnotify-container .jnotify-notification-warning .jnotify-background {
+ background-color: #fff7d1;
+}
+
+.jnotify-container .jnotify-notification-warning .jnotify-close,
+.jnotify-container .jnotify-notification-warning .jnotify-message {
+ color: #c2a928 !important;
+}
BIN public/favicon.ico
Binary file not shown.
BIN public/graphics/emojis/+1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/airplane.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/apple.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/art.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/bear.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/beer.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/bike.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/bomb.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/book.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/broken_heart.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/bulb.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/bus.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/cake.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/calling.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/cat.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/clap.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/computer.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/cool.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/cop.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/couple.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/dog.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/dolphin.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/email.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/feet.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN public/graphics/emojis/fire.png
Diff not rendered.
BIN public/graphics/emojis/fish.png
Diff not rendered.
BIN public/graphics/emojis/fist.png
Diff not rendered.
BIN public/graphics/emojis/gift.png
Diff not rendered.
BIN public/graphics/emojis/hammer.png
Diff not rendered.
BIN public/graphics/emojis/heart.png
Diff not rendered.
BIN public/graphics/emojis/horse.png
Diff not rendered.
BIN public/graphics/emojis/iphone.png
Diff not rendered.
BIN public/graphics/emojis/key.png
Diff not rendered.
BIN public/graphics/emojis/kiss.png
Diff not rendered.
BIN public/graphics/emojis/koala.png
Diff not rendered.
BIN public/graphics/emojis/leaves.png
Diff not rendered.
BIN public/graphics/emojis/lips.png
Diff not rendered.
BIN public/graphics/emojis/lipstick.png
Diff not rendered.
BIN public/graphics/emojis/lock.png
Diff not rendered.
BIN public/graphics/emojis/mag.png
Diff not rendered.
BIN public/graphics/emojis/mega.png
Diff not rendered.
BIN public/graphics/emojis/memo.png
Diff not rendered.
BIN public/graphics/emojis/moneybag.png
Diff not rendered.
BIN public/graphics/emojis/nail_care.png
Diff not rendered.
BIN public/graphics/emojis/new.png
Diff not rendered.
BIN public/graphics/emojis/octocat.png
Diff not rendered.
BIN public/graphics/emojis/ok.png
Diff not rendered.
BIN public/graphics/emojis/pencil.png
Diff not rendered.
BIN public/graphics/emojis/princess.png
Diff not rendered.
BIN public/graphics/emojis/punch.png
Diff not rendered.
BIN public/graphics/emojis/rainbow.png
Diff not rendered.
BIN public/graphics/emojis/rose.png
Diff not rendered.
BIN public/graphics/emojis/runner.png
Diff not rendered.
BIN public/graphics/emojis/scissors.png
Diff not rendered.
BIN public/graphics/emojis/ski.png
Diff not rendered.
BIN public/graphics/emojis/smoking.png
Diff not rendered.
BIN public/graphics/emojis/sparkles.png
Diff not rendered.
BIN public/graphics/emojis/star.png
Diff not rendered.
BIN public/graphics/emojis/sunflower.png
Diff not rendered.
BIN public/graphics/emojis/sunny.png
Diff not rendered.
BIN public/graphics/emojis/taxi.png
Diff not rendered.
BIN public/graphics/emojis/thumbsdown.png
Diff not rendered.
BIN public/graphics/emojis/thumbsup.png
Diff not rendered.
BIN public/graphics/emojis/tm.png
Diff not rendered.
BIN public/graphics/emojis/tophat.png
Diff not rendered.
BIN public/graphics/emojis/train.png
Diff not rendered.
BIN public/graphics/emojis/v.png
Diff not rendered.
BIN public/graphics/emojis/vs.png
Diff not rendered.
BIN public/graphics/emojis/warning.png
Diff not rendered.
BIN public/graphics/emojis/wheelchair.png
Diff not rendered.
BIN public/graphics/emojis/zap.png
Diff not rendered.
BIN public/graphics/emojis/zzz.png
Diff not rendered.
BIN public/graphics/stucco.png
Diff not rendered.
233 public/index.html
@@ -0,0 +1,233 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <title>Emoji cheat sheet for Campfire and GitHub</title>
+ <meta charset="utf-8">
+ <meta property="title" content="Emoji cheat sheet for Campfire and GitHub"/>
+ <meta property="og:image" content="http://www.emoji-cheat-sheet.com/graphics/emojis/thumbsup.png"/>
+ <meta property="og:type" content="website"/>
+ <meta property="fb:admins" content="arvid.andersson"/>
+ <link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz' rel='stylesheet' type='text/css'>
+ <link href="/emoji.css" rel="stylesheet" title="Screen" type="text/css">
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20637790-4']);
+ _gaq.push(['_trackPageview']);
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="content">
+ <h1>Emoji cheat sheet for Campfire and GitHub</h1>
+ <p class="intro">
+ <a href="http://en.wikipedia.org/wiki/Emoji">Emoji</a> emoticons is supported on 37signals <a href="http://campfirenow.com/">Campfire</a>
+ and on <a href="http://github.com/">GitHub</a>. However the services doesn't support the same set of emojis and
+ some of the codes are not super easy to remember. <em>So here is a little cheat sheet</em>.<br>
+ ✈<b> If you got flash enabled click the emoji code and it will be copied to your clipboard.</b> </p>
+ <h2>Campfire</h2>
+ <ul id="campfire" class="clearfix">
+ <li><div class="emoji-button"><img src="/graphics/emojis/+1.png" height="22" width="22"> :+1:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/-1.png" height="22" width="22"> :-1:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bulb.png" height="22" width="22"> :bulb:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/calling.png" height="22" width="22"> :calling:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/clap.png" height="22" width="22"> :clap:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/cop.png" height="22" width="22"> :cop:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/email.png" height="22" width="22"> :email:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/feet.png" height="22" width="22"> :feet:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/fish.png" height="22" width="22"> :fish:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/fist.png" height="22" width="22"> :fist:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/gift.png" height="22" width="22"> :gift:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/hammer.png" height="22" width="22"> :hammer:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/heart.png" height="22" width="22"> :heart:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/leaves.png" height="22" width="22"> :leaves:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/lipstick.png" height="22" width="22"> :lipstick:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/lock.png" height="22" width="22"> :lock:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/mag.png" height="22" width="22"> :mag:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/mega.png" height="22" width="22"> :mega:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/memo.png" height="22" width="22"> :memo:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/moneybag.png" height="22" width="22"> :moneybag:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/new.png" height="22" width="22"> :new:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/ok.png" height="22" width="22"> :ok:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/pencil.png" height="22" width="22"> :pencil:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/punch.png" height="22" width="22"> :punch:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/runner.png" height="22" width="22"> :runner:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/scissors.png" height="22" width="22"> :scissors:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/smoking.png" height="22" width="22"> :smoking:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/sparkles.png" height="22" width="22"> :sparkles:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/star.png" height="22" width="22"> :star:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/sunny.png" height="22" width="22"> :sunny:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/tm.png" height="22" width="22"> :tm:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/v.png" height="22" width="22"> :v:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/vs.png" height="22" width="22"> :vs:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/warning.png" height="22" width="22"> :warning:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/wheelchair.png" height="22" width="22"> :wheelchair:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/zap.png" height="22" width="22"> :zap:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/zzz.png" height="22" width="22"> :zzz:</div></li>
+ </ul>
+ <h2>GitHub</h2>
+ <ul id="github" class="clearfix">
+ <li> <div class="emoji-button"><img src="/graphics/emojis/+1.png" height="22" width="22"> :+1:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/-1.png" height="22" width="22"> :-1:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/airplane.png" height="22" width="22"> :airplane:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/apple.png" height="22" width="22"> :apple:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/art.png" height="22" width="22"> :art:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bear.png" height="22" width="22"> :bear:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/beer.png" height="22" width="22"> :beer:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bike.png" height="22" width="22"> :bike:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bomb.png" height="22" width="22"> :bomb:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/book.png" height="22" width="22"> :book:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/broken_heart.png" height="22" width="22"> :broken_heart:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bulb.png" height="22" width="22"> :bulb:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/bus.png" height="22" width="22"> :bus:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/cake.png" height="22" width="22"> :cake:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/calling.png" height="22" width="22"> :calling:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/cat.png" height="22" width="22"> :cat:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/clap.png" height="22" width="22"> :clap:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/computer.png" height="22" width="22"> :computer:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/cool.png" height="22" width="22"> :cool:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/cop.png" height="22" width="22"> :cop:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/couple.png" height="22" width="22"> :couple:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/dog.png" height="22" width="22"> :dog:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/dolphin.png" height="22" width="22"> :dolphin:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/email.png" height="22" width="22"> :email:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/feet.png" height="22" width="22"> :feet:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/fire.png" height="22" width="22"> :fire:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/fish.png" height="22" width="22"> :fish:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/fist.png" height="22" width="22"> :fist:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/gift.png" height="22" width="22"> :gift:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/hammer.png" height="22" width="22"> :hammer:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/heart.png" height="22" width="22"> :heart:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/horse.png" height="22" width="22"> :horse:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/iphone.png" height="22" width="22"> :iphone:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/key.png" height="22" width="22"> :key:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/kiss.png" height="22" width="22"> :kiss:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/koala.png" height="22" width="22"> :koala:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/leaves.png" height="22" width="22"> :leaves:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/lips.png" height="22" width="22"> :lips:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/lipstick.png" height="22" width="22"> :lipstick:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/lock.png" height="22" width="22"> :lock:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/mag.png" height="22" width="22"> :mag:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/mega.png" height="22" width="22"> :mega:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/memo.png" height="22" width="22"> :memo:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/moneybag.png" height="22" width="22"> :moneybag:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/nail_care.png" height="22" width="22"> :nail_care:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/new.png" height="22" width="22"> :new:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/octocat.png" height="22" width="22"> :octocat:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/ok.png" height="22" width="22"> :ok:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/pencil.png" height="22" width="22"> :pencil:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/princess.png" height="22" width="22"> :princess:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/punch.png" height="22" width="22"> :punch:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/rainbow.png" height="22" width="22"> :rainbow:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/rose.png" height="22" width="22"> :rose:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/runner.png" height="22" width="22"> :runner:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/scissors.png" height="22" width="22"> :scissors:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/ski.png" height="22" width="22"> :ski:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/smoking.png" height="22" width="22"> :smoking:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/sparkles.png" height="22" width="22"> :sparkles:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/star.png" height="22" width="22"> :star:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/sunflower.png" height="22" width="22"> :sunflower:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/sunny.png" height="22" width="22"> :sunny:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/taxi.png" height="22" width="22"> :taxi:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/thumbsdown.png" height="22" width="22"> :thumbsdown:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/thumbsup.png" height="22" width="22"> :thumbsup:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/tm.png" height="22" width="22"> :tm:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/tophat.png" height="22" width="22"> :tophat:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/train.png" height="22" width="22"> :train:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/v.png" height="22" width="22"> :v:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/vs.png" height="22" width="22"> :vs:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/warning.png" height="22" width="22"> :warning:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/wheelchair.png" height="22" width="22"> :wheelchair:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/zap.png" height="22" width="22"> :zap:</div></li>
+ <li><div class="emoji-button"><img src="/graphics/emojis/zzz.png" height="22" width="22"> :zzz:</div></li>
+ </ul>
+ <div class="share">
+ <div id="fb">
+ <iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.emoji-cheat-sheet.com%2F&amp;send=false&amp;layout=button_count&amp;width=52&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:52px; height:21px;" allowTransparency="true"></iframe>
+ </div>
+ <div id="gplus">
+ <div class="g-plusone" data-annotation="none"></div>
+ </div>
+ <div id="twitter">
+ <a href="https://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
+ </div>
+ </div>
+ </div>
+ <div id="footer">
+ <p>This page was created by <a href="http://arvidandersson.se">Arvid Andersson</a> at
+ <a href="http://oktavilla.se">Oktavilla</a>.
+ <p>✔ Emoji-cheat-sheet.com is not affiliated with 37signals, LLC. or GitHub Inc. in any way.</p>
+ <p>❤ Built using bits from <a href="http://www.steamdev.com/zclip">zClip</a>,
+ <a href="http://subtlepatterns.com/">SubtlePatterns</a> and
+ <a href="http://www.givainc.com/labs/jnotify_jquery_plugin.htm">jnotify</a>.</p>
+ </div>
+ <div id="flash-test"></div>
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
+ <script src="/libs.min.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ $(document).ready(function(){
+ if(false){ // for dev regenerate the emoji lists
+ var campfire_emoji = [
+ '+1', '-1', 'bulb', 'calling', 'clap', 'cop', 'email', 'feet', 'fish', 'fist', 'gift',
+ 'hammer', 'heart', 'leaves', 'lipstick', 'lock', 'mag', 'mega', 'memo', 'moneybag',
+ 'new', 'ok', 'pencil', 'punch', 'runner', 'scissors', 'smoking', 'sparkles', 'star',
+ 'sunny', 'tm', 'v', 'vs', 'warning', 'wheelchair', 'zap', 'zzz']
+ var github_emoji = [
+ '+1', '-1', 'airplane', 'apple', 'art', 'bear', 'beer', 'bike', 'bomb', 'book', 'broken_heart',
+ 'bulb', 'bus', 'cake', 'calling', 'cat', 'clap', 'computer', 'cool', 'cop', 'couple', 'dog',
+ 'dolphin', 'email', 'feet', 'fire', 'fish', 'fist', 'gift', 'hammer', 'heart', 'horse', 'iphone',
+ 'key', 'kiss', 'koala', 'leaves', 'lips', 'lipstick', 'lock', 'mag', 'mega', 'memo', 'moneybag',
+ 'nail_care', 'new', 'octocat', 'ok', 'pencil', 'princess', 'punch', 'rainbow', 'rose', 'runner',
+ 'scissors', 'ski', 'smoking', 'sparkles', 'star', 'sunflower', 'sunny', 'taxi', 'thumbsdown',
+ 'thumbsup', 'tm', 'tophat', 'train', 'v', 'vs', 'warning', 'wheelchair', 'zap', 'zzz']
+
+ function create_emoji_list(emojis, element_id){
+ $(element_id).empty();
+ $.each(emojis,function(index, key){
+ $(element_id).append('<li><div class="emoji-button"><img src="/graphics/emojis/'+key+'.png" height="22" width="22"> :'+key+':</div></li>'+"\n");
+ });
+ }
+ create_emoji_list(campfire_emoji, "#campfire");
+ create_emoji_list(github_emoji, "#github");
+ }
+
+ if(FlashDetect.installed){
+ clip_flash_block_detect = new ZeroClipboard.Client();
+ clip_flash_block_detect.glue(document.getElementById('flash-test'));
+
+ clip = new ZeroClipboard.Client();
+ clip.reposition(document.getElementById('flash-test'));
+ clip.receiveEvent('mouseover', null);
+
+ $.jnotify.setup({delay: 1000, fadeSpeed: 500});
+ clip.setHandCursor(true);
+ clip.addEventListener('complete', function(client, text) {
+ $.jnotify("Copied <code>"+text+"</code>");
+ });
+
+ $('.emoji-button').mouseover( function() {
+ try {
+ if(clip_flash_block_detect.movie.PercentLoaded()){
+ clip.setText($(this).text());
+ if (clip.div && !reglue) {
+ clip.receiveEvent('mouseout', null);
+ clip.reposition(this);
+ } else {
+ clip.glue(this);
+ reglue = false;
+ }
+ clip.receiveEvent('mouseover', null);
+ }
+ }catch(e){ }
+ });
+ }
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
+ po.src = 'https://apis.google.com/js/plusone.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
+ });
+ </script>
+ </body>
+</html>
37 public/libs.min.js
@@ -0,0 +1,37 @@
+/*
+ * jNotify jQuery Plug-in
+ *
+ * Copyright 2010 Giva, Inc. (http://www.givainc.com/labs/)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Date: 2010-09-30
+ * Rev: 1.1.00
+ */
+(function(B){B.jnotify=function(K,M,L){return new C(K,M,L)};B.jnotify.version="1.1.00";var J,D=[],E=0,H=false,I=false,G,F,A={type:"",delay:2000,sticky:false,closeLabel:"&times;",showClose:true,fadeSpeed:1000,slideSpeed:250,classContainer:"jnotify-container",classNotification:"jnotify-notification",classBackground:"jnotify-background",classClose:"jnotify-close",classMessage:"jnotify-message",init:null,create:null,beforeRemove:null,remove:null,transition:null};B.jnotify.setup=function(K){A=B.extend({},A,K)};B.jnotify.play=function(M,N){if(H&&(M!==true)||(D.length==0)){return }H=true;var L=D.shift();F=L;var K=(arguments.length>=2)?parseInt(N,10):L.options.delay;G=setTimeout(function(){G=0;L.remove(function(){if(D.length==0){H=false}else{if(!I){B.jnotify.play(true)}}})},K)};B.jnotify.pause=function(){clearTimeout(G);if(G){D.unshift(F)}I=H=true};B.jnotify.resume=function(){I=false;B.jnotify.play(true,0)};function C(P,N){var M=this,K=typeof N;if(K=="number"){N=B.extend({},A,{delay:N})}else{if(K=="boolean"){N=B.extend({},A,{sticky:true})}else{if(K=="string"){N=B.extend({},A,{type:N,delay:((arguments.length>2)&&(typeof arguments[2]=="number"))?arguments[2]:A.delay,sticky:((arguments.length>2)&&(typeof arguments[2]=="boolean"))?arguments[2]:A.sticky})}else{N=B.extend({},A,N)}}}this.options=N;if(!J){J=B('<div class="'+A.classContainer+'" />').appendTo("body");if(B.isFunction(N.init)){N.init.apply(M,[J])}}function O(S){var R='<div class="'+N.classNotification+(N.type.length?(" "+N.classNotification+"-"+N.type):"")+'"><div class="'+N.classBackground+'"></div>'+(N.sticky&&N.showClose?('<a class="'+N.classClose+'">'+N.closeLabel+"</a>"):"")+'<div class="'+N.classMessage+'"><div>'+S+"</div></div></div>";E++;var Q=B(R);if(N.sticky){Q.find("a."+N.classClose).bind("click.jnotify",function(){M.remove()})}if(B.isFunction(N.create)){N.create.apply(M,[Q])}return Q.appendTo(J)}this.remove=function(U){var Q=L.find("."+N.classMessage),S=Q.parent();var R=E--;if(B.isFunction(N.beforeRemove)){N.beforeRemove.apply(M,[Q])}function T(){S.remove();if(B.isFunction(U)){U.apply(M,[Q])}if(B.isFunction(N.remove)){N.remove.apply(M,[Q])}}if(B.isFunction(N.transition)){N.transition.apply(M,[S,Q,R,T,N])}else{Q.fadeTo(N.fadeSpeed,0.01,function(){if(R<=1){T()}else{S.slideUp(N.slideSpeed,T)}});if(E<=0){S.fadeOut(N.fadeSpeed)}}};var L=O(P);if(!N.sticky){D.push(this);B.jnotify.play()}return this}})(jQuery);
+/*
+ * zClip :: jQuery ZeroClipboard v1.1.1
+ * http://steamdev.com/zclip
+ *
+ * Copyright 2011, SteamDev
+ * Released under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * Date: Wed Jun 01, 2011
+ */
+(function(a){a.fn.zclip=function(c){if(typeof c=="object"&&!c.length){var b=a.extend({path:"ZeroClipboard.swf",copy:null,beforeCopy:null,afterCopy:null,clickAfter:true,setHandCursor:true,setCSSEffects:true},c);return this.each(function(){var e=a(this);if(e.is(":visible")&&(typeof b.copy=="string"||a.isFunction(b.copy))){ZeroClipboard.setMoviePath(b.path);var d=new ZeroClipboard.Client();if(a.isFunction(b.copy)){e.bind("zClip_copy",b.copy)}if(a.isFunction(b.beforeCopy)){e.bind("zClip_beforeCopy",b.beforeCopy)}if(a.isFunction(b.afterCopy)){e.bind("zClip_afterCopy",b.afterCopy)}d.setHandCursor(b.setHandCursor);d.setCSSEffects(b.setCSSEffects);d.addEventListener("mouseOver",function(f){e.trigger("mouseenter")});d.addEventListener("mouseOut",function(f){e.trigger("mouseleave")});d.addEventListener("mouseDown",function(f){e.trigger("mousedown");if(!a.isFunction(b.copy)){d.setText(b.copy)}else{d.setText(e.triggerHandler("zClip_copy"))}if(a.isFunction(b.beforeCopy)){e.trigger("zClip_beforeCopy")}});d.addEventListener("complete",function(f,g){if(a.isFunction(b.afterCopy)){e.trigger("zClip_afterCopy")}else{if(g.length>500){g=g.substr(0,500)+"...\n\n("+(g.length-500)+" characters not shown)"}e.removeClass("hover");alert("Copied text to clipboard:\n\n "+g)}if(b.clickAfter){e.trigger("click")}});d.glue(e[0],e.parent()[0]);a(window).bind("load resize",function(){d.reposition()})}})}else{if(typeof c=="string"){return this.each(function(){var f=a(this);c=c.toLowerCase();var e=f.data("zclipId");var d=a("#"+e+".zclip");if(c=="remove"){d.remove();f.removeClass("active hover")}else{if(c=="hide"){d.hide();f.removeClass("active hover")}else{if(c=="show"){d.show()}}}})}}}})(jQuery);var ZeroClipboard={version:"1.0.7",clients:{},moviePath:"ZeroClipboard.swf",nextId:1,$:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}if(!a.addClass){a.hide=function(){this.style.display="none"};a.show=function(){this.style.display=""};a.addClass=function(b){this.removeClass(b);this.className+=" "+b};a.removeClass=function(d){var e=this.className.split(/\s+/);var b=-1;for(var c=0;c<e.length;c++){if(e[c]==d){b=c;c=e.length}}if(b>-1){e.splice(b,1);this.className=e.join(" ")}return this};a.hasClass=function(b){return !!this.className.match(new RegExp("\\s*"+b+"\\s*"))}}return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(d,b,c){var a=this.clients[d];if(a){a.receiveEvent(b,c)}},register:function(b,a){this.clients[b]=a},getDOMObjectPosition:function(c,a){var b={left:0,top:0,width:c.width?c.width:c.offsetWidth,height:c.height?c.height:c.offsetHeight};if(c&&(c!=a)){b.left+=c.offsetLeft;b.top+=c.offsetTop}return b},Client:function(a){this.handlers={};this.id=ZeroClipboard.nextId++;this.movieId="ZeroClipboardMovie_"+this.id;ZeroClipboard.register(this.id,this);if(a){this.glue(a)}}};ZeroClipboard.Client.prototype={id:0,ready:false,movie:null,clipText:"",handCursorEnabled:true,cssEffects:true,handlers:null,glue:function(d,b,e){this.domElement=ZeroClipboard.$(d);var f=99;if(this.domElement.style.zIndex){f=parseInt(this.domElement.style.zIndex,10)+1}if(typeof(b)=="string"){b=ZeroClipboard.$(b)}else{if(typeof(b)=="undefined"){b=document.getElementsByTagName("body")[0]}}var c=ZeroClipboard.getDOMObjectPosition(this.domElement,b);this.div=document.createElement("div");this.div.className="zclip";this.div.id="zclip-"+this.movieId;$(this.domElement).data("zclipId","zclip-"+this.movieId);var a=this.div.style;a.position="absolute";a.left=""+c.left+"px";a.top=""+c.top+"px";a.width=""+c.width+"px";a.height=""+c.height+"px";a.zIndex=f;if(typeof(e)=="object"){for(addedStyle in e){a[addedStyle]=e[addedStyle]}}b.appendChild(this.div);this.div.innerHTML=this.getHTML(c.width,c.height)},getHTML:function(d,a){var c="";var b="id="+this.id+"&width="+d+"&height="+a;if(navigator.userAgent.match(/MSIE/)){var e=location.href.match(/^https/i)?"https://":"http://";c+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+e+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+d+'" height="'+a+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+b+'"/><param name="wmode" value="transparent"/></object>'}else{c+='<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+d+'" height="'+a+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+b+'" wmode="transparent" />'}return c},hide:function(){if(this.div){this.div.style.left="-2000px"}},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.domElement=null;this.div=null}},reposition:function(c){if(c){this.domElement=ZeroClipboard.$(c);if(!this.domElement){this.hide()}}if(this.domElement&&this.div){var b=ZeroClipboard.getDOMObjectPosition(this.domElement);var a=this.div.style;a.left=""+b.left+"px";a.top=""+b.top+"px"}},setText:function(a){this.clipText=a;if(this.ready){this.movie.setText(a)}},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");if(!this.handlers[a]){this.handlers[a]=[]}this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a;if(this.ready){this.movie.setHandCursor(a)}},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(d,f){d=d.toString().toLowerCase().replace(/^on/,"");switch(d){case"load":this.movie=document.getElementById(this.movieId);if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){var c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=true;return}this.ready=true;try{this.movie.setText(this.clipText)}catch(h){}try{this.movie.setHandCursor(this.handCursorEnabled)}catch(h){}break;case"mouseover":if(this.domElement&&this.cssEffects){this.domElement.addClass("hover");if(this.recoverActive){this.domElement.addClass("active")}}break;case"mouseout":if(this.domElement&&this.cssEffects){this.recoverActive=false;if(this.domElement.hasClass("active")){this.domElement.removeClass("active");this.recoverActive=true}this.domElement.removeClass("hover")}break;case"mousedown":if(this.domElement&&this.cssEffects){this.domElement.addClass("active")}break;case"mouseup":if(this.domElement&&this.cssEffects){this.domElement.removeClass("active");this.recoverActive=false}break}if(this.handlers[d]){for(var b=0,a=this.handlers[d].length;b<a;b++){var g=this.handlers[d][b];if(typeof(g)=="function"){g(this,f)}else{if((typeof(g)=="object")&&(g.length==2)){g[0][g[1]](this,f)}else{if(typeof(g)=="string"){window[g](this,f)}}}}}}};
+//http://www.featureblend.com/license.txt
+var FlashDetect=new function(){var self=this;self.installed=false;self.raw="";self.major=-1;self.minor=-1;self.revision=-1;self.revisionStr="";var activeXDetectRules=[{"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},{"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){}
+return version;}},{"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}];var getActiveXVersion=function(activeXObj){var version=-1;try{version=activeXObj.GetVariable("$version");}catch(err){}
+return version;};var getActiveXObject=function(name){var obj=-1;try{obj=new ActiveXObject(name);}catch(err){obj={activeXError:true};}
+return obj;};var parseActiveXVersion=function(str){var versionArray=str.split(",");return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]};};var parseStandardVersion=function(str){var descParts=str.split(/ +/);var majorMinor=descParts[2].split(/\./);var revisionStr=descParts[3];return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)};};var parseRevisionStrToInt=function(str){return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;};self.majorAtLeast=function(version){return self.major>=version;};self.minorAtLeast=function(version){return self.minor>=version;};self.revisionAtLeast=function(version){return self.revision>=version;};self.versionAtLeast=function(major){var properties=[self.major,self.minor,self.revision];var len=Math.min(properties.length,arguments.length);for(i=0;i<len;i++){if(properties[i]>=arguments[i]){if(i+1<len&&properties[i]==arguments[i]){continue;}else{return true;}}else{return false;}}};self.FlashDetect=function(){if(navigator.plugins&&navigator.plugins.length>0){var type='application/x-shockwave-flash';var mimeTypes=navigator.mimeTypes;if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){var version=mimeTypes[type].enabledPlugin.description;var versionObj=parseStandardVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revisionStr=versionObj.revisionStr;self.revision=versionObj.revision;self.installed=true;}}else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){var version=-1;for(var i=0;i<activeXDetectRules.length&&version==-1;i++){var obj=getActiveXObject(activeXDetectRules[i].name);if(!obj.activeXError){self.installed=true;version=activeXDetectRules[i].version(obj);if(version!=-1){var versionObj=parseActiveXVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revision=versionObj.revision;self.revisionStr=versionObj.revisionStr;}}}}}();};FlashDetect.JS_RELEASE="1.0.4";

0 comments on commit 8b9ef7b

Please sign in to comment.
Something went wrong with that request. Please try again.