commit 8b9ef7b3e71bacf99bff1b3b864e7412b07ba952 Author: Arvid Andersson Date: Mon Oct 17 17:08:51 2011 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..848693b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +config.yaml +passenger* +*-tmp diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..80d9567 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source :rubygems +gem 'wand' +gem 's3' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..f6c1093 --- /dev/null +++ b/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 diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..3c0cbb5 --- /dev/null +++ b/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 diff --git a/config.yaml.sample b/config.yaml.sample new file mode 100644 index 0000000..e39a20a --- /dev/null +++ b/config.yaml.sample @@ -0,0 +1,4 @@ +s3: + access_key_id: + secret_access_key: + bucket: www.emoji-cheat-sheet.com diff --git a/public/ZeroClipboard.swf b/public/ZeroClipboard.swf new file mode 100755 index 0000000..13bf8e3 Binary files /dev/null and b/public/ZeroClipboard.swf differ diff --git a/public/emoji.css b/public/emoji.css new file mode 100644 index 0000000..258690a --- /dev/null +++ b/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; +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..54c4e8a Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/graphics/emojis/+1.png b/public/graphics/emojis/+1.png new file mode 100644 index 0000000..77f3cc3 Binary files /dev/null and b/public/graphics/emojis/+1.png differ diff --git a/public/graphics/emojis/-1.png b/public/graphics/emojis/-1.png new file mode 100644 index 0000000..4a4213b Binary files /dev/null and b/public/graphics/emojis/-1.png differ diff --git a/public/graphics/emojis/airplane.png b/public/graphics/emojis/airplane.png new file mode 100644 index 0000000..8836c73 Binary files /dev/null and b/public/graphics/emojis/airplane.png differ diff --git a/public/graphics/emojis/apple.png b/public/graphics/emojis/apple.png new file mode 100644 index 0000000..ba7a476 Binary files /dev/null and b/public/graphics/emojis/apple.png differ diff --git a/public/graphics/emojis/art.png b/public/graphics/emojis/art.png new file mode 100644 index 0000000..5c64797 Binary files /dev/null and b/public/graphics/emojis/art.png differ diff --git a/public/graphics/emojis/bear.png b/public/graphics/emojis/bear.png new file mode 100644 index 0000000..8f21b4d Binary files /dev/null and b/public/graphics/emojis/bear.png differ diff --git a/public/graphics/emojis/beer.png b/public/graphics/emojis/beer.png new file mode 100644 index 0000000..6c42711 Binary files /dev/null and b/public/graphics/emojis/beer.png differ diff --git a/public/graphics/emojis/bike.png b/public/graphics/emojis/bike.png new file mode 100644 index 0000000..d8cbadf Binary files /dev/null and b/public/graphics/emojis/bike.png differ diff --git a/public/graphics/emojis/bomb.png b/public/graphics/emojis/bomb.png new file mode 100644 index 0000000..94fd00b Binary files /dev/null and b/public/graphics/emojis/bomb.png differ diff --git a/public/graphics/emojis/book.png b/public/graphics/emojis/book.png new file mode 100644 index 0000000..3b03b30 Binary files /dev/null and b/public/graphics/emojis/book.png differ diff --git a/public/graphics/emojis/broken_heart.png b/public/graphics/emojis/broken_heart.png new file mode 100644 index 0000000..6d6e4f9 Binary files /dev/null and b/public/graphics/emojis/broken_heart.png differ diff --git a/public/graphics/emojis/bulb.png b/public/graphics/emojis/bulb.png new file mode 100644 index 0000000..cda9d14 Binary files /dev/null and b/public/graphics/emojis/bulb.png differ diff --git a/public/graphics/emojis/bus.png b/public/graphics/emojis/bus.png new file mode 100644 index 0000000..840a490 Binary files /dev/null and b/public/graphics/emojis/bus.png differ diff --git a/public/graphics/emojis/cake.png b/public/graphics/emojis/cake.png new file mode 100644 index 0000000..3266e7c Binary files /dev/null and b/public/graphics/emojis/cake.png differ diff --git a/public/graphics/emojis/calling.png b/public/graphics/emojis/calling.png new file mode 100644 index 0000000..639a1b7 Binary files /dev/null and b/public/graphics/emojis/calling.png differ diff --git a/public/graphics/emojis/cat.png b/public/graphics/emojis/cat.png new file mode 100644 index 0000000..4f9e08d Binary files /dev/null and b/public/graphics/emojis/cat.png differ diff --git a/public/graphics/emojis/clap.png b/public/graphics/emojis/clap.png new file mode 100644 index 0000000..489d47e Binary files /dev/null and b/public/graphics/emojis/clap.png differ diff --git a/public/graphics/emojis/computer.png b/public/graphics/emojis/computer.png new file mode 100644 index 0000000..45789fd Binary files /dev/null and b/public/graphics/emojis/computer.png differ diff --git a/public/graphics/emojis/cool.png b/public/graphics/emojis/cool.png new file mode 100644 index 0000000..3cbc8f9 Binary files /dev/null and b/public/graphics/emojis/cool.png differ diff --git a/public/graphics/emojis/cop.png b/public/graphics/emojis/cop.png new file mode 100644 index 0000000..2c9a9c0 Binary files /dev/null and b/public/graphics/emojis/cop.png differ diff --git a/public/graphics/emojis/couple.png b/public/graphics/emojis/couple.png new file mode 100644 index 0000000..761a81e Binary files /dev/null and b/public/graphics/emojis/couple.png differ diff --git a/public/graphics/emojis/dog.png b/public/graphics/emojis/dog.png new file mode 100644 index 0000000..5884240 Binary files /dev/null and b/public/graphics/emojis/dog.png differ diff --git a/public/graphics/emojis/dolphin.png b/public/graphics/emojis/dolphin.png new file mode 100644 index 0000000..c020bc5 Binary files /dev/null and b/public/graphics/emojis/dolphin.png differ diff --git a/public/graphics/emojis/email.png b/public/graphics/emojis/email.png new file mode 100644 index 0000000..92c30d5 Binary files /dev/null and b/public/graphics/emojis/email.png differ diff --git a/public/graphics/emojis/feet.png b/public/graphics/emojis/feet.png new file mode 100644 index 0000000..8b502e9 Binary files /dev/null and b/public/graphics/emojis/feet.png differ diff --git a/public/graphics/emojis/fire.png b/public/graphics/emojis/fire.png new file mode 100644 index 0000000..dc82598 Binary files /dev/null and b/public/graphics/emojis/fire.png differ diff --git a/public/graphics/emojis/fish.png b/public/graphics/emojis/fish.png new file mode 100644 index 0000000..2aa2241 Binary files /dev/null and b/public/graphics/emojis/fish.png differ diff --git a/public/graphics/emojis/fist.png b/public/graphics/emojis/fist.png new file mode 100644 index 0000000..d73720d Binary files /dev/null and b/public/graphics/emojis/fist.png differ diff --git a/public/graphics/emojis/gift.png b/public/graphics/emojis/gift.png new file mode 100644 index 0000000..7933a85 Binary files /dev/null and b/public/graphics/emojis/gift.png differ diff --git a/public/graphics/emojis/hammer.png b/public/graphics/emojis/hammer.png new file mode 100644 index 0000000..e46a374 Binary files /dev/null and b/public/graphics/emojis/hammer.png differ diff --git a/public/graphics/emojis/heart.png b/public/graphics/emojis/heart.png new file mode 100644 index 0000000..de863bf Binary files /dev/null and b/public/graphics/emojis/heart.png differ diff --git a/public/graphics/emojis/horse.png b/public/graphics/emojis/horse.png new file mode 100644 index 0000000..5dfbeb0 Binary files /dev/null and b/public/graphics/emojis/horse.png differ diff --git a/public/graphics/emojis/iphone.png b/public/graphics/emojis/iphone.png new file mode 100644 index 0000000..d49404d Binary files /dev/null and b/public/graphics/emojis/iphone.png differ diff --git a/public/graphics/emojis/key.png b/public/graphics/emojis/key.png new file mode 100644 index 0000000..e98edbf Binary files /dev/null and b/public/graphics/emojis/key.png differ diff --git a/public/graphics/emojis/kiss.png b/public/graphics/emojis/kiss.png new file mode 100644 index 0000000..0dae064 Binary files /dev/null and b/public/graphics/emojis/kiss.png differ diff --git a/public/graphics/emojis/koala.png b/public/graphics/emojis/koala.png new file mode 100644 index 0000000..b2716cc Binary files /dev/null and b/public/graphics/emojis/koala.png differ diff --git a/public/graphics/emojis/leaves.png b/public/graphics/emojis/leaves.png new file mode 100644 index 0000000..c9f7af3 Binary files /dev/null and b/public/graphics/emojis/leaves.png differ diff --git a/public/graphics/emojis/lips.png b/public/graphics/emojis/lips.png new file mode 100644 index 0000000..f77a0de Binary files /dev/null and b/public/graphics/emojis/lips.png differ diff --git a/public/graphics/emojis/lipstick.png b/public/graphics/emojis/lipstick.png new file mode 100644 index 0000000..34fe201 Binary files /dev/null and b/public/graphics/emojis/lipstick.png differ diff --git a/public/graphics/emojis/lock.png b/public/graphics/emojis/lock.png new file mode 100644 index 0000000..11de23e Binary files /dev/null and b/public/graphics/emojis/lock.png differ diff --git a/public/graphics/emojis/mag.png b/public/graphics/emojis/mag.png new file mode 100644 index 0000000..e4dfc9c Binary files /dev/null and b/public/graphics/emojis/mag.png differ diff --git a/public/graphics/emojis/mega.png b/public/graphics/emojis/mega.png new file mode 100644 index 0000000..8d4442d Binary files /dev/null and b/public/graphics/emojis/mega.png differ diff --git a/public/graphics/emojis/memo.png b/public/graphics/emojis/memo.png new file mode 100644 index 0000000..e0106be Binary files /dev/null and b/public/graphics/emojis/memo.png differ diff --git a/public/graphics/emojis/moneybag.png b/public/graphics/emojis/moneybag.png new file mode 100644 index 0000000..ee390ee Binary files /dev/null and b/public/graphics/emojis/moneybag.png differ diff --git a/public/graphics/emojis/nail_care.png b/public/graphics/emojis/nail_care.png new file mode 100644 index 0000000..7f88c1b Binary files /dev/null and b/public/graphics/emojis/nail_care.png differ diff --git a/public/graphics/emojis/new.png b/public/graphics/emojis/new.png new file mode 100644 index 0000000..dbb9508 Binary files /dev/null and b/public/graphics/emojis/new.png differ diff --git a/public/graphics/emojis/octocat.png b/public/graphics/emojis/octocat.png new file mode 100644 index 0000000..3395f89 Binary files /dev/null and b/public/graphics/emojis/octocat.png differ diff --git a/public/graphics/emojis/ok.png b/public/graphics/emojis/ok.png new file mode 100644 index 0000000..4648d79 Binary files /dev/null and b/public/graphics/emojis/ok.png differ diff --git a/public/graphics/emojis/pencil.png b/public/graphics/emojis/pencil.png new file mode 100644 index 0000000..e0106be Binary files /dev/null and b/public/graphics/emojis/pencil.png differ diff --git a/public/graphics/emojis/princess.png b/public/graphics/emojis/princess.png new file mode 100644 index 0000000..c76e898 Binary files /dev/null and b/public/graphics/emojis/princess.png differ diff --git a/public/graphics/emojis/punch.png b/public/graphics/emojis/punch.png new file mode 100644 index 0000000..72b6f0b Binary files /dev/null and b/public/graphics/emojis/punch.png differ diff --git a/public/graphics/emojis/rainbow.png b/public/graphics/emojis/rainbow.png new file mode 100644 index 0000000..8901682 Binary files /dev/null and b/public/graphics/emojis/rainbow.png differ diff --git a/public/graphics/emojis/rose.png b/public/graphics/emojis/rose.png new file mode 100644 index 0000000..9c894ba Binary files /dev/null and b/public/graphics/emojis/rose.png differ diff --git a/public/graphics/emojis/runner.png b/public/graphics/emojis/runner.png new file mode 100644 index 0000000..1f2b186 Binary files /dev/null and b/public/graphics/emojis/runner.png differ diff --git a/public/graphics/emojis/scissors.png b/public/graphics/emojis/scissors.png new file mode 100644 index 0000000..9960ce6 Binary files /dev/null and b/public/graphics/emojis/scissors.png differ diff --git a/public/graphics/emojis/ski.png b/public/graphics/emojis/ski.png new file mode 100644 index 0000000..9e12687 Binary files /dev/null and b/public/graphics/emojis/ski.png differ diff --git a/public/graphics/emojis/smoking.png b/public/graphics/emojis/smoking.png new file mode 100644 index 0000000..33ed62f Binary files /dev/null and b/public/graphics/emojis/smoking.png differ diff --git a/public/graphics/emojis/sparkles.png b/public/graphics/emojis/sparkles.png new file mode 100644 index 0000000..8be9431 Binary files /dev/null and b/public/graphics/emojis/sparkles.png differ diff --git a/public/graphics/emojis/star.png b/public/graphics/emojis/star.png new file mode 100644 index 0000000..4cc3b64 Binary files /dev/null and b/public/graphics/emojis/star.png differ diff --git a/public/graphics/emojis/sunflower.png b/public/graphics/emojis/sunflower.png new file mode 100644 index 0000000..05c7dcc Binary files /dev/null and b/public/graphics/emojis/sunflower.png differ diff --git a/public/graphics/emojis/sunny.png b/public/graphics/emojis/sunny.png new file mode 100644 index 0000000..26c7f01 Binary files /dev/null and b/public/graphics/emojis/sunny.png differ diff --git a/public/graphics/emojis/taxi.png b/public/graphics/emojis/taxi.png new file mode 100644 index 0000000..e95c829 Binary files /dev/null and b/public/graphics/emojis/taxi.png differ diff --git a/public/graphics/emojis/thumbsdown.png b/public/graphics/emojis/thumbsdown.png new file mode 100644 index 0000000..4a4213b Binary files /dev/null and b/public/graphics/emojis/thumbsdown.png differ diff --git a/public/graphics/emojis/thumbsup.png b/public/graphics/emojis/thumbsup.png new file mode 100644 index 0000000..77f3cc3 Binary files /dev/null and b/public/graphics/emojis/thumbsup.png differ diff --git a/public/graphics/emojis/tm.png b/public/graphics/emojis/tm.png new file mode 100644 index 0000000..062b5bb Binary files /dev/null and b/public/graphics/emojis/tm.png differ diff --git a/public/graphics/emojis/tophat.png b/public/graphics/emojis/tophat.png new file mode 100644 index 0000000..0f03b4f Binary files /dev/null and b/public/graphics/emojis/tophat.png differ diff --git a/public/graphics/emojis/train.png b/public/graphics/emojis/train.png new file mode 100644 index 0000000..0994389 Binary files /dev/null and b/public/graphics/emojis/train.png differ diff --git a/public/graphics/emojis/v.png b/public/graphics/emojis/v.png new file mode 100644 index 0000000..b1643f6 Binary files /dev/null and b/public/graphics/emojis/v.png differ diff --git a/public/graphics/emojis/vs.png b/public/graphics/emojis/vs.png new file mode 100644 index 0000000..7f348ed Binary files /dev/null and b/public/graphics/emojis/vs.png differ diff --git a/public/graphics/emojis/warning.png b/public/graphics/emojis/warning.png new file mode 100644 index 0000000..3afb795 Binary files /dev/null and b/public/graphics/emojis/warning.png differ diff --git a/public/graphics/emojis/wheelchair.png b/public/graphics/emojis/wheelchair.png new file mode 100644 index 0000000..21f55f2 Binary files /dev/null and b/public/graphics/emojis/wheelchair.png differ diff --git a/public/graphics/emojis/zap.png b/public/graphics/emojis/zap.png new file mode 100644 index 0000000..8d7fb5b Binary files /dev/null and b/public/graphics/emojis/zap.png differ diff --git a/public/graphics/emojis/zzz.png b/public/graphics/emojis/zzz.png new file mode 100644 index 0000000..5ab3c45 Binary files /dev/null and b/public/graphics/emojis/zzz.png differ diff --git a/public/graphics/stucco.png b/public/graphics/stucco.png new file mode 100644 index 0000000..b8100b4 Binary files /dev/null and b/public/graphics/stucco.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..f51e299 --- /dev/null +++ b/public/index.html @@ -0,0 +1,233 @@ + + + + Emoji cheat sheet for Campfire and GitHub + + + + + + + + + + +
+

Emoji cheat sheet for Campfire and GitHub

+

+ Emoji emoticons is supported on 37signals Campfire + and on GitHub. However the services doesn't support the same set of emojis and + some of the codes are not super easy to remember. So here is a little cheat sheet.
+ ✈ If you got flash enabled click the emoji code and it will be copied to your clipboard.

+

Campfire

+ +

GitHub

+ + +
+ +
+ + + + + diff --git a/public/libs.min.js b/public/libs.min.js new file mode 100644 index 0000000..504db87 --- /dev/null +++ b/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:"×",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('
').appendTo("body");if(B.isFunction(N.init)){N.init.apply(M,[J])}}function O(S){var R='
'+(N.sticky&&N.showClose?(''+N.closeLabel+""):"")+'
'+S+"
";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-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+=''}else{c+=''}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=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=arguments[i]){if(i+10){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