From d8b796acb9275e74324c3ea04324314ecbe1b664 Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Tue, 7 Jun 2011 10:45:01 -0400 Subject: [PATCH] Another massive commit: 1. Major improvements to the responsive styling. 2. Toggleable sidebar 3. Upgraded to modernizr 2.0 which includes Respond.js 4. IE7-9 testing and fixes 5. New theming system which should make forkers happy 6. New rake task for installing Octopress themes 7. Magic --- .gitignore | 10 +- Rakefile | 73 +- _config.yml | 36 +- sass/screen.scss | 17 - sass/themes/classic/_partials.scss | 12 - sass/themes/classic/_style.scss | 4 - sass/themes/classic/core/_layout.scss | 94 - sass/themes/classic/core/_theme.scss | 44 - sass/themes/classic/core/_typography.scss | 155 -- sass/themes/classic/media/_480.scss | 16 - sass/themes/classic/media/_768.scss | 16 - sass/themes/classic/media/_992.scss | 3 - sass/themes/classic/partials/_blog.scss | 20 - sass/themes/classic/partials/_footer.scss | 11 - sass/themes/classic/partials/_header.scss | 13 - sass/themes/classic/partials/_navigation.scss | 67 - sass/themes/classic/partials/_page.scss | 8 - sass/themes/classic/partials/_pinboard.scss | 15 - sass/themes/classic/partials/_search.scss | 0 sass/themes/classic/partials/_sidebar.scss | 54 - sass/themes/classic/partials/_syntax.scss | 167 -- sass/themes/classic/partials/_twitter.scss | 49 - source | 1 + source/_includes/article.html | 30 - source/_includes/delicious.html | 3 - source/_includes/disqus_thread.html | 7 - source/_includes/footer.html | 11 - source/_includes/google_analytics.html | 12 - source/_includes/head.html | 40 - source/_includes/header.html | 1 - source/_includes/navigation.html | 11 - source/_includes/pinboard.html | 3 - source/_includes/sidebar.html | 26 - source/_includes/twitter.html | 13 - source/_layouts/archive_monthly.html | 19 - source/_layouts/archive_yearly.html | 25 - source/_layouts/default.html | 23 - source/_layouts/page.html | 13 - source/_layouts/post.html | 11 - source/_posts/2009-11-13-hello-world.markdown | 16 - source/_posts/2011-03-14-test-post.markdown | 6 - .../2011-04-07-test-of-typography.markdown | 50 - source/about.haml | 14 - source/archive.html | 24 - source/atom.xml | 28 - source/fonts/adellebasic_bold-webfont.eot | Bin 13694 -> 0 bytes source/fonts/adellebasic_bold-webfont.svg | 139 -- source/fonts/adellebasic_bold-webfont.ttf | Bin 24072 -> 0 bytes source/fonts/adellebasic_bold-webfont.woff | Bin 15604 -> 0 bytes source/images/code_bg.png | Bin 239 -> 0 bytes source/images/rss.png | Bin 504 -> 0 bytes source/images/search.png | Bin 333 -> 0 bytes source/index.html | 11 - source/javascripts/libs/ender.js | 1497 ---------------- source/javascripts/libs/ender.min.js | 8 - .../libs/ie/DOMAssistantComplete-2.8.js | 1529 ----------------- source/javascripts/libs/ie/respond.js | 292 ---- .../javascripts/libs/ie/selectivizr-1.0.1.js | 5 - .../libs/ios-viewport-scaling-bug-fix.js | 20 - source/javascripts/libs/jXHR.js | 85 - source/javascripts/libs/json2.js | 481 ------ source/javascripts/libs/modernizr-1.7.js | 964 ----------- source/javascripts/octopress.js | 0 source/javascripts/pinboard.js | 48 - source/javascripts/syntax-helper.js | 30 - source/javascripts/twitter.js | 64 - source/test/syntax.html | 397 ----- source/test/typography.haml | 117 -- 68 files changed, 68 insertions(+), 6890 deletions(-) delete mode 100644 sass/screen.scss delete mode 100644 sass/themes/classic/_partials.scss delete mode 100644 sass/themes/classic/_style.scss delete mode 100644 sass/themes/classic/core/_layout.scss delete mode 100644 sass/themes/classic/core/_theme.scss delete mode 100644 sass/themes/classic/core/_typography.scss delete mode 100644 sass/themes/classic/media/_480.scss delete mode 100644 sass/themes/classic/media/_768.scss delete mode 100644 sass/themes/classic/media/_992.scss delete mode 100644 sass/themes/classic/partials/_blog.scss delete mode 100644 sass/themes/classic/partials/_footer.scss delete mode 100644 sass/themes/classic/partials/_header.scss delete mode 100644 sass/themes/classic/partials/_navigation.scss delete mode 100644 sass/themes/classic/partials/_page.scss delete mode 100644 sass/themes/classic/partials/_pinboard.scss delete mode 100644 sass/themes/classic/partials/_search.scss delete mode 100644 sass/themes/classic/partials/_sidebar.scss delete mode 100644 sass/themes/classic/partials/_syntax.scss delete mode 100644 sass/themes/classic/partials/_twitter.scss create mode 120000 source delete mode 100644 source/_includes/article.html delete mode 100644 source/_includes/delicious.html delete mode 100644 source/_includes/disqus_thread.html delete mode 100644 source/_includes/footer.html delete mode 100644 source/_includes/google_analytics.html delete mode 100644 source/_includes/head.html delete mode 100644 source/_includes/header.html delete mode 100644 source/_includes/navigation.html delete mode 100644 source/_includes/pinboard.html delete mode 100644 source/_includes/sidebar.html delete mode 100644 source/_includes/twitter.html delete mode 100644 source/_layouts/archive_monthly.html delete mode 100644 source/_layouts/archive_yearly.html delete mode 100644 source/_layouts/default.html delete mode 100644 source/_layouts/page.html delete mode 100644 source/_layouts/post.html delete mode 100644 source/_posts/2009-11-13-hello-world.markdown delete mode 100644 source/_posts/2011-03-14-test-post.markdown delete mode 100644 source/_posts/2011-04-07-test-of-typography.markdown delete mode 100644 source/about.haml delete mode 100644 source/archive.html delete mode 100644 source/atom.xml delete mode 100755 source/fonts/adellebasic_bold-webfont.eot delete mode 100755 source/fonts/adellebasic_bold-webfont.svg delete mode 100755 source/fonts/adellebasic_bold-webfont.ttf delete mode 100755 source/fonts/adellebasic_bold-webfont.woff delete mode 100644 source/images/code_bg.png delete mode 100644 source/images/rss.png delete mode 100644 source/images/search.png delete mode 100644 source/index.html delete mode 100644 source/javascripts/libs/ender.js delete mode 100644 source/javascripts/libs/ender.min.js delete mode 100644 source/javascripts/libs/ie/DOMAssistantComplete-2.8.js delete mode 100644 source/javascripts/libs/ie/respond.js delete mode 100644 source/javascripts/libs/ie/selectivizr-1.0.1.js delete mode 100644 source/javascripts/libs/ios-viewport-scaling-bug-fix.js delete mode 100644 source/javascripts/libs/jXHR.js delete mode 100644 source/javascripts/libs/json2.js delete mode 100644 source/javascripts/libs/modernizr-1.7.js delete mode 100644 source/javascripts/octopress.js delete mode 100644 source/javascripts/pinboard.js delete mode 100644 source/javascripts/syntax-helper.js delete mode 100644 source/javascripts/twitter.js delete mode 100644 source/test/syntax.html delete mode 100644 source/test/typography.haml diff --git a/.gitignore b/.gitignore index 234b790..ede4f23 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ -site .bundle .DS_Store .sass-cache +.gist_cache +_cache +source +sass +public source/_stash -source/stylesheets source/javascripts/libs/node_modules source/javascripts/libs/syntax-highlighter vendor/ruby -_cache -.gist_cache -public diff --git a/Rakefile b/Rakefile index caec0ce..85d7be8 100644 --- a/Rakefile +++ b/Rakefile @@ -29,18 +29,40 @@ def ok_failed(condition) end end +desc "Initial setup for Octopress: copies the default theme into the path of Jekyll's generator. rake install defaults to rake install[classic] to install a different theme run rake install[some_theme_name]" +task :install, :theme do |t, args| + # copy theme into working Jekyll directories + theme = args.theme || 'classic' + puts "## Copying "+theme+" theme to Jekyll paths" + system "cp -R themes/"+theme+"/source source" + system "cp -R themes/"+theme+"/sass sass" + system "cp -R themes/"+theme+"/_plugins/ _plugins/" + + # The directories source and sass are ignored for development, but when Octopress is installed + # Users must be able to commit these directories, so this removes those lines from the gitignore + puts "## Cleaning up..." + new_content = "" + File.read('.gitignore').each_line do |e| + new_content << e unless e.strip == 'source' || e.strip == 'sass' + end + File.open('.gitignore', 'w') do |io| + io << new_content + end +end + ## if you're deploying with github, change the default deploy to push_github desc "default push task" task :push => [:push_rsync] do end desc "Generate and deploy task" -task :deploy => [:integrate, :generate, :clean_debug, :push] do +task :deploy => [:integrate, :generate, :push] do end -desc "generate website in output directory" -task :generate => [:generate_site, :generate_style] do - puts ">>> Site Generating Complete! <<<\n\n>>> Refresh your browser <<<" +desc "Generate jekyll site" +task :generate do + puts "## Generating Site with Jekyll" + system "jekyll" end # usage rake post[my-new-post] or rake post['my new post'] or rake post (defaults to "new-post") @@ -78,29 +100,6 @@ task :list do puts "(type rake -T for more detail)\n\n" end -desc "remove files in output directory" -task :clean do - puts ">>> Removing output <<<" - Dir["#{site}/*"].each { |f| rm_rf(f) } -end - -task :clean_debug do - puts ">>> Removing debug pages <<<" - Dir["#{site}/test"].each { |f| rm_rf(f) } -end - -desc "Generate styles only" -task :generate_style do - puts ">>> Generating styles <<<" - system "compass compile" -end - -desc "Generate site files only" -task :generate_site => [:clean, :generate_style] do - puts "\n\n>>> Generating site files <<<" - system "jekyll" -end - desc "Watch the site and regenerate when it changes" task :watch do system "trap 'kill $jekyllPid $guardPid $compassPid' Exit; jekyll --auto & jekyllPid=$!; compass watch & compassPid=$!; guard & guardPid=$!; wait" @@ -108,35 +107,35 @@ end desc "generate and deploy website via rsync" multitask :push_rsync do - puts ">>> Deploying website via Rsync <<<" + puts "## Deploying website via Rsync" ok_failed system("rsync -avz --delete #{site}/ #{ssh_user}:#{document_root}") end desc "deploy website to github user pages" multitask :push_github do - puts ">>> Deploying #{deploy_branch} branch to Github Pages <<<" + puts "## Deploying #{deploy_branch} branch to Github Pages " require 'git' repo = Git.open('.') - puts "\n>>> Checking out #{deploy_branch} branch <<<\n" + puts "\n## Checking out #{deploy_branch} branch \n" repo.branch("#{deploy_branch}").checkout (Dir["*"] - ["#{site}"]).each { |f| rm_rf(f) } Dir["#{site}/*"].each {|f| mv(f, ".")} rm_rf("#{site}") - puts "\n>>> Moving generated /#{site} files <<<\n" + puts "\n## Moving generated /#{site} files \n" Dir["**/*"].each {|f| repo.add(f) } repo.status.deleted.each {|f, s| repo.remove(f)} - puts "\n>>> Commiting: Site updated at #{Time.now.utc} <<<\n" + puts "\n## Commiting: Site updated at #{Time.now.utc} \n" message = ENV["MESSAGE"] || "Site updated at #{Time.now.utc}" repo.commit(message) - puts "\n>>> Pushing generated /#{site} files to #{deploy_branch} branch <<<\n" + puts "\n## Pushing generated /#{site} files to #{deploy_branch} branch\n" repo.push - puts "\n>>> Github Pages deploy complete <<<\n" + puts "\n## Github Pages deploy complete\n" repo.branch("#{source_branch}").checkout end desc "start up a web server on the output files" task :start_server => :stop_server do - print "Starting serve..." + print "## Starting serve..." system("serve #{site} #{port} > /dev/null 2>&1 &") sleep 1 pid = `ps auxw | awk '/bin\\/serve #{site} #{port}/ { print $2 }'`.strip @@ -148,9 +147,9 @@ desc "stop the web server" task :stop_server do pid = `ps auxw | awk '/bin\\/serve #{site} #{port}/ { print $2 }'`.strip if pid.empty? - puts "Adsf is not running" + puts "## Adsf is not running" else - print "Stoping adsf..." + print "## Stoping adsf..." ok_failed system("kill -9 #{pid}") end end diff --git a/_config.yml b/_config.yml index 81c3eb8..51cdc56 100644 --- a/_config.yml +++ b/_config.yml @@ -1,25 +1,41 @@ +# Required configuration source: source destination: public -markdown: rdiscount -pygments: true url: http://yoursite.com title: My Octopress Blog author: Your Name -email: you@domain.com #Add your email (optional) for the atom feed +subscribe_rss: /atom.xml +subscribe_email: http://feedburner.com/asdfasdf + +markdown: rdiscount +pygments: true +recent_posts: 1 simple_search: http://google.com/search -recent_posts: 20 +# Optional configurations -twitter_user: imathis -tweet_count: 3 -show_replies: false +# For RSS +email: +# Twitter +#twitter_user: imathis +twitter_tweet_count: 4 +twitter_show_replies: false +twitter_follow_button: true +twitter_show_follower_count: false +twitter_tweet_button: true + +# Pinboard +#pinboard_user: imathis +pinboard_count: 3 + +# Delicious delicious_user: delicious_count: 3 -pinboard_user: imathis -pinboard_count: 3 +# Disqus Comments +disqus_short_name: -#disqus_short_name: designenthusiast +# Google Analytics google_analytics_tracking_id: diff --git a/sass/screen.scss b/sass/screen.scss deleted file mode 100644 index c090c3b..0000000 --- a/sass/screen.scss +++ /dev/null @@ -1,17 +0,0 @@ -@import "compass"; - - -@include global-reset; - -@include reset-html5; - -/* SASS mixins */ -//@import "library/typography"; - -/* primary SASS */ -//@import "theme"; -//@import "typography"; -@import "themes/classic/style"; - -/* specific SASS */ -//@import "partials"; diff --git a/sass/themes/classic/_partials.scss b/sass/themes/classic/_partials.scss deleted file mode 100644 index 4ca98c0..0000000 --- a/sass/themes/classic/_partials.scss +++ /dev/null @@ -1,12 +0,0 @@ -//@import "partials/shared"; -//@import "partials/search"; - -/* layout partials */ -@import "partials/header"; -@import "partials/navigation"; -@import "partials/page"; -@import "partials/sidebar"; -@import "partials/blog"; -@import "partials/footer"; - -@import "partials/syntax"; diff --git a/sass/themes/classic/_style.scss b/sass/themes/classic/_style.scss deleted file mode 100644 index 7042136..0000000 --- a/sass/themes/classic/_style.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import "core/theme"; -@import "core/layout"; -@import "core/typography"; -@import "partials"; diff --git a/sass/themes/classic/core/_layout.scss b/sass/themes/classic/core/_layout.scss deleted file mode 100644 index 3c9bbc4..0000000 --- a/sass/themes/classic/core/_layout.scss +++ /dev/null @@ -1,94 +0,0 @@ -a { - color: $link_color; - &:hover, &:focus { - color: saturate(darken($link_color, 15), 20); } - &:visited { - color: darken(adjust_hue($link_color, 70), 10); - } -} - -$min-width: 320px; -$max-width: 1440px; -$default-border-radius: 4px; - -.group { @include pie-clearfix; } -.core-layout { > div { @extend .inner-wrap; } } - -body { - > header, > nav, > footer { - @extend .core-layout; - min-width: $min-width; - } -} - - -@mixin media-layout($page-pad, $sidebar-width, $sidebar-pad) { - $side-nav: $sidebar-width - $page-pad - $sidebar-pad; - - .inner-wrap { - padding: 0 $page-pad; - position: relative; - margin: 0 auto; - max-width: $max-width; - @extend .group; - } - - body > nav + div { - @extend .group; - padding: 0; - max-width: $max-width + $page-pad*2; - margin: 0 auto; - > div { - @extend .group; - margin-right: $sidebar-width; - } - } - body > nav > div > div { width: $side-nav; - .search { width: $side-nav - 70px; } - } - - #articles { - float: left; - width: 100%; - padding-top: 25px; - padding-bottom: 25px; - > * { - padding-right: $page-pad; - padding-left: $page-pad; - } - > article { - margin-bottom: 1.5em; - padding-bottom: 1.5em; - padding-right: $page-pad; - padding-left: $page-pad; - } - + aside { - display: block; - float: left; - width: $sidebar-width - $sidebar-pad*2; - margin: 0 -100% 0 0; - padding: 0 $sidebar-pad $sidebar-pad; - } - } -} - -@media only screen and (min-width: 320px) { - @import "../media/480"; -} - -@media only screen and (min-width: 768px) { - @include media-layout(15px, 240px, 15px); - @import "../media/768"; -} - -@media only screen and (min-width: 992px) { - @include media-layout(40px, 320px, 30px); - @import "../media/992"; -} - - -//*{ - //transition: width .5s; - //-moz-transition: width .5s; - //-webkit-transition: margin .5s; -//} diff --git a/sass/themes/classic/core/_theme.scss b/sass/themes/classic/core/_theme.scss deleted file mode 100644 index b9e67a2..0000000 --- a/sass/themes/classic/core/_theme.scss +++ /dev/null @@ -1,44 +0,0 @@ -// Link Colors -$link-color: lighten(#165b94, 3); -$link-color-hover: darken(#165b94, 5); - -// Main Section Colors -$body-color: #333333; -$light-text: #999999; -$body-bg: #323232; - -$header-bg: #323232; -$header-border: #181818; -$title-color: #dddddd; - -$nav-color: #555555; -$nav-color_hover: black; -$nav-bg: #e8e8e8; -$nav-border_top: white; -$nav-border_bottom: #aaaaaa; -$nav-border_left: #cccccc; -$nav-border_right: white; - -$sidebar-bg: #f2f2f2; -$sidebar-border: #d5d5d5; - -// Blog -$article-border: #eeeeee; -$main-bg: #fff; - -$footer-color: #999999; -$footer-bg: #444444; - -// Form Colors -$fieldset-bg: #ececec; -$fieldset-border: #c3c3c3; - -$textinput-color: #333333; -$textinput-bg: #f4f4f4; -$textinput-bg-focus: #fefeee; - -$textinput-border-top: #aaaaaa; -$textinput-border-bottom: #c6c6c6; -$textinput-border-left: #c3c3c3; -$textinput-border-right: #c3c3c3; -$textinput-border-focus: #989898; diff --git a/sass/themes/classic/core/_typography.scss b/sass/themes/classic/core/_typography.scss deleted file mode 100644 index 61693c7..0000000 --- a/sass/themes/classic/core/_typography.scss +++ /dev/null @@ -1,155 +0,0 @@ -$type-border: #ddd; -$type-color-light: #555; -$type-color: #000; -$blockquote: $type-border !default; //darken($type-border, 20) !default; -$mono: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace; - -// Fonts -@include font-face("Adelle", font-files("adellebasic_bold-webfont.woff", woff, "adellebasic_bold-webfont.ttf", truetype, "adellebasic_bold-webfont.svg#webfontKykxqSyz", svg), $eot: "adellebasic_bold-webfont.eot" ); -.heading { font-family: Adelle, "Helvetica Neue", Arial, sans-serif; } -.sans { font-family: "Helvetica Neue", Arial, sans-serif; } -.mono { font-family: $mono; } - -body > header h1 { - font-size: 3em; - @extend .heading; - line-height: 1.2em; - margin-bottom: 0.6667em; -} - - -body { - font-size: 1em; - line-height: 1.5em; - color: $type-color; - font-family: Georgia, Times, serif; -} - -article { - &:last-child { border-bottom: none; } - h2 { - padding-top: 0.8em; - border-top: 3px double $type-border; - } - .byline + time:before, .byline + time +time:before { - content: "\2022 "; - padding: 0 .3em 0 .2em; - display: inline-block; - @include opacity(.5); - } - time span { - font-size: .7em; - line-height: 0; - position: relative; - top: -.4em; - } - header { - p { - padding: 0 0 1.5em; - font-size: .8em; - color: $type-color-light; - font-family: Palatino, Times, "Times New Roman"; - margin-top: -1.4em; - } - } -} - -#{headings()}{ - @extend .heading; font-weight: normal; - line-height: 1em; - text-rendering: optimizelegibility; -} -h1 { - font-size: 2.6em; - margin-bottom: 0.6667em; -} -h2, section h1 { - font-size: 1.8em; - margin-bottom: 0.6667em; -} -h3, section h2, section section h1 { - font-size: 1.6em; - margin-bottom: 0.875em; -} -h4, section h3, section section h2, section section section h1 { - font-size: 1.3em; - margin-bottom: 0.875em; -} -h5, section h4, section section h3 { - font-size: 1.1em; - margin-bottom: 0.75em; -} -h6, section h5, section section h4, section section section h3 { - font-size: 1em; - margin-bottom: 0.5em; -} -p, blockquote, ul, ol { margin-bottom: 1.5em; } - -ul{ list-style-type: disc; } - -ol{ list-style-type: decimal; ol { list-style-type: lower-alpha; } } -ul ul, ol ol { margin-left: 1.75em; } - -li { margin-bottom: .5em; } - -strong { font-weight: bold; } - -em { font-style: italic; } - -sup, sub { font-size: 0.8em; position: relative; display: inline-block; } -sup { top: -.5em; } -sub { bottom: -.5em; } - -q { font-style: italic; - &:before { content: "\201C"; } - &:after { content: "\201D"; } -} - -em, dfn { font-style: italic; } - -strong, dfn { font-weight: bold; } - -del, s { text-decoration: line-through; } - -abbr, acronym { border-bottom: 1px dotted; cursor: help; } - -pre, code, tt { @extend .mono-font; } - -sub, sup { line-height: 0; } - -hr { margin-bottom: 0.2em; } - -small { font-size: .8em; } - -big { font-size: 1.2em; } - -blockquote { - $bq-margin: 2em; - font-style: italic; - position: relative; - margin-left: $bq-margin; - > p { - &:first-child:before { - content: "\201C"; - position: absolute; - top: 0.1em; - left: -.7em; - font-size: 3em; - color: $blockquote; - } - &:last-child:after { - content: "\201D"; - position: relative; - top: 0.3em; - line-height: 0; - font-size: 2em; - color: $blockquote; - } - } - + p > cite { - margin-left: $bq-margin; - text-align: right; - &:before { content: '– '; color: $type-color-light; } - a { font-style: italic; } - } -} diff --git a/sass/themes/classic/media/_480.scss b/sass/themes/classic/media/_480.scss deleted file mode 100644 index e6f0613..0000000 --- a/sass/themes/classic/media/_480.scss +++ /dev/null @@ -1,16 +0,0 @@ -body { - > header, > nav, > footer { - > div { - padding-left: .5em; - padding-right: .5em; - } - } - > header { font-size: .7em; padding: .5em 0; } -} -#articles { font-size: .9em; line-height: 1.5em; - > article { padding: .5em; } - + aside { display: none; } -} -body > nav > div > div { width: 180px; - .search { width: 110px; } -} diff --git a/sass/themes/classic/media/_768.scss b/sass/themes/classic/media/_768.scss deleted file mode 100644 index d8c61d5..0000000 --- a/sass/themes/classic/media/_768.scss +++ /dev/null @@ -1,16 +0,0 @@ -body > header, body #articles { - font-size: .95em; -} - -//body { - //> header, > nav, > footer { - //> div { padding: 0 15px; } - //} -//} -//#page > div { - //margin-right: 0; - //#main { float: none; } - //> aside { margin: 0; float: none; } -//} -//page > div > aside { float: none; } -//#main > * { padding-left: 15px; padding-right: 15px; } diff --git a/sass/themes/classic/media/_992.scss b/sass/themes/classic/media/_992.scss deleted file mode 100644 index f7c643b..0000000 --- a/sass/themes/classic/media/_992.scss +++ /dev/null @@ -1,3 +0,0 @@ -body > header, body #articles { - font-size: 1.05em; -} diff --git a/sass/themes/classic/partials/_blog.scss b/sass/themes/classic/partials/_blog.scss deleted file mode 100644 index 1dd255d..0000000 --- a/sass/themes/classic/partials/_blog.scss +++ /dev/null @@ -1,20 +0,0 @@ -article { - .title { - text-decoration: none; - &:hover { - text-decoration: underline; } } - .entry { - border-bottom: 1px solid $article-border; - &:first-child { - padding-top: 0; } } - #disqus_thread { } - .meta { - border-bottom: 1px dashed #dddddd; - text-transform: uppercase; - color: #777777; - padding: 8px 0 5px; - margin-bottom: 1.5em; - font-size: 75%; - letter-spacing: 1px; } - .footer { - padding-top: 15px; } } diff --git a/sass/themes/classic/partials/_footer.scss b/sass/themes/classic/partials/_footer.scss deleted file mode 100644 index 08e6138..0000000 --- a/sass/themes/classic/partials/_footer.scss +++ /dev/null @@ -1,11 +0,0 @@ -footer { - @include background(linear-gradient(darken($body-bg, 5), $body-bg)); - //color: $footer-color; - //border-top: 10px solid $footer-bg; - padding: 15px 0; - position: relative; - z-index: 2; - a { - color: #dddddd; - &:hover { - color: white; } } } diff --git a/sass/themes/classic/partials/_header.scss b/sass/themes/classic/partials/_header.scss deleted file mode 100644 index ba7993a..0000000 --- a/sass/themes/classic/partials/_header.scss +++ /dev/null @@ -1,13 +0,0 @@ -body > header { - background-color: $header_bg; - border-bottom: 1px solid $header_border; - h1 { - display: inline-block; - margin: 0; - a, a:visited { - font-weight: normal; - color: $title_color; - text-decoration: none; - } - } -} diff --git a/sass/themes/classic/partials/_navigation.scss b/sass/themes/classic/partials/_navigation.scss deleted file mode 100644 index 3068503..0000000 --- a/sass/themes/classic/partials/_navigation.scss +++ /dev/null @@ -1,67 +0,0 @@ -body > nav { - > div > div { - float: right; - position: relative; - padding: .45em 0 0 0; - a { - float: right; - @include replace-text-with-dimensions('rss.png'); - } - form { - margin: 0; padding: 0; - @include background-clip(padding-box); - input[type='text']{ - margin: 0; - @include border-radius(1em); - float: left; - border: 1px solid #ccc; - color: #888; - background: image-url('search.png') no-repeat .5em .4em #f6f6f6; - padding: .4em .8em .1em 1.8em; - line-height: 1.35em; - font-size: .85em; - &:focus { - color: #444; - border-color: #80b1df; - @include box-shadow(#80b1df 0 0 4px, #80b1df 0 0 3px inset); - background-color: #fff; - outline: none; - } - } - } - } - @extend .group; - position: relative; - z-index: 1; - background-color: $nav-bg; - @include background-image(linear-gradient(#fcfcfc, #f4f4f4 0.3, #dddddd)); - border: { - top: 1px solid $nav-border-top; - bottom: 1px solid $nav-border-bottom; }; - ul { - position: relative; - @include horizontal-list; - margin: 0 auto; - padding: .5em 0; - } - ul li { - padding: 0 1em; - margin: 0; - border-left: 1px solid $nav-border-left; - border-right: 1px solid $nav-border-right; - &:first-child { - border-left: none; - padding-left: 0; } - &:last-child { - border-right: 0; } - a { - display: inline-block; - color: $nav-color; - line-height: 150%; - text-decoration: none; - &:hover { - color: $nav-color-hover; - } - } - } -} diff --git a/sass/themes/classic/partials/_page.scss b/sass/themes/classic/partials/_page.scss deleted file mode 100644 index 414a37e..0000000 --- a/sass/themes/classic/partials/_page.scss +++ /dev/null @@ -1,8 +0,0 @@ -body { - background-color: $sidebar_bg; -} - -body > div > div { - background-color: $main_bg; border-right: 1px solid $sidebar_border; - //@include box-shadow(rgba(#000, .1) 0 0 18px); -} diff --git a/sass/themes/classic/partials/_pinboard.scss b/sass/themes/classic/partials/_pinboard.scss deleted file mode 100644 index 60fd1ee..0000000 --- a/sass/themes/classic/partials/_pinboard.scss +++ /dev/null @@ -1,15 +0,0 @@ -#pinboard_linkroll { - .pin-title, .pin-description { - display: block; - margin-bottom: .5em; - } - .pin-tag { - @extend .aside-alt-link; - &:after { - content: ','; - } - &:last-child:after { - content: ''; - } - } -} diff --git a/sass/themes/classic/partials/_search.scss b/sass/themes/classic/partials/_search.scss deleted file mode 100644 index e69de29..0000000 diff --git a/sass/themes/classic/partials/_sidebar.scss b/sass/themes/classic/partials/_sidebar.scss deleted file mode 100644 index ecad7a7..0000000 --- a/sass/themes/classic/partials/_sidebar.scss +++ /dev/null @@ -1,54 +0,0 @@ -.side-shadow-border { - @include box-shadow(#fff 0 1px); -} -#articles + aside { - section { - @extend .sans; - font-size: .8em; - line-height: 1.5em; - margin-bottom: 1.5em; - h1 { - margin: 1.5em 0 0; - padding-bottom: .2em; - border-bottom: 1px solid #ddd; - @extend .side-shadow-border; - + p { - padding-top: .4em; - } - } - } - ul { - margin-bottom: 0.5em; - } - li { - list-style: none; - padding: .5em 0; - margin: 0; - border-bottom: 1px solid #ddd; - @extend .side-shadow-border; - p:last-child { - margin-bottom: 0; - } - } - a { - color: inherit; - @include transition(color, .5s); - } - &:hover a, &:hover #tweets a { color: $link-color; } - @import "twitter"; - @import "pinboard"; - #recent_posts { - time { - text-transform: uppercase; - font-size: .9em; - color: #666; - } - } -} -.aside-alt-link { - color: #999; - text-decoration: none; - &:hover { - color: #555; - } -} diff --git a/sass/themes/classic/partials/_syntax.scss b/sass/themes/classic/partials/_syntax.scss deleted file mode 100644 index 5797c28..0000000 --- a/sass/themes/classic/partials/_syntax.scss +++ /dev/null @@ -1,167 +0,0 @@ -$base03: #002b36; //darkest blue -$base02: #073642; //dark blue -$base01: #586e75; //darkest gray -$base00: #657b83; //dark gray -$base0: #839496; //medium gray -$base1: #93a1a1; //medium light gray -$base2: #eee8d5; //cream -$base3: #fdf6e3; //white -$yellow: #b58900; -$orange: #cb4b16; -$red: #dc322f; -$magenta: #d33682; -$violet: #6c71c4; -$blue: #268bd2; -$cyan: #2aa198; -$green: #859900; - -// If you prefer light colors, uncomment the following block to change themes -//$base03: $base3; -//$base02: $base2; -//$base01: $base1; -//$base00: $base0; -//$base0: $base00; -//$base1: $base01; -//$base2: $base02; -//$base3: $base03; - -.gutter { - .line-numbers { - text-align: right; - background: $base02 !important; - border-right: 1px solid darken($base03, 2); - @include box-shadow(lighten($base02, 2) -1px 0 inset); - text-shadow: darken($base02, 10) 0 -1px; - span { color: $base01 !important; } - } -} -html .gist .gist-file { - margin-bottom: 1.5em; - border: none; - .gist-syntax { - border-bottom: 1px solid #515151 !important; - .gist-highlight{ - background: $base03 !important; - pre { - @extend .pre; - overflow-y: hidden; - overflow-x: auto; - } - } - } - .gist-meta { - @include background(linear-gradient(#b0b0b0, #a7a7a7)); - padding: 0.5em; - background-color: #bababa !important; - border: 1px solid #9c9c9c; - border-top: 1px solid #d0d0d0; - border-bottom: 1px solid #777777; - font-size: .7em !important; - font-family: "Helvetica Neue", Arial, sans-serif !important; - color: #464646 !important; - line-height: 1.4em; - } -} -pre { @extend .pre; } - -.pre { - @extend .mono; - font-size: .8em; - line-height: 1.45em; - padding: 1em 1.2em !important; - background: $base03 !important; - color: $base1 !important; - span { color: $base1 !important; } - span { font-style: normal !important; font-weight: normal !important; } - - .c { color: $base01 !important; font-style: italic !important; } /* Comment */ - .cm { color: $base01 !important; font-style: italic !important; } /* Comment.Multiline */ - .cp { color: $base01 !important; font-style: italic !important; } /* Comment.Preproc */ - .c1 { color: $base01 !important; font-style: italic !important; } /* Comment.Single */ - .cs { color: $base01 !important; font-weight: bold !important; font-style: italic !important; } /* Comment.Special */ - .err { color: $red !important; background: none !important; } /* Error */ - .k { color: $orange !important; } /* Keyword */ - .o { color: $base1 !important; font-weight: bold !important; } /* Operator */ - .p { color: $base1 !important; } /* Operator */ - .ow { color: $cyan !important; font-weight: bold !important; } /* Operator.Word */ - .gd { color: $base1 !important; background-color: mix($red, $base03, 25%) !important; display: block; } /* Generic.Deleted */ - .gd .x { color: $base1 !important; background-color: mix($red, $base03, 35%) !important; display: block; } /* Generic.Deleted.Specific */ - .ge { color: $base1 !important; font-style: italic !important; } /* Generic.Emph */ - //.gr { color: #aa0000 } /* Generic.Error */ - .gh { color: $base01 !important; } /* Generic.Heading */ - .gi { color: $base1 !important; background-color: mix($green, $base03, 20%) !important; display: block; } /* Generic.Inserted */ - .gi .x { color: $base1 !important; background-color: mix($green, $base03, 40%) !important; display: block; } /* Generic.Inserted.Specific */ - //.go { color: #888888 } /* Generic.Output */ - //.gp { color: #555555 } /* Generic.Prompt */ - .gs { color: $base1 !important; font-weight: bold !important; } /* Generic.Strong */ - .gu { color: $violet !important; } /* Generic.Subheading */ - //.gt { color: #aa0000 } /* Generic.Traceback */ - .kc { color: $green !important; font-weight: bold !important; } /* Keyword.Constant */ - .kd { color: $blue !important; } /* Keyword.Declaration */ - .kp { color: $orange !important; font-weight: bold !important; } /* Keyword.Pseudo */ - .kr { color: $magenta !important; font-weight: bold !important; } /* Keyword.Reserved */ - .kt { color: $cyan !important; } /* Keyword.Type */ - .n { color: $blue !important; } - .na { color: $blue !important; } /* Name.Attribute */ - .nb { color: $green !important; } /* Name.Builtin */ - //.nc { color: #445588; font-weight: bold } /* Name.Class */ - .no { color: $yellow !important; } /* Name.Constant */ - //.ni { color: #800080 } /* Name.Entity */ - .ne { color: $blue !important; font-weight: bold !important; } /* Name.Exception */ - .nf { color: $blue !important; font-weight: bold !important; } /* Name.Function */ - .nn { color: $yellow !important; } /* Name.Namespace */ - .nt { color: $blue !important; font-weight: bold !important; } /* Name.Tag */ - .nx { color: $yellow !Important; } - //.bp { color: #999999 } /* Name.Builtin.Pseudo */ - //.vc { color: #008080 } /* Name.Variable.Class */ - .vg { color: $blue !important; } /* Name.Variable.Global */ - .vi { color: $blue !important; } /* Name.Variable.Instance */ - .nv { color: $blue !important; } /* Name.Variable */ - //.w { color: #bbbbbb } /* Text.Whitespace */ - .mf { color: $cyan !important; } /* Literal.Number.Float */ - .m { color: $cyan !important; } /* Literal.Number */ - .mh { color: $cyan !important; } /* Literal.Number.Hex */ - .mi { color: $cyan !important; } /* Literal.Number.Integer */ - //.mo { color: #009999 } /* Literal.Number.Oct */ - .s { color: $cyan !important; } /* Literal.String */ - //.sb { color: #d14 } /* Literal.String.Backtick */ - //.sc { color: #d14 } /* Literal.String.Char */ - .sd { color: $cyan !important; } /* Literal.String.Doc */ - .s2 { color: $cyan !important; } /* Literal.String.Double */ - .se { color: $red !important; } /* Literal.String.Escape */ - //.sh { color: #d14 } /* Literal.String.Heredoc */ - .si { color: $blue !important; } /* Literal.String.Interpol */ - //.sx { color: #d14 } /* Literal.String.Other */ - .sr { color: $cyan !important; } /* Literal.String.Regex */ - .s1 { color: $cyan !important; } /* Literal.String.Single */ - //.ss { color: #990073 } /* Literal.String.Symbol */ - //.il { color: #009999 } /* Literal.Number.Integer.Long */ -} - -.highlight { - margin-bottom: 1.5em; - overflow-y: hidden; - .gutter pre { - padding-left: .8em !important; - padding-right: .8em !important; - } -} - -h3.filename { - font-size: 13px; - line-height: 2em; - text-align: center; - text-shadow: #cbcccc 0 1px 0; - color: #474747; - font-style: normal; - margin-bottom: 0; - - @include border-top-radius(5px); - font-family: "Helvetica Neue",Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif; - background: #aaaaaa image-url("code_bg.png") top repeat-x; - border: 1px solid #565656; - border-top-color: #cbcbcb; - border-left-color: #a5a5a5; - border-right-color: #a5a5a5; - border-bottom: 0; -} diff --git a/sass/themes/classic/partials/_twitter.scss b/sass/themes/classic/partials/_twitter.scss deleted file mode 100644 index eabe347..0000000 --- a/sass/themes/classic/partials/_twitter.scss +++ /dev/null @@ -1,49 +0,0 @@ -#tweets { - a { - color: #666; - text-decoration: none; - &:hover { text-decoration: underline; } - } - li:hover a[href*='status']{ - color: #666; - } - p { - position: relative; - padding-right: 1.4em; - } - a[href*='status']{ - color: #ccc; - position: absolute; - top: 0; - right: -.5em; - text-decoration: none; - padding: 0 .5em .1em; - text-shadow: #fff 0 1px; - span:last-child { - display: none; - font-size: .7em; - } - span:first-child { - font-size: 1.1em; - } - &:hover { - span:first-child{ display: none; } - span:last-child{ display: inline-block; } - background: #e5e5e5; - @include box-shadow($sidebar-bg -2px 2px 8px 8px); - @include border-radius(1em); - text-decoration: none; - line-height: 1.2em; - span:last-child { - color: #444; - //text-shadow: #eee 0 1px; - } - } - } - a[href*='twitter.com/search']{ - @extend .aside-alt-link; - &:hover { - text-decoration: underline; - } - } -} diff --git a/source b/source new file mode 120000 index 0000000..eac5b34 --- /dev/null +++ b/source @@ -0,0 +1 @@ +themes/classic/source \ No newline at end of file diff --git a/source/_includes/article.html b/source/_includes/article.html deleted file mode 100644 index 3481cf2..0000000 --- a/source/_includes/article.html +++ /dev/null @@ -1,30 +0,0 @@ -
- {% if index %} -

{{ page.title }}

- {% else %} -

{{ page.title }}

- {% endif %} - {% unless page.nometa %} - {% if page.author %} - {% assign author = page.author %} - {% else %} - {% assign author = site.author %} - {% endif %} -

- {% if author %} - - {% endif %} - {% if page.date %} - - {% endif %} - {% if page.updated %} - - {% endif %} -

- {% endunless %} -
-{% if index %} -
{{ content | exerpt(content, page.url, 'Continue reading »') | smart_quotes }}
-{% else %} -
{{ content | smart_quotes }}
-{% endif %} diff --git a/source/_includes/delicious.html b/source/_includes/delicious.html deleted file mode 100644 index 02b9e6b..0000000 --- a/source/_includes/delicious.html +++ /dev/null @@ -1,3 +0,0 @@ -

On Delicious

- -

My Delicious Bookmarks »

diff --git a/source/_includes/disqus_thread.html b/source/_includes/disqus_thread.html deleted file mode 100644 index 036b9d7..0000000 --- a/source/_includes/disqus_thread.html +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/source/_includes/footer.html b/source/_includes/footer.html deleted file mode 100644 index 5b40083..0000000 --- a/source/_includes/footer.html +++ /dev/null @@ -1,11 +0,0 @@ -

- Copyright © {{ site.time | date: "%Y" }} - {{ site.author }} - - Powered by Octopress -

-{% if site.pinboard_user %} - - -{% endif %} diff --git a/source/_includes/google_analytics.html b/source/_includes/google_analytics.html deleted file mode 100644 index b659a63..0000000 --- a/source/_includes/google_analytics.html +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/source/_includes/head.html b/source/_includes/head.html deleted file mode 100644 index b311ca6..0000000 --- a/source/_includes/head.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - {% if page.title %} - {{site.title}}: {{page.title}}{% if site.author %} - {{ site.author }}{% endif %} - {% else %} - {{site.title}}{% if site.author %} - {{ site.author }}{% endif %} - {% endif %} - - {% if page.description %} - - {% endif %} - - - - - - - {% if page.keywords %} - - {% endif %} - - - - - - - - - - {% if site.google_analytics_tracking_id %} - {% include google_analytics.html %} - {% endif %} - - diff --git a/source/_includes/header.html b/source/_includes/header.html deleted file mode 100644 index 4e0519e..0000000 --- a/source/_includes/header.html +++ /dev/null @@ -1 +0,0 @@ -

{{ site.title }}

diff --git a/source/_includes/navigation.html b/source/_includes/navigation.html deleted file mode 100644 index 23f594e..0000000 --- a/source/_includes/navigation.html +++ /dev/null @@ -1,11 +0,0 @@ -
- Subscribe -
- - -
-
- diff --git a/source/_includes/pinboard.html b/source/_includes/pinboard.html deleted file mode 100644 index 3cd269d..0000000 --- a/source/_includes/pinboard.html +++ /dev/null @@ -1,3 +0,0 @@ -

My Pinboard

- -

My Pinboard Bookmarks »

diff --git a/source/_includes/sidebar.html b/source/_includes/sidebar.html deleted file mode 100644 index 0389046..0000000 --- a/source/_includes/sidebar.html +++ /dev/null @@ -1,26 +0,0 @@ -
-

About Me

-

Hi, I'm Octopress!

-
-{% if page.single and site.recent_posts %} -
-

Recent Posts

- -
-{% endif %} -{% if site.twitter_user %} -
{% include twitter.html %}
-{% endif %} -{% if site.delicious_user %} -
{% include delicious.html %}
-{% endif %} -{% if site.pinboard_user %} -
{% include pinboard.html %}
-{% endif %} - diff --git a/source/_includes/twitter.html b/source/_includes/twitter.html deleted file mode 100644 index 81f2ceb..0000000 --- a/source/_includes/twitter.html +++ /dev/null @@ -1,13 +0,0 @@ -

Latest Tweets

- -

Follow @{{ site.twitter_user }}

-{% if site.twitter_user %} - - -{% endif %} diff --git a/source/_layouts/archive_monthly.html b/source/_layouts/archive_monthly.html deleted file mode 100644 index 85ada6d..0000000 --- a/source/_layouts/archive_monthly.html +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: default ---- -
-
-

{{ page.month | date_to_month }} {{ page.year }}

-

Posts from {{ page.month | date_to_month }}, {{ page.year }}

-
    - {% for d in (1..31) reversed %} - {% if page.collated_posts[page.year][page.month][d] %} - {% for p in page.collated_posts[page.year][page.month][d] reversed %} -
  • {{ p.title }}
  • - {% endfor %} - {% endif %} - {% endfor %} -
-
-
- diff --git a/source/_layouts/archive_yearly.html b/source/_layouts/archive_yearly.html deleted file mode 100644 index dabebeb..0000000 --- a/source/_layouts/archive_yearly.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: default ---- -
-
-

{{ page.year }}

-

Posts from the year {{ page.year }}

- {% for m in (1..12) reversed %} - {% if page.collated_posts[page.year][m] %} -

{{ m | date_to_month }}

- {% for d in (1..31) reversed %} - {% if page.collated_posts[page.year][m][d] %} - {% for p in page.collated_posts[page.year][m][d] reversed %} -
- {{ p.date | date: "%d" }} - {{ p.title }} -
- {% endfor %} - {% endif %} - {% endfor %} - {% endif %} - {% endfor %} -
-
- diff --git a/source/_layouts/default.html b/source/_layouts/default.html deleted file mode 100644 index 06fdbd7..0000000 --- a/source/_layouts/default.html +++ /dev/null @@ -1,23 +0,0 @@ ---- -permalink: /blog/:year/:month/:day/:title ---- -{% include head.html %} - -
{% include header.html %}
- -
-
-
{{ content }}
- {% unless page.no_sidebar %} - - {% endunless %} -
-
- - - - diff --git a/source/_layouts/page.html b/source/_layouts/page.html deleted file mode 100644 index 88d6e13..0000000 --- a/source/_layouts/page.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: default -no_title_link: true -permalink: pretty -single: true ---- - -
- {% include article.html %} - {% if site.disqus_short_name %} -
{% include disqus_thread.html %}
- {% endif %} -
diff --git a/source/_layouts/post.html b/source/_layouts/post.html deleted file mode 100644 index d2c87ce..0000000 --- a/source/_layouts/post.html +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default -single: true ---- - -
- {% include article.html %} - {% if site.disqus_short_name %} -
{% include disqus_thread.html %}
- {% endif %} -
diff --git a/source/_posts/2009-11-13-hello-world.markdown b/source/_posts/2009-11-13-hello-world.markdown deleted file mode 100644 index af71985..0000000 --- a/source/_posts/2009-11-13-hello-world.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Hello World! I'm Octopress! -layout: post -updated: March 10th, 2010 ---- - -**Octopress is a blogging framework designed for hackers**, based on [Jekyll](http://github.com/mojombo/jekyll) the blog aware static site generator powering [Github pages](http://pages.github.com/). -If you don't know what Jekyll is, [Jack Moffitt](http://metajack.im/2009/01/23/blogging-with-git-emacs-and-jekyll/) wrote a good summary: - -{% blockquote Jack Moffitt http://metajack.im/2009/01/23/blogging-with-git-emacs-and-jekyll/ Blogging with Git Emacs and Jekyll %} - Jekyll is a static blog generator; it transforms a directory of input files into another directory of files suitable for a blog. The management of the blog is handled by standard, familiar tools like creating and renaming files, the text editor of your choice, and version control. -{% endblockquote %} - -There's no database to set up, and you get to use tools like Emacs, Vim, or TextMate to write your posts, not some lame in-browser text editor. Just write, generate, deploy, using the same tools and patterns you already use for your daily work. - -[Read the wiki to learn more](http://wiki.github.com/imathis/octopress/) diff --git a/source/_posts/2011-03-14-test-post.markdown b/source/_posts/2011-03-14-test-post.markdown deleted file mode 100644 index 5fd45b8..0000000 --- a/source/_posts/2011-03-14-test-post.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Test Post -layout: post ---- - -This is a test! diff --git a/source/_posts/2011-04-07-test-of-typography.markdown b/source/_posts/2011-04-07-test-of-typography.markdown deleted file mode 100644 index 5ae332c..0000000 --- a/source/_posts/2011-04-07-test-of-typography.markdown +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Test of Typography" -date: 2011-04-07 19:17 -layout: post ---- - -In the past I've always designed my own business cards, printed them on expensive card stock, and hand-cut them with an X-Acto knife. My cards were way nicer than those my clients had gotten *professionally* printed with bubbly ink, no-bleed designs, and cheap paper. Though I put tremendous care into my cards, I never was happy with the design. - -## Why Have Business Cards? -I'm rarely asked for my business card except when I attend conferences, of which I attend one or two each year. As a freelance contractor, I leave work by walking twenty-five feet from my office to the couch. Many of the -people I work for I've never met in-person. - -When someone gives me their business card, I read it, pocket it, and eventually throw it out — sometimes before I remember to copy the information to my address book (sorry, just being honest). The reality is, with the ubiquity of the internet and with frictionless social networks like Twitter, I can connect with people immediately. So why have business cards? - - - -### Inspiration Demands Action -In one of our campfire chats [Nathaniel Talbott](http://twitter.com/NTalbott) showed off his business cards which he printed through [Moo](http://moo.com). They were half the size of regular business cards featuring the company logo on the front, and the url on the back. The unique size of the card intrigued me, and days later I couldn't stop thinking about designing a set of mini-cards for myself. - -cards in a box Moo's [MiniCard's](http://moo.com/products/minicards.php) are very unique. You can print 100 cards, each with a totally different back. With a typical printing service this would be prohibitively expensive, but with Moo the rules are different. This freedom encourages us to go beyond nicely styled contact information and branding. Some clever uses involve offering unique invite codes for a web application, or sharing a photography portfolio with Moo's Flickr import feature. - -I realized that I could print several design iterations and decide later which worked best. Without the pressure to choose a single design, I felt the freedom to create. - -### The Freedom to Fail -card concepts I could be cheeky and print up half of my cards with my logo on one side and only my Twitter name on the other. For less than $20 for 100 cards, I wasn't even concerned about possibly screwing up a whole batch. So that's what I did. I designed cards that were good enough and I printed them. If the cards did't turn out how I wanted them to, I could improve and print again. - -handout cards The process was fun and simple, and as soon as I finished, I wanted to do it again. When my cards arrived, I was absolutely delighted by the print quality and the care put into their presentation. Smartly Moo even included some beautiful promotional cards to hand out when people inevitably ask about mine. - -### A Second Iteration -After holding the finished product, I began to see how my design could be improved. I learned that Gill Sans is harder to read at a small size in a high contrast print, so I switched to Futura. I showed my cards to some far-sighted friends and adjusted my font size accordingly. I discarded a background gradient (which I should have known wouldn't translate well to print) in favor of a solid color. **Sidenote:** On screen, gradients emulate the subtleties of a natural light source, but on a real object it doesn't make sense and generally looks bad. - -I changed my approach choosing a single design with multiple color variations. In the promotional cards Moo sent me, I learned that they do a fantastic job with bright colors and I wanted to use that boldness in my design. I was inspired by what [Seth Godin said](http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html): - -> Every interaction is both precious and an opportunity to delight. - -MiniCard Holder I pictured sliding a card out of my [MiniCard Holder](http://moo.com/products/accessories/holders/moo_minicard_holders) and revealing another brightly-colored card beneath. As I hand someone a card they'll see the flash of color and realize that their card was special, and different from my other cards. That's what I want my clients and future clients to feel. - -### The Final Design - -all card designs - -The MiniCard's unique constraints inspired me with a fresh challenge and their pricing model encouraged me to experiment. Instead of treating business cards like a necessary design task, I saw them as a opportunity to release quickly, fail cheaply, and improve. Now when I give someone a business card, it's something valuable to me, and I hope they're delighted. - -**Update:** I thought I'd share some other great uses of Moo's MiniCards. There's a fantastic [Flikr pool](http://www.flickr.com/groups/moo/pool/), but here are some of my favorites. Enjoy: - -- [Product](http://www.flickr.com/photos/lushlampwork/4131018201/in/pool-moo) [tags](http://www.flickr.com/photos/lushlampwork/4297224179/in/pool-moo) -- [Photography](http://www.flickr.com/photos/thisiswoly/4206576342/in/pool-moo) or [art](http://www.flickr.com/photos/lesleybarnes/4276368956/in/pool-moo) [portfolios](http://www.flickr.com/photos/playinprogress/4158223112/in/pool-moo) -- [Gift](http://www.flickr.com/photos/polkadotcreations/4167249758/in/pool-moo) [tags](http://www.flickr.com/photos/22338102@N04/4278114745/in/pool-moo) -- [An advent calendar](http://www.flickr.com/photos/bcome/4177034036/in/pool-moo) - diff --git a/source/about.haml b/source/about.haml deleted file mode 100644 index bbd5a9c..0000000 --- a/source/about.haml +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default -title: About Me -layout: page -description: this is about me -date: May 14 2011 ---- -/ use the :mardown filter if you want to write pages with Markdown -:markdown - Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum. - - Ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt. - - Dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent. diff --git a/source/archive.html b/source/archive.html deleted file mode 100644 index 98518aa..0000000 --- a/source/archive.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: page -title: Blog Archive -nometa: true ---- -{% for post in site.posts reverse %} - {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} - {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %} - {% unless year == this_year %} - {% unless forloop.first %}{% endunless %} - {% assign year = this_year %} -

{{ year }}

- {% endif %} -{% endfor %} diff --git a/source/atom.xml b/source/atom.xml deleted file mode 100644 index 3b4e661..0000000 --- a/source/atom.xml +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: nil ---- - - - - {{ site.blog_title }} - - - {{ site.time | date_to_xmlschema }} - {{ site.url }}/ - - {{ site.author }} - {% if site.email %} - {{ site.email }} - {% endif %} - - - {% for post in site.posts %} - - {{ post.title }} - - {{ post.date | date_to_xmlschema }} - {{ site.url }}{{ post.id }} - {{ post.content | full_urls: site.url | xml_escape }} - - {% endfor %} - diff --git a/source/fonts/adellebasic_bold-webfont.eot b/source/fonts/adellebasic_bold-webfont.eot deleted file mode 100755 index 5bace32feb1193922a356a5a2c67031776ff5534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13694 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 diff --git a/source/fonts/adellebasic_bold-webfont.svg b/source/fonts/adellebasic_bold-webfont.svg deleted file mode 100755 index c259c24..0000000 --- a/source/fonts/adellebasic_bold-webfont.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2009 by TypeTogether All rights reserved -Designer : Veronika Burian Jos Scaglione -Foundry : TypeTogether -Foundry URL : wwwtypetogethercom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/source/fonts/adellebasic_bold-webfont.ttf b/source/fonts/adellebasic_bold-webfont.ttf deleted file mode 100755 index 7e70d0dee6f9a1319e75d25eea1251fed0b527fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24072 zcmdVC3v?9MnJ&6_Rdw~d)$dlT_2^bhYJ`v)sU?Jh#mg9DEE6IVjUWUA1`OC32*!j% zh=(vf7%*|1#E!?~;b;h9I9x7M)shKO{E&kkObEl+3^;@#n8RSK*d~tSVGLFm=lgfH zK-lrjnse5=Yh7t|SM93ms=fdHKfeF5i*d%77heivlPAx(>ubroKVXczaJ2aLNw-aA zd*}=whIahRcc&YMJu>lqw5Omw_uggmRt)?5U*jC#jnDV*efXhxoF|@OOuhx@7cW|I z-?D<9^xvbslQC)Gee+hWU^25Zrqcag_dT$7(bzw|c>(Q0#=iXS;)U}TTsiXoe`l-% zr`f2*I8d-beGu)@Xjd#=_Ru#6=0*3TJsZ#a_<`m3&b#mMx9S+{oR0GY%jSJ^1%H-* zhq0M$XvZI%w`^hMKTkM~_5-;7A6G12_0VI!o*j&R4gKT2E55OCMd=I9?=m*~6SNEP z8=?j~WN2q;d-(fb`K$bPvpC~H3q8f3gf?g2!Uxnr3m^Ho^a8Um#qz8rgBz8ZTlo#P zNStOiSzM|7C1abgcPBpLZ^jI4;w=6)QyqpwVpgYgInLO|yZSIGHI^gdEcJ_iPoH8u zmHr+_i}s4qhZWcsGB1wU*tc01`+wt(crYG~m&B{$>G(ZwvuoFIMO>U=ac{gZUVP)s zwe#10ac%$G3*Nrx?b&b7db|DYsc*;P>+(;*&p!Xh)jX+iikri``6Bd7RxGO3W_LJU zZcl;N=MMx!;YeY$C{|ojS{6@~Co3weQp2i;*NmvGOOLE?$TT*MY98J4r7^d(jvY6C z!o*v_eYa1!W9pr4cTM~9^sltvJ>#n#f6+N}*4Ji#ea<~|=iU6g|C`n~=Zjx|W7WfJ z9$NihxsfqV%uuW4i0WWF*co<#UE)pbAZ^(I_wyvLz+^G$p-lM0`CxfOJsm!`pwY4FhiXvhDV0idJF$;o+3=MEhS{WLHFgV?f($ToFBa*I`qPw%`X)`v5} z5#4M&A3t#-zw>~X-OI!`UHnz_Jiev9GdUlXFz7K@(Zj-e46j)E@usx=v3f-aGuD`e=jW!En9qtHJVW@n>V*2Y;)k7{Rbr6wyY ztcGijv}Ql4Ne#L+)K4ExY0#a#hUv2E^J}bSWIa#FzJ$;3jeGfa!>Hs_T}BswQaZ-( zH=Y_eWc2azcuu?g1L>k=7oKTlO-$oyP092~c4kv*G_@hW$2D78<0o}i(62GCZs9e$ zQqZs4@i=;nFCjjQjQ4qvZ=i47G?4p13edPD)(S~|TIpmlRtD+HS}>L@<4Puz(bRNS zl4ID@?biNmVR2bQLj#7Ejg*wqK{pP1eL)<|x*d+1?(uGqy(U}W58w#b;%Pm>YqU{C zz2l}_Uco{&4$V@h71U`KudalzXa!!~6TWieB(Ku~bsG2TEOJE)cy&KE+}ka2f1pNF zyxp==fE|msTeWxsHQjdc?GWE?`lf5V;u`$QCw|4e-9Z+>#S!scD86I#O?NJ)Yr0DY z?_Wy4?JlEld3+&sH)(0RV^Bj!3WavA`+`4hd=aRfNH!;}_%vt4Cu7Yt<6}+ICxuh; zxHrqS$`h4GYhOtot$8JWBCg?ctopU&vFbxTNv-mePd+(z@r_gXd*kAwX)&hGu2BJS1q8pSEXIA!(OAM(mlm?=2F0d>9kgOQm^**Yt@1& zv{-|#c>1-H22e`(gG<0L`bcw%-fuftOjG31!d@-dr`Hr-(Q5n9=njR0AXkmIdqhob zpeBoN5~-x>@%dY_IEf8=9`=iDmH6W~wLllHR~Lfm9WAfYbe=NmGWgGr92YOG&D8V$xV%;nwt`^nZ7iy zN>wGxBf(NxzPRTp&RhQ&|%^aAXJ(z>el>uwLRe_dLWPwEkOzZNm6ZFBW&Hm~NS zt6i8CS6X*sWAp08n2Qm(&`qa2I5xtor*JIc>etie{4~eTK1B1QXl}3O>eD>9QJkU1eIAOjuj_TBj|!q85*+R7C{3vF0TSX zGjU%~4M11$hEYw8plK*LZWl zQ8#1nhYn&8(~Ld>lr4uY!KN^+du&id9^&`HfE`@k1mky7AL;Awc8;{#YV?@5Ums=C z?AXy07lhj3bsnv*Pp>YxqLuV%bHdR-m=DZlxEIT<6JV0U|q7W3&!hFH8jg9FwUy$}jNYj^sI#XUaF z2jW-rl$yi@cq_#uG~D26H57~lMl~lwRu8wT)=0RFS8^PL3|KZ8yH@V{_u~dnwVl=$ zA07QKg-SG5H)iaLcS`(x?i_!CRFdA{53S8TVSM!DocWtJKKJ%7d1~F7HP7uIoitvy zZI0S(t(lIE#veN$-yTpL!AI}?K}7QZEpKdnrhOUN1x~hyFA}yVL6+ybu~7z%jnE&k zHiK41SQxS`=I=X-$}RSE_D(i87J`68eD z?#6WwpLz5pewIu80)KPMLF3!+UNZg;eVK@RZT!r=oY(KgQ=|M%jZ&&P?8hyuFRuUA z!;kd;;1y&0rkD8oOBeb5M>oA-gs(B9g!pZS?2*?2mHJo-t7ch;h3s`H*=yYefh&XH zx$HjwPi32rV0kfQghrSe$E~U6GM;M6grLwP)=F!dH{)o;nu_p_eVy48nquwC-h} z$j6l$=45Rwt4d&eIjuP|x?+cdXaJ@lhL<@pyo<=MSsHW(U2biFn9w-}<)7t@cDZb? z(cOZ`l}TTsDdEfb5}}0j%4OpZ+;^G#jZ2^K)CauGI7jX*TXfCEvpk7smoSZ`3C93l zhzD6t>UL1syqP7{JPIQ&<)NUJM;{-p`exK_`+m*G)u;W|k~7lSxy|I7a#qdXkY-3H zfLY3kZ*l zRzvnV3?cCo2fCt<6_dsl2$_ZEig}aeQii{_PvbgI2`Gj8My^eg*J9pfHi>0r%({ka zs8i?(p_E%*e($tU7ZTJ3@3ZJ~(G~a?ebAj8qTWr2fD9bzTRg-eSZ&`Vz}XF5)bIT2oKzZbyICEdYg^ zfu~eAU7&*X^njSLYTnd5mN)qt!3zmr5L!u&!l^tK2=% z8udsX&>mjD{4wYfV~6t34+A?=M|z6v%n3AWPwNFlp<H_V>;{m$Eseu*FB`)19V|1PgBQA$p|#NF%Xu5H=awzQD1Gk!KpUo_`T;SS<^ z=~{<;4m3)#2MFisE?YmQL=S*{VE0OiI2CElb5fTb{aToyLc-Ud4JU|7Vc0^w5`2^Z zEYrE*BNurZutI)cR(5#Ed-aUr*d@8m9HJ+J1mJ$p8D+i`jM zx?DBCqsDmrL(v!YS_jyqo|Ph$24_YuKu3Vw6p$O*DhlKg6+#g$C7~!wYyOkE)zPoV z(FH5PR#rk{THrt@T;L*Kx78gfB&enMfe}E_ggh!kbYsalh?>but~C_^dr0!W+_~bV z&mK5#T)t%N)plxj56GsmjpSE*(e z6cv#-?`x8yUuS2s&5 zdDiLO>*c53J(T+?Js;KqH1>eTLD0CKEj2x2JxabVQF%C#wjr(A0PbOd1!k`W>jLEu zgN`b0&;uSAJTOcK3=?sqE6x^uSS=8@B^31%p9D;L50Co%&r7y|GgM{baFe!#1DmUw zfyjy2g!oJjf~%9}b-a00b7KlhCs-=U&2JgM|JSpBTr~R`e&x{NbGeT;otQJ%6)bZl z)9%ivmhzo#UoM?AMmn(WSFap-e&6yRw=LH9|8n17>&Dgfi+6QQj@1Us-N7Pj&D+br zzLifMQ#m$MPBcK=;aaEC3SAULjARibH6%kkZ18uWjf#N6i3o|b<~*qvLmL%)broX| zHRxV2S2@OAOh%0KkfuWYcnI+#_5tYur-8jR-lCO}Fl$9V-3yi*SsxLS(yXS)8>xUd z;!TuS@j96t5y;T8jT`@Z(|zjNT^i8gc}dOvZryv*or<@*{gypbXD#u+u>ASIo5s%{ zIsHLyS+0J%bZFX&Rbx)AL~xtNBQS+h4@}`?h;a--5?LqER*y{}41sx+lbXGOKn0{m zU<;rhfh}|k`gt8)_=jMOeK&xH>@Z$I6vcd|iyy@^ov^wiSk_0+@#LQaQ|pDP1#*E= z)!hgIcgw1sn^1Eo(4xn9Geh9k;}JKP_YRzsW0P}xq*;4;l$Y}4#lwfqIeCFQdB6w{ufYk&H+mw)x5A@3s`f$gG+eno|SKJu$U33RAVCm%0(Q=7K zA#rmQp<4z=A$c{q4^bc!-~rfio#8v*dpl3n@@6i7G;nURG%L4vk{si&85hqTK77$Q zWAc*{MEozx%Gd&yEhZpSW}?&};(xl6hJes$=}A2n>hET;Qn;oZk^&3Eu!(u8k9rvB z4>2-f*?OGbU~w67fbN7M&N5$=EOpSQ`GrmKja7tOZY6a#DifCx88Nv->NJi_{^}!B znmfKc?UslfxcdHa{vkhqD)bMU#-HS?RcFQM1(Q1FL~V(Ue!g~=G3(IfBIA^aizT+& z*r3i(wz4!E&3?wR0gOc}$mpX15aSIZ90*p@>(I==JYq8}-D6kTXz~$S1Z1pn_9H-~ zhcS{-*d65+P{ifz*S}<DB7{^y1PhTC9(C$BIYR6ZGQO_XOgq90m7_ z$@T(Yln)aWsgt2OpfiN#)JFT^I%^r<^R94dWsNG7rzN5$;|xGKLElocJf&JmllU_Y z5gFRDxq;AHl{m{1qvQbW8DVMVVExVkW3REAAK>%(M85G8GcskaW zX{+>JH3p0e#z`LM_TBAclFhR>?R;YQ6uySf|9f5hD2N})_)$R|Kl1ij;F5GJK^f6c)+4KKZ&-k0KHf=j zP>O;E!x3@F{K8BD1Vu0}A@C=81*wEJ5=sC(Hp4T5U%=(0th#b*cTY8x+jrz%omK7N zukfY(Wn1-}+_U@LFLe1&obY#bg&ifzrB6LkN0`4V)#i>vBOrTZDFJ=LKxrxD1WivW z0vimW7tTx8O>&mP5wYV``+LetnH$&#CW?bc$(M-$`;;|g)rjz6BzO|e1~Sw!aB2un z81fg0-1++TY8;3qVX^|SR7@{5hozPIbU)#slwT{z4^p^3FvLv>ikDddp1qaAKG*Oj z(@xiL=~8a)hM?OW+#qH7E8knnJ93_F+rDS)ZQt_j7QTX)WzQwl*tErm z&YwECro-=1%J>Om<4W1WJNS~6et7ynol*?#w3}c9Q?8L?T|vv%}bI>^8O=i_SJmF7ZI6;K|4JK!cjF361xQ>+y!Y>n3gXX3I-JZ+<;0kXaB)~pf)V>x`E^Q@w8w( zCB`BCmQn49@Y>Ih=E3vEd<@P@<7tH)^gs@(*k2(oMsiRJIq=ZD6x#cHDk@cvyQZf? zSR*Uvm9QL|;?sSQaR@#6%L-Bx z6~fl&g@~AEo&FeE;e4NllQY2IYn@g@iDTYVswU6PBJCiDSl#M~%1k zOovQ8yoR&R^JTW^oH?(ZJAJCNJ#oHRS`DvRiWyVp^HnFfXD@_nS8I#0-g_Xa#*B-9 zGz{aSM=j&7pAGV?ItlZdVNbDaLEc(;$y&HGWG#w75p7t8%yYIlH5`X}61IXOuxEnU zvoWm&5y}I5!lK)QL<~C^Tyr;MgLY~Kqi7X0Xm%6GmpAC?Kz}wZ7&$#0=NPnTT5xd+ zEqIYlB&bouv$YXJ1l0@(krBAT+Z4YJA=TL^w5Hjju#q|`_f7Cb?wBL8IkzS+%bPbx z98$e2v_X1oOT_L7ZxQ^#HKUzaqHCz?-077H!f^CA3PmbfpY{vJ;m|=$x(a$l*zH5) zAd;5@NU!D*mXwSHG*C7mMjC*yijfAyNS)?LVQfFg-Zw@eUCm8@D(H5Fo|3ff5r;Fp z9ewmf^Xh$QuZW+K>yR%C`JBhHC@redi@?t+@v{Y;vY}IuKg?AK$)XTaq2N|G`sWsr zUAGOg$3#GmA@8R{@LcDn2ZhgmGsP*(kn)xBFeTAONgh}5XVNR6 z_RoH``b_#lND5ZgHrMj$@{S1EC3M^!9+zWaj2;9RMoJSR3p_ln6(D2<)`J$33y82X+<1IPFqi^i(F!PY8EnvN zOjtA0eWI5TilP+*qLd)WCno?=D*AeV^}xRvbjG4lN=NF`tIDrvm3@HsHn=a{l3anH zUnPB0WUsgcWi)xj!kx1TXF(w;pL2VVx;at<9I zgeE&g$3N|l{MziRbt&e31pDW_hXAxn(=7Q$kp3wp4lXN4O+X3QxB_fkE3(gS4|rEt zKerzpEEK#;i95n}k{Xqd*%P{ZpJ|s@B zXpX+#F@N!{YVt!ljwkvM_qw9l``GhTTNO{3bI*TDEh?)TM6Y7{^%4rXTPsOa24mVu z0N135Y2VBds5BC3xR5Vc#;r?p_v{Y3Y{qG$+c@iRgtc7WR!fz9fsL<`f}11u_-3K2 zWJhkY^uoa9A=)b@*kWL=+|@;_@#*=bB5WOSiMjwZE=MJr=@CG-;1N)grGc-q9Hn+(?+}WVVBgdA=^OG4+9BOj5GJf92^@SJ_TK?d2}oE72YhQ&VjUV&%d>)_0 zXXjc_CiD1#-$wa!d=3orK4YG--`KWGQu$TG$PJiyS0Oz}H35jj4hpSSh)Ng|h2#*V z+Y^X#@=GAyB7zT-6NEa9!uATT4~jI4Fv^r>Ar}S7AxcAf0qPOdXL=Hm!aoOy!y#{i z_%&kT8PmV5;quCXGkF!YpWEKa9eWxutJ3IQG-hUJ{nkg;nj#(%l>YEl!(|+xnUH4t z8y{@nG!J8IHl|ySfaXOQ+Y)AurwlQ21OX5P6+>{G)XPEfaxev&Tb1XKUe3-KA5E@b;UDqHfHr624>x>wkt8*xj7NwmV6bkuQt$K_m)0aU z8mAL#P`~t{K zf>(l${%#&jA~42~c1N(B!jYHUzj%^Ja3BT*>U*X?mr?bk4GcWPJ_GJ0s< z$mnHpOcWs%40C&`QhBBS{LmIDeBF+!7|=~i`VbIE3$>6SKfg%Cs9A6XF>Bhd)q}JM zC5pNt3bV_RQduNDDyRqv@TobD8YC%&3n)yZ{z3;Y+6AV+$RxEFL&|Jm@}Nq9o2) zQfCuN$#G|xfC8NCKqSj|8=cw6ryl?{!iwd6HkD$dmF$~&jGKhUCIQmaj9v)PV6nvn zHZ&7dada{+kV_m!DI17WCj*5Lo_HPr7km)_rXnd87rK$@g%rPW!H6{e#iqnA-y%^==>M{ zp^L`sz#N^xm;-FRIY)@*2_uCN9wGaz&FvLK4yJV&C*t&jiT7KFDgj53pi6J-%nx3p z!xoJJ(gXl?qE}Gx#h#a_Ts$xcX;6$Xq9#hfy~a36+!MuFy$A9>f7>$Bn%YAx*?FwRwy|3gxtTjiI2kidj70uVzJ9ge5wHu?1 z_343%D=0f;Xb6bTN5<*ftDb2OO%k*B;j8_5ht3_eK-^>G`YJXO~#w1x?#_6L?N0-b5Sf-w}3cG zU+>Z6sT2{xLm^twEL2HmptoW7Z_b;CQHmMq)61%^Xr*St#e)c~2NBwCH+{oF><)+G zXqM488}CA-7Ap!+w1iaz*Xf5HknoF6U3Z0=n(aIvzO@gM5NQyThlCS^Snj;PGk$Np zw>`IiP14UFHSY5!?hi>Dy10W!wuhwR1tno)1OIVZ=)o>OUt?^h;I6HVe(LerQ4d(G89FO+tzSI@X-^YGxwGn$o ziw3F2pEnPfZDBu(PzM6S2ZEH5xZyJl(&`4Q<@M&=fip*gZey`03CUa3^@;bBzYR)` zj+D#T<_w<_3Y1Tm4o94VGR6E~O&QFMGxp|{DQAm88wIrSp{U(NnJx-PioCbWi=mTL z>N1YWB10})%|aeZD-!2r-v8}WG+s@{Z~^U|!vO7F0@^z%?IOukL2AN#F(jTS7uj;N zlEtEYxN3=DkhT&YmQ-sr@gt8U5|0?C)eoNwE0tGY zPbpzMry4a}8~%eDu7eXkTf;>e5%wR|aLF4`G;)wf^EF(YO~P2nemPNpkaf~n$O)5> z0?&^{I*B@!9;{ZO;hcWp%mw3Z}95&>QDw(P3Sd zY;g0aTuoPpU!j5S7rN4-<{6oPrkxjep0LB!O(;8%2K)m8`DgeKd5g4wzi$Mk_d#c7 zY*W~^#mK}&%*?D6B@G05&2l-gKSxSdVPratZNvneN0s%`Rdot}6Q|$w$aW$S{X~;a z=I48`>d(rXrK_urAMRGpFXA;__`M|RF6JoX5SOo_=n}0%&?~{&=uQoV6|x~@(9I$- z1bLwak^tUG;VDsAJ&G_ww2Tx%6bTYhiva;pX7*K?0`G(b*bz%As{u#E`+!2b9d;+c zB))HeN!CrF0wNyQ9oP!VPf`UKLTi)`3IQZWftrLTQ^IgUZqX`zTC7DY@b9quwj;)g7Y@Ex-`PINc$**i z@Kr}-zA=64tf{LzmP?yCANkCWT;7#4re!(``I!H4-0%=Se_)S8Z5q20-Y3z|4=nx+ zWFrjv=Y3L<%oQO<8|odiZXzIDIZ?Vn)wlrTa8Mj(1v+_~6fmdi8H5!v&SD>mg~($o zA`2TL0>BH^+bY&TY0GIbW{n}j9u^ux2@rhmlkkdeVIpic?Lz)j!iMu^EbPVJ)k|} zy2@*yeS{^j^3mkoI8d+PUAT=|AJHEx7?EZq`j-m^E`<+W>ZSTm&4scdBq{R7hu=kr%d+qguPt>O8Ak(imQM=2is1V7)( zwI3QsFjkt6%a{*8MvM4>$W9^?Y0e1BI(q^IvK?8OfLNzO`D%)?7htT2Nnz1X5Ip8W z&J}TWJy-xO2cOiDcpy*^Zv zY&ebJdh}*^gQy15$`N;iTUF73YE<1zYOjXIK$BDjkpVQR5>8bWz(@D^stVX)wd%TS zHG*6#2bCyRx0rQMq3}=_tC2FrwBVwlR0>%dn;K~Wi(0~i8A|_&g4(iN;i{n9xB1yK zr>3uY;1=UtFx)t$#>*!edp(h>JK?t#O3Q;sR~~sGI%e&xq*a|z7@P8y?*xzLC>bJR zXELid(#k5#Q;IdPu~@a7tpfY?)TnF{%og%F6~v7-iDGI74N*W3isd?m%O#X~XzUEuoM{A@8J@!g1Ay)%pBA zHnk!!8ah{(zXYmtC@gg}1jidHBAFlQ(`}{L*7&n<4sZm_WJP5i5+W&UL?MqJ?me>O zRCd?Yi1LLx=xa<*BmtjMREfY@lq(Sn$i!3d{FPNNwte{O+=-J8^P1UD`xV&Gj}4X? zJ8MjO`t-RUURZt?|DLho-p*M|U+TDjrE#L^6I4Eh$JWT}J#&}uekHKXKO$6Gp_fYW^)jfO zG65#bz{;X(htpE6C`hPKoIas2`+R$;2UC2$^~Q6 zsU^dvau+Qu^D!8kSX5No}BdUq&;;fya-zaO(TBy^ZG!?sxwRxy=XQHZD z^NRps1l@}WXBw*?L3fmGTYWn5FKTSC7=<*v#izN!yMtPt$|FU|_9!t3!Lj>d4;Avg z#&ausYdSk-Pi*01=47gjaA0La%Xs5ZucUS&Gw)YBzAwS@JX(EYiCK0 zwG`XFiPHw2=393JmDsaJq)Y{?nX)AJtV_JPx#xWFk^Q8?i%YEDz=n{l*R2z@gNeJd_3LaBpZ zQwx3S^kFYu4|(T4QEMNe6#u9eZMZL6U5n#lYJ81#9P0$arntjuK`WyDd96^!Nso%M zadFZr8IzpN_3blMN2J~8R0HYC+0*QW3v;iNqJWGo@jAEvPi^XR`*sLz@pNXwEu-r* zMmpw^Tsx$$WV*RzV(vuLrQ~PTl)$C(hW`cy@_g>&s8>R?i0G3oP1Ic$ihUEZ6 ztunGZSbm|Ei>l@*4ih*wX{CM|c3|g|q&J@)GhuYP zB(FLN0fh5Iw`|3@8Se_i{L@lyi}KqQtlrYSqouQ+Dr@%#$f3SdTfF6L4s)TK}%cGgQB9Y$6R zg#&<%<c_V*usv1AB%;NE2gv|jGPKM zh9&!9L98$_DFw)j%RvDLdo(Lkk|_^>GyS#l%db(8?-nJtX2G#p!$Yf6 z%}T*YbArM%lvDBvSVYdm!Q7Kt)a!V5&r7EUdUtF>!IIYzo@d-KcgEuTUYQG$fGLF?V10{&VCa!`p(Y=KgKNmIP@0OFbU2O?8)=Ppr&H+cR^(>T{hCEH4tOxGgwGqVcEP$VPPh3Q~)6& zk*ZV81eW~7>7W#7n$|VG?KZ!2>VlOm#v6}Zj^kjYb>5zPW;fL@Y-+10;mRxLek7gt z+#glEi!19RUPba&-M+3P`wxv_UhQ2SQ-VvIN8vRD#j&QbvzxO$V+2jSpvg4Ld>}d0 zBnoda3jf_tf*ykRVQ)YjyT>WqlB`oGV5e~A&H7LRb_IYMCQk=R0SKN~sb&Z~??J)2 zM*zDUiRBQMFF}!wtgl2-IEui1B`$?t8?i7ZZDy4F;8xdH=qED!Zt5mjX#1 z*jE~e$nHQ0QMh}f0W5UN*ywdM-Ti}hLfP|!d}rZbs;(c|y`O&^ zbz6eFbF=2Q&5;VCPV5itBT*D%gr}ig#u#tTVbRFGFo*T(t^M|)7|$_6Cb0< z26I@o|3^8j8zFT$V?1m0IuacTsb=FFo>Py;_^GMY4taXa=HIo;n>!#)@$TB?azrs# z7zZ#_4Rq_Vo8D$3!Y^N(!TQB(AKW9xVnLu#?bAKOt{_*_J2v*=7CLOv1~XfDbqQs* z4*k($9v{qXc|>Nbwc~@Io5yMFl-a5?Gg~eRMfLf&J>5ud5fmQp&Btv2>}hg>^HJMs zs;K{h{FY^_@nV;22i6-Hwj{`;uG(3!pEqf)XIIDgzNsmPv@h3g(rb?^*C(CMRZ8Ps zdvv9-Q(hAM{RR0gVuLTtZ>9h8M1FZkKEIU~`K@ECPfjILT+eTf6#1?6#uH`c z;e39p{{N%=7QB6OSw|t!l~0mJng?^F!l8I6_w%{W?OA1nX2*)K;Pv;>!uFt)Sn#9W zD}wyBdt9ljyetu%-Q_=e#J{7|G*5|cbuui(Q5s(@hKs?}3Kyuh#T39c}$ zcr*`X5NaMA+YRC25qWE_qbuR>G}hXZGZIqShVw#%4o^ffs`Z31ZI@rFIVg9=Y(WyH z^HK>3lUnjAipB8$8N|x^F%BQCg(TbD<1%fU*!K#LR>)S5Y`&Q$pNc|38hKBHsi=mf zzxe@;>v}3G^Iu3sNpkc`0LkwC=SOeWUB}mkwt}-!G;!aMku*FqE zri!}TCymp54}4S^mHk;s_@!U?8jd|!mK`-tThpM&B+z4{pvOZ@B&jJwO?f$v4T77f zC*+z*4_cW3dK5NjWnQhEf_e&?cnY*Xq0SIcxOfdkIqG@@Wy+8!K%{~Jje;^(!XYsq zg)Y!?B7ZQlK9I`Og92;xR+*G|eFUw$iiGk6QacB!(Q$)9#<88jrm2}rsNkZ16Wkju6xJhK>EFzp=4T5cwPY zO}o;@A5}AWj||>Vg1jQu>WaJ~-YA2GPgqTvf1?by(yDZN9}CK;9?c3 zebD;x#azArA@jl`Ws~h8Gr%b6z$g>MO^`qQ`Q zBlv{$3p>;`aO9qXTmFre+2~?=_vz-rEh4^Y+f-z|IXG4lr^RnnC%v!K)_JY^+IMYJ z=`J_@t*2Mr(4Vvim;WucEo_OV+Ax#r?;ysi>TuLg$nm zn`X_jY3kqN<7eY6HQ0Jtv*p`3_Y#|J*~T*J?X1;ujyY_d%%!GT#!HsLo9UaMCAP3)(v#jF~~ ztCgSN`uA8;d6i9(UuV_w1vXXw7V|2f;@qbUZ&?K$-efW5PuP~T$l})ky z7;Rin_W*BUj5qx?vPFCp|5(~3e?$Jhd_ex4GE7;dd{^10{MO>KbXuNKhpW%1zq8(A z-DkaITVeZ+-EW_2-(i2%!5oX6ai``Q>3YodJ9nGA$1~dVPX)yV-}07wzv&z9>+v)H zgZ_UF{8eyN@Vg;f=)uq@;a!o&$YYTgB9{t>6|N}UQn)8NHM+mZR`l(nw`1+aql>i? zSIMH1cS-;F8I`}RlJH;t1^*MP z=2v~E>ba`@Rd1&}sTrxR)H~w;2KdPlH?N(F4h+Y;!Y4R4yjTYD8d z_E+Fz?sL@G)0>g$I0TA4mfx50evt3w_Z6&}*q-0F0B`r@_f;0hyJOAYzRn(GSJ|y> zIqtR=Ui=bvAF8V!!WF|%TUCv11GM!>yay%D=HrSun}P2Y!0t2foBObR2-h#fFY9n_ z0^ZT{0Jb;ovr4oUvQ^@mhw;4tS5Cn9LUHXvoS(?%;rtRjZzAsb0M4z!+4&gva`f(@ zFT9$5X!-+CM* z9*`j#7WnK|%q_~75xI83DtlM~-q`FzjX?mB><~C50zQahZeu{eC5RK2;mHZidlFc` z5*0%!%wsk3`88OhREr*@L6>^WX$Ef=wN7bSyY=JZLr%95IRA zhVk8w>XJLKZtzaLq3ABG3-~gd&c4Fh+1;4`uOgTC7m)m!sKEXjo6Ww?=CFI%Ts9By zsgqG(U_sd1%5B_^N&_c%aW}%^1>DPhh`@KFBI~EDhds~!AB4*T2!e*Js~=o4a^!@O z`RydyHjEr8+Su0T+YR|`CckaWZ=3SlQTc6iemgq9ZOLyZnA`gNee3HTiDS+%}2rZRmn@D{9UU@N181d>gw{vrX?r>f^gJ^~v;JWX+40DhJ!K^OrMA z@Dk(Mop?`G{5DOlnWS0cw`J9037J_mY-m{FQi_Hh4civ8f%oF(ulM1o<1q=fi<2M5 zFT7~_#$9g~py{o=-t?e}SBec@>_*e$yWVu6>3;Qk(}||balPq}--g$*J#vj*KN7$N a{->@tgJ=eByWR|;8H@}zXKKM3_P+sZpC^?7 diff --git a/source/fonts/adellebasic_bold-webfont.woff b/source/fonts/adellebasic_bold-webfont.woff deleted file mode 100755 index 07ae59a2acadf65b8833ed6569e76d3096dd7171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15604 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 ML2daB;pO@M56S|o4gdfE diff --git a/source/images/code_bg.png b/source/images/code_bg.png deleted file mode 100644 index a57bab56a1b0cd439a7f6cf3f8740a91b256372b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmV p6S*ttK@UmXdS2jvWQ_4W{|5z_G!U*Lc~SrX002ovPDHLkV1kzGU}^vW diff --git a/source/images/rss.png b/source/images/rss.png deleted file mode 100644 index f458e57dfed81da9e863801654d36d3533e79fb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmV>OuMmgVQ<4-Ll$ z;*uoEWpXD1MWE3l3dCtF*)0MIBG?Zl8bZ*4DoR1r^hpj!RJ}q}*x0I91>FlKM0m^) z3&bP8-@*Zvq`e3&WiN=`7!uj!TAYDGHxYRxS>}<>l*{KL za?4TLlB;=R=`5^~UktS=P1s^$D~K`&3FSP<>cgJ4ys|{!V7+rAx2tgQIiQK}l7tQ$ z_wCAo_0M!?yJMXOEQQl5e9OusCHD6 zNqaJ>#*?=P?1below<^u!yG>naWXN+e9#U;0{X2o6F diff --git a/source/images/search.png b/source/images/search.png deleted file mode 100644 index 1220ff4e26124994e7167a420646bde118eb9f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmV-T0kZyyP) z0_X}HNZgKqBEQKQFOFd0;stDAXHBf+K(cEgih}?%3vdOybApQH{76Zp zy@{6R_`G8CRmphKc*+svAQg8b@T_1Gf^?T6m}x#h!FCd<#eI~@UmH>0hsm7iVoj0z z+ - {% include article.html %} - -{% endfor %} - diff --git a/source/javascripts/libs/ender.js b/source/javascripts/libs/ender.js deleted file mode 100644 index 5e56fd8..0000000 --- a/source/javascripts/libs/ender.js +++ /dev/null @@ -1,1497 +0,0 @@ -/*! - * Ender: open module JavaScript framework - * copyright Dustin Diaz & Jacob Thornton 2011 (@ded @fat) - * https://ender.no.de - * License MIT - * Build: ender -b jeesh - */ -!function (context) { - - function aug(o, o2) { - for (var k in o2) { - k != 'noConflict' && k != '_VERSION' && (o[k] = o2[k]); - } - return o; - } - - function boosh(s, r) { - var els; - if (ender._select && typeof s == 'string' || s.nodeName || s.length && 'item' in s || s == window) { //string || node || nodelist || window - els = ender._select(s, r); - els.selector = s; - } else { - els = isFinite(s.length) ? s : [s]; - } - return aug(els, boosh); - } - - function ender(s, r) { - return boosh(s, r); - } - - aug(ender, { - _VERSION: '0.2.0', - ender: function (o, chain) { - aug(chain ? boosh : ender, o); - } - }); - - aug(boosh, { - forEach: function (fn, scope) { - // opt out of native forEach so we can intentionally call our own scope - // defaulting to the current item - for (var i = 0, l = this.length; i < l; ++i) { - i in this && fn.call(scope || this[i], this[i], i, this); - } - // return self for chaining - return this; - } - }); - - var old = context.$; - ender.noConflict = function () { - context.$ = old; - return this; - }; - - (typeof module !== 'undefined') && module.exports && (module.exports = ender); - // use subscript notation as extern for Closure compilation - context['ender'] = context['$'] = ender; - -}(this); -/*! - * bean.js - copyright Jacob Thornton 2011 - * https://github.com/fat/bean - * MIT License - * special thanks to: - * dean edwards: http://dean.edwards.name/ - * dperini: https://github.com/dperini/nwevents - * the entire mootools team: github.com/mootools/mootools-core - */ -!function (context) { - var __uid = 1, registry = {}, collected = {}, - overOut = /over|out/, - namespace = /[^\.]*(?=\..*)\.|.*/, - stripName = /\..*/, - addEvent = 'addEventListener', - attachEvent = 'attachEvent', - removeEvent = 'removeEventListener', - detachEvent = 'detachEvent', - doc = context.document || {}, - root = doc.documentElement || {}, - W3C_MODEL = root[addEvent], - eventSupport = W3C_MODEL ? addEvent : attachEvent, - - isDescendant = function (parent, child) { - var node = child.parentNode; - while (node != null) { - if (node == parent) { - return true; - } - node = node.parentNode; - } - }, - - retrieveUid = function (obj, uid) { - return (obj.__uid = uid || obj.__uid || __uid++); - }, - - retrieveEvents = function (element) { - var uid = retrieveUid(element); - return (registry[uid] = registry[uid] || {}); - }, - - listener = W3C_MODEL ? function (element, type, fn, add) { - element[add ? addEvent : removeEvent](type, fn, false); - } : function (element, type, fn, add, custom) { - custom && add && (element['_on' + custom] = element['_on' + custom] || 0); - element[add ? attachEvent : detachEvent]('on' + type, fn); - }, - - nativeHandler = function (element, fn, args) { - return function (event) { - event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || context).event); - return fn.apply(element, [event].concat(args)); - }; - }, - - customHandler = function (element, fn, type, condition, args) { - return function (event) { - if (condition ? condition.call(this, event) : W3C_MODEL ? true : event && event.propertyName == '_on' + type || !event) { - fn.apply(element, [event].concat(args)); - } - }; - }, - - addListener = function (element, orgType, fn, args) { - var type = orgType.replace(stripName, ''), - events = retrieveEvents(element), - handlers = events[type] || (events[type] = {}), - uid = retrieveUid(fn, orgType.replace(namespace, '')); - if (handlers[uid]) { - return element; - } - var custom = customEvents[type]; - if (custom) { - fn = custom.condition ? customHandler(element, fn, type, custom.condition) : fn; - type = custom.base || type; - } - var isNative = nativeEvents[type]; - fn = isNative ? nativeHandler(element, fn, args) : customHandler(element, fn, type, false, args); - isNative = W3C_MODEL || isNative; - if (type == 'unload') { - var org = fn; - fn = function () { - removeListener(element, type, fn) && org(); - }; - } - element[eventSupport] && listener(element, isNative ? type : 'propertychange', fn, true, !isNative && type); - handlers[uid] = fn; - fn.__uid = uid; - return type == 'unload' ? element : (collected[retrieveUid(element)] = element); - }, - - removeListener = function (element, orgType, handler) { - var uid, names, uids, i, events = retrieveEvents(element), type = orgType.replace(stripName, ''); - if (!events || !events[type]) { - return element; - } - names = orgType.replace(namespace, ''); - uids = names ? names.split('.') : [handler.__uid]; - for (i = uids.length; i--;) { - uid = uids[i]; - handler = events[type][uid]; - delete events[type][uid]; - if (element[eventSupport]) { - type = customEvents[type] ? customEvents[type].base : type; - var isNative = W3C_MODEL || nativeEvents[type]; - listener(element, isNative ? type : 'propertychange', handler, false, !isNative && type); - } - } - return element; - }, - - del = function (selector, fn, $) { - return function (e) { - var array = typeof selector == 'string' ? $(selector, this) : selector; - for (var target = e.target; target && target != this; target = target.parentNode) { - for (var i = array.length; i--;) { - if (array[i] == target) { - return fn.apply(target, arguments); - } - } - } - }; - }, - - add = function (element, events, fn, delfn, $) { - if (typeof events == 'object' && !fn) { - for (var type in events) { - events.hasOwnProperty(type) && add(element, type, events[type]); - } - } else { - var isDel = typeof fn == 'string', types = (isDel ? fn : events).split(' '); - fn = isDel ? del(events, delfn, $) : fn; - for (var i = types.length; i--;) { - addListener(element, types[i], fn, Array.prototype.slice.call(arguments, isDel ? 4 : 3)); - } - } - return element; - }, - - remove = function (element, orgEvents, fn) { - var k, type, events, - isString = typeof(orgEvents) == 'string', - names = isString && orgEvents.replace(namespace, ''), - rm = removeListener, - attached = retrieveEvents(element); - if (isString && /\s/.test(orgEvents)) { - orgEvents = orgEvents.split(' '); - var i = orgEvents.length - 1; - while (remove(element, orgEvents[i]) && i--) {} - return element; - } - events = isString ? orgEvents.replace(stripName, '') : orgEvents; - if (!attached || (isString && !attached[events])) { - return element; - } - if (typeof fn == 'function') { - rm(element, events, fn); - } else if (names) { - rm(element, orgEvents); - } else { - rm = events ? rm : remove; - type = isString && events; - events = events ? (fn || attached[events] || events) : attached; - for (k in events) { - events.hasOwnProperty(k) && rm(element, type || k, events[k]); - } - } - return element; - }, - - fire = function (element, type, args) { - var evt, k, i, types = type.split(' '); - for (i = types.length; i--;) { - type = types[i].replace(stripName, ''); - var isNative = nativeEvents[type], - isNamespace = types[i].replace(namespace, ''), - handlers = retrieveEvents(element)[type]; - if (isNamespace) { - isNamespace = isNamespace.split('.'); - for (k = isNamespace.length; k--;) { - handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, args); - } - } else if (!args && element[eventSupport]) { - fireListener(isNative, type, element); - } else { - for (k in handlers) { - handlers.hasOwnProperty(k) && handlers[k].apply(element, args); - } - } - } - return element; - }, - - fireListener = W3C_MODEL ? function (isNative, type, element) { - evt = document.createEvent(isNative ? "HTMLEvents" : "UIEvents"); - evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, context, 1); - element.dispatchEvent(evt); - } : function (isNative, type, element) { - isNative ? element.fireEvent('on' + type, document.createEventObject()) : element['_on' + type]++; - }, - - clone = function (element, from, type) { - var events = retrieveEvents(from), obj, k; - obj = type ? events[type] : events; - for (k in obj) { - obj.hasOwnProperty(k) && (type ? add : clone)(element, type || from, type ? obj[k] : k); - } - return element; - }, - - fixEvent = function (e) { - var result = {}; - if (!e) { - return result; - } - var type = e.type, target = e.target || e.srcElement; - result.preventDefault = fixEvent.preventDefault(e); - result.stopPropagation = fixEvent.stopPropagation(e); - result.target = target && target.nodeType == 3 ? target.parentNode : target; - if (~type.indexOf('key')) { - result.keyCode = e.which || e.keyCode; - } else if ((/click|mouse|menu/i).test(type)) { - result.rightClick = e.which == 3 || e.button == 2; - result.pos = { x: 0, y: 0 }; - if (e.pageX || e.pageY) { - result.clientX = e.pageX; - result.clientY = e.pageY; - } else if (e.clientX || e.clientY) { - result.clientX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - result.clientY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - overOut.test(type) && (result.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); - } - for (var k in e) { - if (!(k in result)) { - result[k] = e[k]; - } - } - return result; - }; - - fixEvent.preventDefault = function (e) { - return function () { - if (e.preventDefault) { - e.preventDefault(); - } - else { - e.returnValue = false; - } - }; - }; - - fixEvent.stopPropagation = function (e) { - return function () { - if (e.stopPropagation) { - e.stopPropagation(); - } else { - e.cancelBubble = true; - } - }; - }; - - var nativeEvents = { click: 1, dblclick: 1, mouseup: 1, mousedown: 1, contextmenu: 1, //mouse buttons - mousewheel: 1, DOMMouseScroll: 1, //mouse wheel - mouseover: 1, mouseout: 1, mousemove: 1, selectstart: 1, selectend: 1, //mouse movement - keydown: 1, keypress: 1, keyup: 1, //keyboard - orientationchange: 1, // mobile - touchstart: 1, touchmove: 1, touchend: 1, touchcancel: 1, // touch - gesturestart: 1, gesturechange: 1, gestureend: 1, // gesture - focus: 1, blur: 1, change: 1, reset: 1, select: 1, submit: 1, //form elements - load: 1, unload: 1, beforeunload: 1, resize: 1, move: 1, DOMContentLoaded: 1, readystatechange: 1, //window - error: 1, abort: 1, scroll: 1 }; //misc - - function check(event) { - var related = event.relatedTarget; - if (!related) { - return related == null; - } - return (related != this && related.prefix != 'xul' && !/document/.test(this.toString()) && !isDescendant(this, related)); - } - - var customEvents = { - mouseenter: { base: 'mouseover', condition: check }, - mouseleave: { base: 'mouseout', condition: check }, - mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' } - }; - - var bean = { add: add, remove: remove, clone: clone, fire: fire }; - - var clean = function (el) { - var uid = remove(el).__uid; - if (uid) { - delete collected[uid]; - delete registry[uid]; - } - }; - - if (context[attachEvent]) { - add(context, 'unload', function () { - for (var k in collected) { - collected.hasOwnProperty(k) && clean(collected[k]); - } - context.CollectGarbage && CollectGarbage(); - }); - } - - var oldBean = context.bean; - bean.noConflict = function () { - context.bean = oldBean; - return this; - }; - - (typeof module !== 'undefined' && module.exports) ? - (module.exports = bean) : - (context['bean'] = bean); - -}(this);!function ($) { - var b = bean.noConflict(), - integrate = function (method, type, method2) { - var _args = type ? [type] : []; - return function () { - for (var args, i = 0, l = this.length; i < l; i++) { - args = [this[i]].concat(_args, Array.prototype.slice.call(arguments, 0)); - args.length == 4 && args.push($); - !arguments.length && method == 'add' && type && (method = 'fire'); - b[method].apply(this, args); - } - return this; - }; - }; - - var add = integrate('add'), - remove = integrate('remove'), - fire = integrate('fire'); - - var methods = { - - on: add, - addListener: add, - bind: add, - listen: add, - delegate: add, - - unbind: remove, - unlisten: remove, - removeListener: remove, - undelegate: remove, - - emit: fire, - trigger: fire, - - cloneEvents: integrate('clone'), - - hover: function (enter, leave) { - for (var i = 0, l = this.length; i < l; i++) { - b.add.call(this, this[i], 'mouseenter', enter); - b.add.call(this, this[i], 'mouseleave', leave); - } - return this; - } - }; - - var shortcuts = [ - 'blur', 'change', 'click', 'dblclick', 'error', 'focus', 'focusin', - 'focusout', 'keydown', 'keypress', 'keyup', 'load', 'mousedown', - 'mouseenter', 'mouseleave', 'mouseout', 'mouseover', 'mouseup', - 'resize', 'scroll', 'select', 'submit', 'unload' - ]; - - for (var i = shortcuts.length; i--;) { - var shortcut = shortcuts[i]; - methods[shortcut] = integrate('add', shortcut); - } - - $.ender(methods, true); -}(ender); -/*! - * bonzo.js - copyright @dedfat 2011 - * https://github.com/ded/bonzo - * Follow our software http://twitter.com/dedfat - * MIT License - */ -!function (context) { - - var doc = context.document, - html = doc.documentElement, - query = null, - byTag = 'getElementsByTagName', - specialAttributes = /^checked|value|selected$/, - specialTags = /select|map|fieldset|table|tbody|tr|colgroup/i, - tagMap = { select: 'option', table: 'tbody', tr: 'td' }, - stateAttributes = /^checked|selected$/, - ie = /msie/i.test(navigator.userAgent), - uidList = [], - uuids = 0, - digit = /^-?[\d\.]+$/, - px = 'px', - // commonly used methods - setAttribute = 'setAttribute', - getAttribute = 'getAttribute', - trimReplace = /(^\s*|\s*$)/g, - unitless = { lineHeight: 1, zoom: 1, zIndex: 1, opacity: 1 }; - - function classReg(c) { - return new RegExp("(^|\\s+)" + c + "(\\s+|$)"); - } - - function each(ar, fn, scope) { - for (var i = 0, l = ar.length; i < l; i++) { - fn.call(scope || ar[i], ar[i], i, ar); - } - return ar; - } - - var trim = String.prototype.trim ? - function (s) { - return s.trim(); - } : - function (s) { - return s.replace(trimReplace, ''); - }; - - function camelize(s) { - return s.replace(/-(.)/g, function (m, m1) { - return m1.toUpperCase(); - }); - } - - function is(node) { - return node && node.nodeName && node.nodeType == 1; - } - - function some(ar, fn, scope) { - for (var i = 0, j = ar.length; i < j; ++i) { - if (fn.call(scope, ar[i], i, ar)) { - return true; - } - } - return false; - } - - var getStyle = doc.defaultView && doc.defaultView.getComputedStyle ? - function (el, property) { - var value = null; - if (property == 'float') { - property = 'cssFloat'; - } - var computed = doc.defaultView.getComputedStyle(el, ''); - computed && (value = computed[camelize(property)]); - return el.style[property] || value; - - } : (ie && html.currentStyle) ? - - function (el, property) { - property = camelize(property); - property = property == 'float' ? 'styleFloat' : property; - - if (property == 'opacity') { - var val = 100; - try { - val = el.filters['DXImageTransform.Microsoft.Alpha'].opacity; - } catch (e1) { - try { - val = el.filters('alpha').opacity; - } catch (e2) {} - } - return val / 100; - } - var value = el.currentStyle ? el.currentStyle[property] : null; - return el.style[property] || value; - } : - - function (el, property) { - return el.style[camelize(property)]; - }; - - function insert(target, host, fn) { - var i = 0, self = host || this, r = []; - each(normalize(query ? query(target) : target), function (t) { - each(self, function (el) { - var n = el.cloneNode(true); - fn(t, n); - r[i] = n; - i++; - }); - }, this); - each(r, function (e, i) { - self[i] = e; - }); - self.length = i; - return self; - } - - function xy(el, x, y) { - var $el = bonzo(el), - style = $el.css('position'), - offset = $el.offset(), - rel = 'relative', - isRel = style == rel, - delta = [parseInt($el.css('left'), 10), parseInt($el.css('top'), 10)]; - - if (style == 'static') { - $el.css('position', rel); - style = rel; - } - - isNaN(delta[0]) && (delta[0] = isRel ? 0 : el.offsetLeft); - isNaN(delta[1]) && (delta[1] = isRel ? 0 : el.offsetTop); - - x !== null && (el.style.left = x - offset.left + delta[0] + 'px'); - y !== null && (el.style.top = y - offset.top + delta[1] + 'px'); - - } - - function Bonzo(elements) { - this.length = 0; - this.original = elements; - if (elements) { - elements = typeof elements !== 'string' && - !elements.nodeType && - typeof elements.length !== 'undefined' ? - elements : - [elements]; - this.length = elements.length; - for (var i = 0; i < elements.length; i++) { - this[i] = elements[i]; - } - } - } - - Bonzo.prototype = { - - each: function (fn, scope) { - return each(this, fn, scope); - }, - - map: function (fn, reject) { - var m = [], n, i; - for (i = 0; i < this.length; i++) { - n = fn.call(this, this[i]); - reject ? (reject(n) && m.push(n)) : m.push(n); - } - return m; - }, - - first: function () { - return bonzo(this[0]); - }, - - last: function () { - return bonzo(this[this.length - 1]); - }, - - html: function (h, text) { - var method = text ? - html.textContent == null ? - 'innerText' : - 'textContent' : - 'innerHTML', m; - function append(el, tag) { - while (el.firstChild) { - el.removeChild(el.firstChild); - } - each(normalize(h, tag), function (node) { - el.appendChild(node); - }); - } - return typeof h !== 'undefined' ? - this.each(function (el) { - (m = el.tagName.match(specialTags)) ? - append(el, m[0]) : - (el[method] = h); - }) : - this[0] ? this[0][method] : ''; - }, - - text: function (text) { - return this.html(text, 1); - }, - - addClass: function (c) { - return this.each(function (el) { - this.hasClass(el, c) || (el.className = trim(el.className + ' ' + c)); - }, this); - }, - - removeClass: function (c) { - return this.each(function (el) { - this.hasClass(el, c) && (el.className = trim(el.className.replace(classReg(c), ' '))); - }, this); - }, - - hasClass: function (el, c) { - return typeof c == 'undefined' ? - some(this, function (i) { - return classReg(el).test(i.className); - }) : - classReg(c).test(el.className); - }, - - toggleClass: function (c, condition) { - if (typeof condition !== 'undefined' && !condition) { - return this; - } - return this.each(function (el) { - this.hasClass(el, c) ? - (el.className = trim(el.className.replace(classReg(c), ' '))) : - (el.className = trim(el.className + ' ' + c)); - }, this); - }, - - show: function (type) { - return this.each(function (el) { - el.style.display = type || ''; - }); - }, - - hide: function (elements) { - return this.each(function (el) { - el.style.display = 'none'; - }); - }, - - append: function (node) { - return this.each(function (el) { - each(normalize(node), function (i) { - el.appendChild(i); - }); - }); - }, - - prepend: function (node) { - return this.each(function (el) { - var first = el.firstChild; - each(normalize(node), function (i) { - el.insertBefore(i, first); - }); - }); - }, - - appendTo: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.appendChild(el); - }); - }, - - prependTo: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.insertBefore(el, t.firstChild); - }); - }, - - next: function () { - return this.related('nextSibling'); - }, - - previous: function () { - return this.related('previousSibling'); - }, - - related: function (method) { - return this.map( - function (el) { - el = el[method]; - while (el && el.nodeType !== 1) { - el = el[method]; - } - return el || 0; - }, - function (el) { - return el; - } - ); - }, - - before: function (node) { - return this.each(function (el) { - each(bonzo.create(node), function (i) { - el.parentNode.insertBefore(i, el); - }); - }); - }, - - after: function (node) { - return this.each(function (el) { - each(bonzo.create(node), function (i) { - el.parentNode.insertBefore(i, el.nextSibling); - }); - }); - }, - - insertBefore: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.parentNode.insertBefore(el, t); - }); - }, - - insertAfter: function (target, host) { - return insert.call(this, target, host, function (t, el) { - var sibling = t.nextSibling; - if (sibling) { - t.parentNode.insertBefore(el, sibling); - } - else { - t.parentNode.appendChild(el); - } - }); - }, - - css: function (o, v) { - // is this a request for just getting a style? - if (v === undefined && typeof o == 'string') { - return getStyle(this[0], o); - } - var iter = o; - if (typeof o == 'string') { - iter = {}; - iter[o] = v; - } - - if (ie && iter.opacity) { - // oh this 'ol gamut - iter.filter = 'alpha(opacity=' + (iter.opacity * 100) + ')'; - // give it layout - iter.zoom = o.zoom || 1; - delete iter.opacity; - } - - if (v = iter['float']) { - // float is a reserved style word. w3 uses cssFloat, ie uses styleFloat - ie ? (iter.styleFloat = v) : (iter.cssFloat = v); - delete iter['float']; - } - - var fn = function (el, p, v) { - for (var k in iter) { - if (iter.hasOwnProperty(k)) { - v = iter[k]; - // change "5" to "5px" - unless you're line-height, which is allowed - (p = camelize(k)) && digit.test(v) && !(p in unitless) && (v += px); - el.style[p] = v; - } - } - }; - return this.each(fn); - }, - - offset: function (x, y) { - if (x || y) { - return this.each(function (el) { - xy(el, x, y); - }); - } - var el = this[0]; - var width = el.offsetWidth; - var height = el.offsetHeight; - var top = el.offsetTop; - var left = el.offsetLeft; - while (el = el.offsetParent) { - top = top + el.offsetTop; - left = left + el.offsetLeft; - } - - return { - top: top, - left: left, - height: height, - width: width - }; - }, - - attr: function (k, v) { - var el = this[0]; - return typeof v == 'undefined' ? - specialAttributes.test(k) ? - stateAttributes.test(k) && typeof el[k] == 'string' ? - true : el[k] : el[getAttribute](k) : - this.each(function (el) { - k == 'value' ? (el.value = v) : el[setAttribute](k, v); - }); - }, - - val: function (s) { - return (typeof s == 'string') ? this.attr('value', s) : this[0].value; - }, - - removeAttr: function (k) { - return this.each(function (el) { - el.removeAttribute(k); - }); - }, - - data: function (k, v) { - var el = this[0]; - if (typeof v === 'undefined') { - el[getAttribute]('data-node-uid') || el[setAttribute]('data-node-uid', ++uuids); - var uid = el[getAttribute]('data-node-uid'); - uidList[uid] || (uidList[uid] = {}); - return uidList[uid][k]; - } else { - return this.each(function (el) { - el[getAttribute]('data-node-uid') || el[setAttribute]('data-node-uid', ++uuids); - var uid = el[getAttribute]('data-node-uid'); - var o = {}; - o[k] = v; - uidList[uid] = o; - }); - } - }, - - remove: function () { - return this.each(function (el) { - el.parentNode && el.parentNode.removeChild(el); - }); - }, - - empty: function () { - return this.each(function (el) { - while (el.firstChild) { - el.removeChild(el.firstChild); - } - }); - }, - - detach: function () { - return this.map(function (el) { - return el.parentNode.removeChild(el); - }); - }, - - scrollTop: function (y) { - return scroll.call(this, null, y, 'y'); - }, - - scrollLeft: function (x) { - return scroll.call(this, x, null, 'x'); - } - }; - - function normalize(node, tag) { - return typeof node == 'string' ? bonzo.create(node, tag) : is(node) ? [node] : node; - } - - function scroll(x, y, type) { - var el = this[0]; - if (x == null && y == null) { - return (isBody(el) ? getWindowScroll() : { x: el.scrollLeft, y: el.scrollTop })[type]; - } - if (isBody(el)) { - window.scrollTo(x, y); - } else { - x != null && (el.scrollLeft = x); - y != null && (el.scrollTop = y); - } - return this; - } - - function isBody(element) { - return element === window || (/^(?:body|html)$/i).test(element.tagName); - } - - function getWindowScroll() { - return { x: window.pageXOffset || html.scrollLeft, y: window.pageYOffset || html.scrollTop }; - } - - function bonzo(els, host) { - return new Bonzo(els, host); - } - - bonzo.setQueryEngine = function (q) { - query = q; - delete bonzo.setQueryEngine; - }; - - bonzo.aug = function (o, target) { - for (var k in o) { - o.hasOwnProperty(k) && ((target || Bonzo.prototype)[k] = o[k]); - } - }; - - bonzo.create = function (node, tag) { - return typeof node == 'string' ? - function () { - var t = tag ? tagMap[tag.toLowerCase()] : null; - var el = doc.createElement(t || 'div'), els = []; - if (tag) { - var bitches = node.match(new RegExp("<" + t + ">.+?<\\/" + t + ">", "g")); - each(bitches, function (m) { - m = m.replace(/<(.+)>(.+?)<\/\1>/, '$2'); - var bah = doc.createElement(t); - bah.appendChild(doc.createDocumentFragment(m)); - el.appendChild(bah); - }); - } else { - el.innerHTML = node; - } - var nodes = el.childNodes; - el = el.firstChild; - els.push(el); - while (el = el.nextSibling) { - (el.nodeType == 1) && els.push(el); - } - return els; - - }() : is(node) ? [node.cloneNode(true)] : []; - }; - - bonzo.doc = function () { - var w = html.scrollWidth, - h = html.scrollHeight, - vp = this.viewport(); - return { - width: Math.max(w, vp.width), - height: Math.max(h, vp.height) - }; - }; - - bonzo.firstChild = function (el) { - for (var c = el.childNodes, i = 0, j = (c && c.length) || 0, e; i < j; i++) { - if (c[i].nodeType === 1) { - e = c[j = i]; - } - } - return e; - }; - - bonzo.viewport = function () { - var h = self.innerHeight, - w = self.innerWidth; - ie && (h = html.clientHeight) && (w = html.clientWidth); - return { - width: w, - height: h - }; - }; - - bonzo.isAncestor = 'compareDocumentPosition' in html ? - function (container, element) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in html ? - function (container, element) { - return container !== element && container.contains(element); - } : - function (container, element) { - while (element = element.parentNode) { - if (element === container) { - return true; - } - } - return false; - }; - - var old = context.bonzo; - bonzo.noConflict = function () { - context.bonzo = old; - return this; - }; - context['bonzo'] = bonzo; - -}(this);!function ($) { - - var b = bonzo; - b.setQueryEngine($); - $.ender(b); - $.ender(b(), true); - $.ender({ - create: function (node) { - return $(b.create(node)); - } - }); - - $.id = function (id) { - return $([document.getElementById(id)]); - }; - - function indexOf(ar, val) { - for (var i = 0; i < ar.length; i++) { - if (ar[i] === val) { - return i; - } - } - return -1; - } - - function uniq(ar) { - var a = [], i, j; - label: - for (i = 0; i < ar.length; i++) { - for (j = 0; j < a.length; j++) { - if (a[j] == ar[i]) { - continue label; - } - } - a[a.length] = ar[i]; - } - return a; - } - - $.ender({ - parents: function (selector, closest) { - var collection = $(selector), j, k, p, r = []; - for (j = 0, k = this.length; j < k; j++) { - p = this[j]; - while (p = p.parentNode) { - if (indexOf(collection, p) !== -1) { - r.push(p); - if (closest) break; - } - } - } - return $(uniq(r)); - }, - - closest: function (selector) { - return this.parents(selector, true); - }, - - first: function () { - return $(this[0]); - }, - - last: function () { - return $(this[this.length - 1]); - }, - - next: function () { - return $(b(this).next()); - }, - - previous: function () { - return $(b(this).previous()); - }, - - appendTo: function (t) { - return b(this.selector).appendTo(t, this); - }, - - prependTo: function (t) { - return b(this.selector).prependTo(t, this); - }, - - insertAfter: function (t) { - return b(this.selector).insertAfter(t, this); - }, - - insertBefore: function (t) { - return b(this.selector).insertBefore(t, this); - }, - - siblings: function () { - var i, l, p, r = []; - for (i = 0, l = this.length; i < l; i++) { - p = this[i]; - while (p = p.previousSibling) { - p.nodeType == 1 && r.push(p); - } - p = this[i]; - while (p = p.nextSibling) { - p.nodeType == 1 && r.push(p); - } - } - return $(r); - }, - - children: function () { - var el, r = []; - for (i = 0, l = this.length; i < l; i++) { - if (!(el = b.firstChild(this[i]))) { - continue; - } - r.push(el); - while (el = el.nextSibling) { - el.nodeType == 1 && r.push(el); - } - } - return $(uniq(r)); - }, - - height: function (v) { - return v ? this.css('height', v) : parseInt(this.css('height'), 10); - }, - - width: function (v) { - return v ? this.css('width', v) : parseInt(this.css('width'), 10); - } - }, true); - -}(ender || $); - -!function () { var exports = {}, module = { exports: exports }; !function (doc) { - var loaded = 0, fns = [], ol, f = false, - testEl = doc.createElement('a'), - domContentLoaded = 'DOMContentLoaded', - addEventListener = 'addEventListener', - onreadystatechange = 'onreadystatechange'; - - /^loade|c/.test(doc.readyState) && (loaded = 1); - - function flush() { - loaded = 1; - for (var i = 0, l = fns.length; i < l; i++) { - fns[i](); - } - } - doc[addEventListener] && doc[addEventListener](domContentLoaded, function fn() { - doc.removeEventListener(domContentLoaded, fn, f); - flush(); - }, f); - - - testEl.doScroll && doc.attachEvent(onreadystatechange, (ol = function ol() { - if (/^c/.test(doc.readyState)) { - doc.detachEvent(onreadystatechange, ol); - flush(); - } - })); - - var domReady = testEl.doScroll ? - function (fn) { - self != top ? - !loaded ? - fns.push(fn) : - fn() : - !function () { - try { - testEl.doScroll('left'); - } catch (e) { - return setTimeout(function() { - domReady(fn); - }, 50); - } - fn(); - }(); - } : - function (fn) { - loaded ? fn() : fns.push(fn); - }; - - (typeof module !== 'undefined') && module.exports ? - (module.exports = {domReady: domReady}) : - (window.domReady = domReady); - -}(document); $.ender(module.exports); }.call($); -/*! - * qwery.js - copyright @dedfat - * https://github.com/ded/qwery - * Follow our software http://twitter.com/dedfat - * MIT License - */ - -!function (context, doc) { - - var c, i, j, k, l, m, o, p, r, v, - el, node, len, found, classes, item, items, token, - id = /#([\w\-]+)/, - clas = /\.[\w\-]+/g, - idOnly = /^#([\w\-]+$)/, - classOnly = /^\.([\w\-]+)$/, - tagOnly = /^([\w\-]+)$/, - tagAndOrClass = /^([\w]+)?\.([\w\-]+)$/, - html = doc.documentElement, - tokenizr = /\s(?![\s\w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^'"]*\])/, - specialChars = /([.*+?\^=!:${}()|\[\]\/\\])/g, - simple = /^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/, - attr = /\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/, - chunker = new RegExp(simple.source + '(' + attr.source + ')?'); - - function array(ar) { - r = []; - for (i = 0, len = ar.length; i < len; i++) { - r[i] = ar[i]; - } - return r; - } - - var cache = function () { - this.c = {}; - }; - cache.prototype = { - g: function (k) { - return this.c[k] || undefined; - }, - s: function (k, v) { - this.c[k] = v; - return v; - } - }; - - var classCache = new cache(), - cleanCache = new cache(), - attrCache = new cache(), - tokenCache = new cache(); - - function q(query) { - return query.match(chunker); - } - - function interpret(whole, tag, idsAndClasses, wholeAttribute, attribute, qualifier, value) { - var m, c, k; - if (tag && this.tagName.toLowerCase() !== tag) { - return false; - } - if (idsAndClasses && (m = idsAndClasses.match(id)) && m[1] !== this.id) { - return false; - } - if (idsAndClasses && (classes = idsAndClasses.match(clas))) { - for (i = classes.length; i--;) { - c = classes[i].slice(1); - if (!(classCache.g(c) || classCache.s(c, new RegExp('(^|\\s+)' + c + '(\\s+|$)'))).test(this.className)) { - return false; - } - } - } - if (wholeAttribute && !value) { - o = this.attributes; - for (k in o) { - if (Object.prototype.hasOwnProperty.call(o, k) && (o[k].name || k) == attribute) { - return this; - } - } - } - if (wholeAttribute && !checkAttr(qualifier, this.getAttribute(attribute) || '', value)) { - return false; - } - return this; - } - - function loopAll(tokens) { - var r = [], token = tokens.pop(), intr = q(token), tag = intr[1] || '*', i, l, els, - root = tokens.length && (m = tokens[0].match(idOnly)) ? doc.getElementById(m[1]) : doc; - if (!root) { - return r; - } - els = root.getElementsByTagName(tag); - for (i = 0, l = els.length; i < l; i++) { - el = els[i]; - if (item = interpret.apply(el, intr)) { - r.push(item); - } - } - return r; - } - - function clean(s) { - return cleanCache.g(s) || cleanCache.s(s, s.replace(specialChars, '\\$1')); - } - - function checkAttr(qualify, actual, val) { - switch (qualify) { - case '=': - return actual == val; - case '^=': - return actual.match(attrCache.g('^=' + val) || attrCache.s('^=' + val, new RegExp('^' + clean(val)))); - case '$=': - return actual.match(attrCache.g('$=' + val) || attrCache.s('$=' + val, new RegExp(clean(val) + '$'))); - case '*=': - return actual.match(attrCache.g(val) || attrCache.s(val, new RegExp(clean(val)))); - case '~=': - return actual.match(attrCache.g('~=' + val) || attrCache.s('~=' + val, new RegExp('(?:^|\\s+)' + clean(val) + '(?:\\s+|$)'))); - case '|=': - return actual.match(attrCache.g('|=' + val) || attrCache.s('|=' + val, new RegExp('^' + clean(val) + '(-|$)'))); - } - return false; - } - - function _qwery(selector) { - var r = [], ret = [], i, l, - tokens = tokenCache.g(selector) || tokenCache.s(selector, selector.split(tokenizr)); - tokens = tokens.slice(0); - if (!tokens.length) { - return r; - } - r = loopAll(tokens); - if (!tokens.length) { - return r; - } - // loop through all descendent tokens - for (j = 0, l = r.length, k = 0; j < l; j++) { - node = r[j]; - p = node; - // loop through each token - for (i = tokens.length; i--;) { - z: // loop through parent nodes - while (p !== html && (p = p.parentNode)) { - if (found = interpret.apply(p, q(tokens[i]))) { - break z; - } - } - } - found && (ret[k++] = node); - } - return ret; - } - - function boilerPlate(selector, _root, fn) { - var root = (typeof _root == 'string') ? fn(_root)[0] : (_root || doc); - if (selector === window || isNode(selector)) { - return !_root || (selector !== window && isNode(root) && isAncestor(selector, root)) ? [selector] : []; - } - if (selector && typeof selector === 'object' && isFinite(selector.length)) { - return array(selector); - } - if (m = selector.match(idOnly)) { - return (el = doc.getElementById(m[1])) ? [el] : []; - } - if (m = selector.match(tagOnly)) { - return array(root.getElementsByTagName(m[1])); - } - return false; - } - - function isNode(el) { - return (el && el.nodeType && (el.nodeType == 1 || el.nodeType == 9)); - } - - function uniq(ar) { - var a = [], i, j; - label: - for (i = 0; i < ar.length; i++) { - for (j = 0; j < a.length; j++) { - if (a[j] == ar[i]) { - continue label; - } - } - a[a.length] = ar[i]; - } - return a; - } - - function qwery(selector, _root) { - var root = (typeof _root == 'string') ? qwery(_root)[0] : (_root || doc); - if (!root || !selector) { - return []; - } - if (m = boilerPlate(selector, _root, qwery)) { - return m; - } - return select(selector, root); - } - - var isAncestor = 'compareDocumentPosition' in html ? - function (element, container) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in html ? - function (element, container) { - container = container == doc || container == window ? html : container; - return container !== element && container.contains(element); - } : - function (element, container) { - while (element = element.parentNode) { - if (element === container) { - return 1; - } - } - return 0; - }, - - select = (doc.querySelector && doc.querySelectorAll) ? - function (selector, root) { - if (doc.getElementsByClassName && (m = selector.match(classOnly))) { - return array((root).getElementsByClassName(m[1])); - } - return array((root).querySelectorAll(selector)); - } : - function (selector, root) { - var result = [], collection, collections = [], i; - if (m = selector.match(tagAndOrClass)) { - items = root.getElementsByTagName(m[1] || '*'); - r = classCache.g(m[2]) || classCache.s(m[2], new RegExp('(^|\\s+)' + m[2] + '(\\s+|$)')); - for (i = 0, l = items.length, j = 0; i < l; i++) { - r.test(items[i].className) && (result[j++] = items[i]); - } - return result; - } - for (i = 0, items = selector.split(','), l = items.length; i < l; i++) { - collections[i] = _qwery(items[i]); - } - for (i = 0, l = collections.length; i < l && (collection = collections[i]); i++) { - var ret = collection; - if (root !== doc) { - ret = []; - for (j = 0, m = collection.length; j < m && (element = collection[j]); j++) { - // make sure element is a descendent of root - isAncestor(element, root) && ret.push(element); - } - } - result = result.concat(ret); - } - return uniq(result); - }; - - qwery.uniq = uniq; - var oldQwery = context.qwery; - qwery.noConflict = function () { - context.qwery = oldQwery; - return this; - }; - context['qwery'] = qwery; - -}(this, document);!function (doc) { - var q = qwery.noConflict(); - function create(node, root) { - var el = (root || doc).createElement('div'), els = []; - el.innerHTML = node; - var nodes = el.childNodes; - el = el.firstChild; - els.push(el); - while (el = el.nextSibling) { - (el.nodeType == 1) && els.push(el); - } - return els; - }; - $._select = function (s, r) { - return /^\s*.+?<\\/"+d+">","g"));t(g,function(a){a=a.replace(/<(.+)>(.+?)<\/\1>/,"$2");var c=b.createElement(d);c.appendChild(b.createDocumentFragment(a)),e.appendChild(c)})}else e.innerHTML=a;var i=e.childNodes;e=e.firstChild,f.push(e);while(e=e.nextSibling)e.nodeType==1&&f.push(e);return f}():w(a)?[a.cloneNode(!0)]:[]},G.doc=function(){var a=c.scrollWidth,b=c.scrollHeight,d=this.viewport();return{width:Math.max(a,d.width),height:Math.max(b,d.height)}},G.firstChild=function(a){for(var b=a.childNodes,c=0,d=b&&b.length||0,e;c\{\}\$\*\^'"]*\])/,C=/([.*+?\^=!:${}()|\[\]\/\\])/g,D=/^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/,E=/\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/,F=new RegExp(D.source+"("+E.source+")?"),H=function(){this.c={}};H.prototype={g:function(a){return this.c[a]||undefined},s:function(a,b){this.c[a]=b;return b}};var I=new H,J=new H,K=new H,L=new H,W="compareDocumentPosition"in A?function(a,b){return(b.compareDocumentPosition(a)&16)==16}:"contains"in A?function(a,c){c=c==b||c==window?A:c;return c!==a&&c.contains(a)}:function(a,b){while(a=a.parentNode)if(a===b)return 1;return 0},X=b.querySelector&&b.querySelectorAll?function(a,c){if(b.getElementsByClassName&&(h=a.match(x)))return G(c.getElementsByClassName(h[1]));return G(c.querySelectorAll(a))}:function(a,c){var d=[],f,i=[],j;if(h=a.match(z)){s=c.getElementsByTagName(h[1]||"*"),k=I.g(h[2])||I.s(h[2],new RegExp("(^|\\s+)"+h[2]+"(\\s+|$)"));for(j=0,g=s.length,e=0;j~])?/, - selectorSplit: /(?:\[.*\]|\(.*\)|[^\s+>~[(])+|[+>~]/g, - id: /^#([-\w\u00C0-\uFFFF=$]+)$/, - tag: /^\w+/, - relation: /^[+>~]$/, - pseudo: /^:(\w[-\w]*)(\((.+)\))?$/, - pseudos: /:(\w[-\w]*)(\((([^(]+)|([^(]+\([^(]+)\))\))?/g, - attribs: /\[(\w+)\s*([~^$*|])?(=)?\s*([^\[\]]*|"[^"]*"|'[^']*')?\](?=$|\[|:|\s)/g, - classes: /\.([-\w\u00C0-\uFFFF]+)/g, - quoted: /^["'](.*)["']$/, - nth: /^((odd|even)|([1-9]\d*)|((([1-9]\d*)?)n([-+]\d+)?)|(-(([1-9]\d*)?)n\+(\d+)))$/, - special: /(:check|:enabl|\bselect)ed\b/ - }, - navigate = function (node, direction, checkTagName) { - var oldName = node.tagName; - while ((node = node[direction + "Sibling"]) && (node.nodeType !== 1 || (checkTagName? node.tagName !== oldName : node.tagName === "!"))) {} - return node; - }, - def = function (obj) { - return typeof obj !== "undefined"; - }, - sortDocumentOrder = function (elmArray) { - return (sortDocumentOrder = elmArray[0].compareDocumentPosition? function (elmArray) { return elmArray.sort( function (a, b) { return 3 - (a.compareDocumentPosition(b) & 6); } ); } : - isIE? function (elmArray) { return elmArray.sort( function (a, b) { return a.sourceIndex - b.sourceIndex; } ); } : - function (elmArray) { return elmArray.sort( function (a, b) { - var range1 = document.createRange(), range2 = document.createRange(); - range1.setStart(a, 0); - range1.setEnd(a, 0); - range2.setStart(b, 0); - range2.setEnd(b, 0); - return range1.compareBoundaryPoints(Range.START_TO_END, range2); - } ); })(elmArray); - }; - var pushAll = function (set1, set2) { - set1.push.apply(set1, slice.apply(set2)); - return set1; - }; - if (isIE) { - pushAll = function (set1, set2) { - if (set2.slice) { - return set1.concat(set2); - } - var i=0, item; - while ((item = set2[i++])) { - set1[set1.length] = item; - } - return set1; - }; - } - return { - isIE : isIE, - camel : camel, - def : def, - allMethods : [], - publicMethods : [ - "prev", - "next", - "hasChild", - "cssSelect", - "elmsByClass", - "elmsByAttribute", - "elmsByTag" - ], - - harmonize : function () { - w.$ = _$; - w.$$ = _$$; - return this; - }, - - initCore : function () { - this.applyMethod.call(w, "$", this.$); - this.applyMethod.call(w, "$$", this.$$); - w.DOMAssistant = this; - if (isIE) { - HTMLArray = Array; - } - HTMLArray.prototype = []; - (function (H) { - H.each = function (fn, context) { - for (var i=0, il=this.length; i= add)? (start - add) % add : start; - } - else if (pseudoVal[8]) { // -an+b - add = pseudoVal[10]? parseInt(pseudoVal[10], 10) : 1; - start = max = parseInt(pseudoVal[11], 10); - while (start > add) { - start -= add; - } - modVal = (max >= add)? (max - add) % add : max; - } - return { start: start, add: add, max: max, modVal: modVal }; - }, - - cssByDOM : function (cssRule) { - var prevParents, currentRule, cssSelectors, childOrSiblingRef, nextTag, nextRegExp, current, previous, prevParent, notElm, addElm, iteratorNext, childElm, sequence, anyTag, - elm = new HTMLArray(), index = elm.indexOf, prevElm = [], matchingElms = [], cssRules = cssRule.replace(regex.rules, ",").split(","), splitRule = {}; - function clearAdded (elm) { - elm = elm || prevElm; - for (var n=elm.length; n--;) { - elm[n].added = null; - elm[n].removeAttribute("added"); - } - } - function clearChildElms () { - for (var n=prevParents.length; n--;) { - prevParents[n].childElms = null; - } - } - function subtractArray (arr1, arr2) { - for (var i=0, src1; (src1=arr1[i]); i++) { - var found = false; - for (var j=0, src2; (src2=arr2[j]); j++) { - if (src2 === src1) { - found = true; - arr2.splice(j, 1); - break; - } - } - if (found) { - arr1.splice(i--, 1); - } - } - return arr1; - } - function getAttr (elm, attr) { - return (isIE || regex.special.test(attr))? elm[camel[attr.toLowerCase()] || attr] : elm.getAttribute(attr, 2); - } - function attrToRegExp (attrVal, substrOperator) { - attrVal = attrVal? attrVal.replace(regex.quoted, "$1").replace(/(\.|\[|\])/g, "\\$1") : null; - return { - "^": "^" + attrVal, - "$": attrVal + "$", - "*": attrVal, - "|": "^" + attrVal + "(\\-\\w+)*$", - "~": "\\b" + attrVal + "\\b" - }[substrOperator] || (attrVal !== null? "^" + attrVal + "$" : attrVal); - } - function notComment(el) { - return (el || this).tagName !== "!"; - } - function getTags (tag, context) { - return isIE5? (tag === "*"? context.all : context.all.tags(tag)) : context.getElementsByTagName(tag); - } - function getElementsByTagName (tag, parent) { - tag = tag || "*"; - parent = parent || document; - return (parent === document || parent.lastModified)? tagCache[tag] || (tagCache[tag] = getTags(tag, document)) : getTags(tag, parent); - } - function getElementsByPseudo (previousMatch, pseudoClass, pseudoValue) { - prevParents = []; - var pseudo = pseudoClass.split("-"), matchingElms = [], idx = 0, checkNodeName = /\-of\-type$/.test(pseudoClass), recur, - match = { - first: function(el) { return !navigate(el, "previous", checkNodeName); }, - last: function(el) { return !navigate(el, "next", checkNodeName); }, - empty: function(el) { return !el.firstChild; }, - enabled: function(el) { return !el.disabled && el.type !== "hidden"; }, - disabled: function(el) { return el.disabled; }, - checked: function(el) { return el.checked; }, - contains: function(el) { return (el.innerText || el.textContent || "").indexOf(pseudoValue.replace(regex.quoted, "$1")) > -1; }, - other: function(el) { return getAttr(el, pseudoClass) === pseudoValue; } - }; - function basicMatch(key) { - while ((previous=previousMatch[idx++])) { - if (notComment(previous) && match[key](previous)) { - matchingElms[matchingElms.length] = previous; - } - } - return matchingElms; - } - var word = pseudo[0] || null; - if (word && match[word]) { - return basicMatch(word); - } - switch (word) { - case "only": - var kParent, kTag; - while ((previous=previousMatch[idx++])) { - prevParent = previous.parentNode; - var q = previous.nodeName; - if (prevParent !== kParent || q !== kTag) { - if (match.first(previous) && match.last(previous)) { - matchingElms[matchingElms.length] = previous; - } - kParent = prevParent; - kTag = q; - } - } - break; - case "nth": - if (pseudoValue === "n") { - matchingElms = previousMatch; - } - else { - var direction = (pseudo[1] === "last")? ["lastChild", "previousSibling"] : ["firstChild", "nextSibling"]; - sequence = DOMAssistant.getSequence(pseudoValue); - if (sequence) { - while ((previous=previousMatch[idx++])) { - prevParent = previous.parentNode; - prevParent.childElms = prevParent.childElms || {}; - var p = previous.nodeName; - if (!prevParent.childElms[p]) { - var childCount = 0; - iteratorNext = sequence.start; - childElm = prevParent[direction[0]]; - while (childElm && (sequence.max < 0 || iteratorNext <= sequence.max)) { - var c = childElm.nodeName; - if ((checkNodeName && c === p) || (!checkNodeName && childElm.nodeType === 1 && c !== "!")) { - if (++childCount === iteratorNext) { - if (c === p) { matchingElms[matchingElms.length] = childElm; } - iteratorNext += sequence.add; - } - } - childElm = childElm[direction[1]]; - } - if (anyTag) { sort++; } - prevParent.childElms[p] = true; - prevParents[prevParents.length] = prevParent; - } - } - clearChildElms(); - } - } - break; - case "target": - var hash = document.location.hash.slice(1); - if (hash) { - while ((previous=previousMatch[idx++])) { - if (getAttr(previous, "name") === hash || getAttr(previous, "id") === hash) { - matchingElms[matchingElms.length] = previous; - break; - } - } - } - break; - case "not": - if ((recur = regex.pseudo.exec(pseudoValue))) { - matchingElms = subtractArray(previousMatch, getElementsByPseudo(previousMatch, recur[1]? recur[1].toLowerCase() : null, recur[3] || null)); - } - else { - for (var re in regex) { - if (regex[re].lastIndex) { - regex[re].lastIndex = 0; - } - } - pseudoValue = pseudoValue.replace(regex.id, "[id=$1]"); - var notTag = regex.tag.exec(pseudoValue); - var notClass = regex.classes.exec(pseudoValue); - var notAttr = regex.attribs.exec(pseudoValue); - var notRegExp = new RegExp(notAttr? attrToRegExp(notAttr[4], notAttr[2]) : "(^|\\s)" + (notTag? notTag[0] : notClass? notClass[1] : "") + "(\\s|$)", "i"); - while ((notElm=previousMatch[idx++])) { - addElm = null; - if (notTag && !notRegExp.test(notElm.nodeName) || notClass && !notRegExp.test(notElm.className)) { - addElm = notElm; - } - else if (notAttr) { - var att = getAttr(notElm, notAttr[1]); - if (!def(att) || att === false || typeof att === "string" && !notRegExp.test(att)) { - addElm = notElm; - } - } - if (addElm && !addElm.added) { - addElm.added = true; - matchingElms[matchingElms.length] = addElm; - } - } - } - break; - default: return basicMatch("other"); - } - return matchingElms; - } - function pushUnique(set1, set2) { - var i=0, s=set1, item; - while ((item = set2[i++])) { - if (!s.length || s.indexOf(item) < 0) { - set1.push(item); - } - } - return set1; - } - sort = -1; - for (var a=0, tagBin=[]; (currentRule=cssRules[a]); a++) { - if (!(cssSelectors = currentRule.match(regex.selectorSplit)) || a && index.call(cssRules.slice(0, a), currentRule) > -1) { continue; } - prevElm = [this]; - for (var i=0, rule; (rule=cssSelectors[i]); i++) { - matchingElms = []; - if ((childOrSiblingRef = regex.relation.exec(rule))) { - var idElm = null, nextWord = cssSelectors[i+1]; - if ((nextTag = regex.tag.exec(nextWord))) { - nextTag = nextTag[0]; - nextRegExp = new RegExp("(^|\\s)" + nextTag + "(\\s|$)", "i"); - } - else if (regex.id.test(nextWord)) { - idElm = DOMAssistant.$(nextWord) || null; - } - for (var j=0, prevRef; (prevRef=prevElm[j]); j++) { - switch (childOrSiblingRef[0]) { - case ">": - var children = idElm || getElementsByTagName(nextTag, prevRef); - for (var k=0, child; (child=children[k]); k++) { - if (child.parentNode === prevRef) { - matchingElms[matchingElms.length] = child; - } - } - break; - case "+": - if ((prevRef = navigate(prevRef, "next"))) { - if ((idElm && idElm[0] === prevRef) || (!idElm && (!nextTag || nextRegExp.test(prevRef.nodeName)))) { - matchingElms[matchingElms.length] = prevRef; - } - } - break; - case "~": - while ((prevRef = prevRef.nextSibling) && !prevRef.added) { - if ((idElm && idElm[0] === prevRef) || (!idElm && (!nextTag || nextRegExp.test(prevRef.nodeName)))) { - prevRef.added = true; - matchingElms[matchingElms.length] = prevRef; - } - } - break; - } - } - prevElm = matchingElms; - clearAdded(); - rule = cssSelectors[++i]; - if (/^\w+$/.test(rule) || regex.id.test(rule)) { - continue; - } - prevElm.skipTag = true; - } - var cssSelector = regex.selector.exec(rule); - splitRule = { - tag : cssSelector[1]? cssSelector[1] : "*", - id : cssSelector[2], - allClasses : cssSelector[3], - allAttr : cssSelector[5], - allPseudos : cssSelector[10] - }; - anyTag = (splitRule.tag === "*"); - if (splitRule.id) { - var u = 0, DOMElm = document.getElementById(splitRule.id.slice(1)); - if (DOMElm) { - while (prevElm[u] && !DOMAssistant.hasChild.call(prevElm[u], DOMElm)) { u++; } - matchingElms = (u < prevElm.length && (anyTag || splitRule.tag === DOMElm.tagName.toLowerCase()))? [DOMElm] : []; - } - prevElm = matchingElms; - } - else if (splitRule.tag && !prevElm.skipTag) { - if (i===0 && !matchingElms.length && prevElm.length === 1) { - prevElm = matchingElms = pushAll([], getElementsByTagName(splitRule.tag, prevElm[0])); - } - else { - for (var l=0, ll=prevElm.length, tagCollectionMatches, tagMatch; l= 0 || index.call(tagBin, "*") >= 0))? pushUnique : pushAll)(elm, prevElm); - tagBin.push(splitRule.tag); - if (isIE && anyTag) { elm = elm.filter(notComment); } - } - return ((elm.length > 1 && cssRules.length > 1) || sort > 0)? sortDocumentOrder(elm) : elm; - }, - - cssByXpath : function (cssRule) { - var ns = { xhtml: "http://www.w3.org/1999/xhtml" }, - prefix = (document.documentElement.namespaceURI === ns.xhtml)? "xhtml:" : "", - nsResolver = function lookupNamespaceURI (prefix) { - return ns[prefix] || null; - }; - DOMAssistant.cssByXpath = function (cssRule) { - var currentRule, cssSelectors, xPathExpression, cssSelector, splitRule, sequence, - elm = new HTMLArray(), cssRules = cssRule.replace(regex.rules, ",").split(","); - function attrToXPath (wrap) { - var pre = wrap? "[" : "", post = wrap? "]" : ""; - return function (match, p1, p2, p3, p4) { - p4 = (p4 || "").replace(regex.quoted, "$1"); - if (p1 === p4 && p1 === "readonly") { p3 = null; } - return pre + ({ - "^": "starts-with(@" + p1 + ", \"" + p4 + "\")", - "$": "substring(@" + p1 + ", (string-length(@" + p1 + ") - " + (p4.length - 1) + "), " + p4.length + ") = \"" + p4 + "\"", - "*": "contains(concat(\" \", @" + p1 + ", \" \"), \"" + p4 + "\")", - "|": "@" + p1 + "=\"" + p4 + "\" or starts-with(@" + p1 + ", \"" + p4 + "-\")", - "~": "contains(concat(\" \", @" + p1 + ", \" \"), \" " + p4 + " \")" - }[p2] || ("@" + p1 + (p3? "=\"" + p4 + "\"" : ""))) + post; - }; - } - function pseudoToXPath (tag, pseudoClass, pseudoValue) { - tag = /\-child$/.test(pseudoClass)? "*" : tag; - var pseudo = pseudoClass.split("-"), position = ((pseudo[1] === "last")? "(count(following-sibling::" : "(count(preceding-sibling::") + tag + ") + 1)", recur, hash; - switch (pseudo[0]) { - case "nth": return (pseudoValue !== "n" && (sequence = DOMAssistant.getSequence(pseudoValue)))? ((sequence.start === sequence.max)? position + " = " + sequence.start : position + " mod " + sequence.add + " = " + sequence.modVal + ((sequence.start > 1)? " and " + position + " >= " + sequence.start : "") + ((sequence.max > 0)? " and " + position + " <= " + sequence.max: "")) : ""; - case "not": return "not(" + ((recur = regex.pseudo.exec(pseudoValue))? pseudoToXPath(tag, recur[1]? recur[1].toLowerCase() : null, recur[3] || null) : pseudoValue.replace(regex.id, "[id=$1]").replace(regex.tag, "self::$0").replace(regex.classes, "contains(concat(\" \", @class, \" \"), \" $1 \")").replace(regex.attribs, attrToXPath())) + ")"; - case "first": return "not(preceding-sibling::" + tag + ")"; - case "last": return "not(following-sibling::" + tag + ")"; - case "only": return "not(preceding-sibling::" + tag + " or following-sibling::" + tag + ")"; - case "empty": return "not(child::*) and not(text())"; - case "contains": return "contains(., \"" + pseudoValue.replace(regex.quoted, "$1") + "\")"; - case "enabled": return "not(@disabled) and not(@type=\"hidden\")"; - case "disabled": return "@disabled"; - case "target": return "@name=\"" + (hash = document.location.hash.slice(1)) + "\" or @id=\"" + hash + "\""; - default: return "@" + pseudoClass + "=\"" + pseudoValue + "\""; - } - } - for (var i=0; (currentRule=cssRules[i]); i++) { - if (!(cssSelectors = currentRule.match(regex.selectorSplit)) || i && elm.indexOf.call(cssRules.slice(0, i), currentRule) > -1) { continue; } - xPathExpression = xPathExpression? xPathExpression + " | ." : "."; - for (var j=0, jl=cssSelectors.length; j": "/", "+": "/following-sibling::*[1]/self::", "~": "/following-sibling::" }[splitRule.tagRelation] || "") : ((j > 0 && regex.relation.test(cssSelectors[j-1]))? splitRule.tag : ("//" + splitRule.tag))) + - (splitRule.id || "").replace(regex.id, "[@id = \"$1\"]") + - (splitRule.allClasses || "").replace(regex.classes, "[contains(concat(\" \", @class, \" \"), \" $1 \")]") + - (splitRule.allAttr || "").replace(regex.attribs, attrToXPath(true)); - if (splitRule.allPseudos) { - var allPseudos = splitRule.allPseudos.match(regex.pseudos); - for (var k=0, kl=allPseudos.length; k 0 && ajaxObj.params)? ("&" + ajaxObj.params) : ""); - } - return DOMAssistant.AJAX.makeCall.call(this, ajaxObj); - }, - - get : function (url, callback, addToContent) { - return DOMAssistant.AJAX.makeCall.call(this, createAjaxObj(url, "GET", callback, addToContent)); - }, - - post : function (url, callback) { - return DOMAssistant.AJAX.makeCall.call(this, createAjaxObj(url, "POST", callback)); - }, - - load : function (url, addToContent) { - this.get(url, DOMAssistant.AJAX.replaceWithAJAXContent, addToContent); - }, - - makeCall : function (ajaxObj) { - var XMLHttp = DOMAssistant.AJAX.initRequest(); - if (XMLHttp) { - globalXMLHttp = XMLHttp; - (function (elm) { - var url = ajaxObj.url, - method = ajaxObj.method || "GET", - callback = ajaxObj.callback, - params = ajaxObj.params, - headers = ajaxObj.headers, - responseType = ajaxObj.responseType || "text", - addToContent = ajaxObj.addToContent, - timeout = ajaxObj.timeout || null, - ex = ajaxObj.exception, - timeoutId = null, - done = false; - XMLHttp.open(method, url, true); - XMLHttp.setRequestHeader("AJAX", "true"); - XMLHttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - if (method === "POST") { - XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - XMLHttp.setRequestHeader("Content-length", params? params.length : 0); - if (XMLHttp.overrideMimeType) { - XMLHttp.setRequestHeader("Connection", "close"); - } - } - if (responseType === "json") { - XMLHttp.setRequestHeader("Accept", "application/json, text/javascript, */*"); - } - for (var i in headers) { - if (typeof i === "string") { - XMLHttp.setRequestHeader(i, headers[i]); - } - } - if (typeof callback === "function") { - XMLHttp.onreadystatechange = function () { - try { - if (XMLHttp.readyState === 4 && !done) { - window.clearTimeout(timeoutId); - done = true; - status = XMLHttp.status; - statusText = XMLHttp.statusText; - readyState = 4; - if ((status || location.protocol !== "file:") && (status < 200 || status >= 300)) { - throw new Error(statusText); - } - var response = /xml/i.test(responseType)? XMLHttp.responseXML : XMLHttp.responseText; - if (/json/i.test(responseType) && !!response) { - response = (typeof JSON === "object" && typeof JSON.parse === "function")? JSON.parse(response) : eval("(" + response + ")"); - } - globalXMLHttp = null; - XMLHttp.onreadystatechange = function () {}; - requestPool.push(XMLHttp); - callback.call(elm, response, addToContent); - } - } - catch (e) { - globalXMLHttp = XMLHttp = null; - if (typeof ex === "function") { - ex.call(elm, e); - ex = null; - } - } - }; - } - XMLHttp.send(params); - if (timeout) { - timeoutId = window.setTimeout( function () { - if (!done) { - XMLHttp.abort(); - done = true; - if (typeof ex === "function") { - readyState = 0; - status = 408; - statusText = "Request timeout"; - globalXMLHttp = XMLHttp = null; - ex.call(elm, new Error(statusText)); - ex = null; - } - } - }, timeout); - } - })(this); - } - return this; - }, - - replaceWithAJAXContent : function (content, add) { - if (add) { - this.innerHTML += content; - } - else { - DOMAssistant.cleanUp(this); - this.innerHTML = content; - } - }, - - getReadyState : function () { - return (globalXMLHttp && DOMAssistant.def(globalXMLHttp.readyState))? globalXMLHttp.readyState : readyState; - }, - - getStatus : function () { - return status; - }, - - getStatusText : function () { - return statusText; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.AJAX); -DOMAssistant.CSS = function () { - var def = DOMAssistant.def, - direct = { display: true }; - return { - addClass : function (className) { - if (!this.hasClass(className)) { - var currentClass = this.className; - this.className = currentClass + (currentClass.length? " " : "") + className; - } - return this; - }, - - removeClass : function (className) { - return this.replaceClass(className); - }, - - replaceClass : function (className, newClass) { - var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i"); - this.className = this.className.replace(classToRemove, function (match, p1, p2) { - return newClass? (p1 + newClass + p2) : " "; - }).replace(/^\s+|\s+$/g, ""); - return this; - }, - - hasClass : function (className) { - return (" " + this.className + " ").indexOf(" " + className + " ") > -1; - }, - - setStyle : function (style, value) { - var css = this.style; - if ("filters" in this && (typeof style === "string"? /opacity/i.test(style) : def(style.opacity))) { - css.zoom = 1; - css.filter = (css.filter || "").replace(/alpha\([^)]*\)/, "") + "alpha(opacity=" + (def(style.opacity)? style.opacity : value) * 100 + ")"; - } - if (def(css.cssText)) { - var styleToSet = css.cssText; - if (typeof style === "object") { - for (var i in style) { - if (typeof i === "string") { - if (direct[i]) { css[i] = style[i]; } - styleToSet += ";" + i + ":" + style[i]; - } - } - } - else { - if (direct[style]) { css[style] = value; } - styleToSet += ";" + style + ":" + value; - } - css.cssText = styleToSet; - } - return this; - }, - - getStyle : function (cssRule) { - var val = "", f; - cssRule = cssRule.toLowerCase(); - if (document.defaultView && document.defaultView.getComputedStyle) { - val = document.defaultView.getComputedStyle(this, "").getPropertyValue(cssRule); - } - else if (this.currentStyle) { - if ("filters" in this && cssRule === "opacity") { - val = (f = this.style.filter || this.currentStyle.filter) && f.indexOf("opacity=") >= 0? parseFloat(f.match(/opacity=([^)]*)/)[1]) / 100 : 1; - } - else { - cssRule = cssRule.replace(/^float$/, "styleFloat").replace(/\-(\w)/g, function (match, p1) { - return p1.toUpperCase(); - }); - val = this.currentStyle[cssRule]; - } - if (val === "auto" && /^(width|height)$/.test(cssRule) && this.currentStyle.display !== "none") { - val = this["offset" + cssRule.charAt(0).toUpperCase() + cssRule.substr(1)] + "px"; - } - } - return val; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.CSS); -DOMAssistant.Content = function () { - var D$ = DOMAssistant.$$; - return { - init : function () { - DOMAssistant.setCache(false); - }, - - create : function (name, attr, append, content) { - var elm = D$(document.createElement(name)); - if (attr) { - elm = elm.setAttributes(attr); - } - if (DOMAssistant.def(content)) { - elm.addContent(content); - } - if (append) { - this.appendChild(elm); - } - return elm; - }, - - setAttributes : function (attr) { - if (DOMAssistant.isIE) { - var setAttr = function (elm, att, val) { - var attLower = att.toLowerCase(); - switch (attLower) { - case "name": - case "type": - case "multiple": - return D$(document.createElement(elm.outerHTML.replace(new RegExp(attLower + "(=[a-zA-Z]+)?"), " ").replace(">", " " + attLower + "=" + val + ">"))); - case "style": - elm.style.cssText = val; - return elm; - default: - elm[DOMAssistant.camel[attLower] || att] = val; - return elm; - } - }; - DOMAssistant.Content.setAttributes = function (attr) { - var elem = this; - var parent = this.parentNode; - for (var i in attr) { - if (typeof attr[i] === "string" || typeof attr[i] === "number") { - var newElem = setAttr(elem, i, attr[i]); - if (parent && /(name|type)/i.test(i)) { - if (elem.innerHTML) { - newElem.innerHTML = elem.innerHTML; - } - parent.replaceChild(newElem, elem); - } - elem = newElem; - } - } - return elem; - }; - } - else { - DOMAssistant.Content.setAttributes = function (attr) { - for (var i in attr) { - if (/class/i.test(i)) { - this.className = attr[i]; - } - else { - this.setAttribute(i, attr[i]); - } - } - return this; - }; - } - return DOMAssistant.Content.setAttributes.call(this, attr); - }, - - addContent : function (content) { - var type = typeof content; - if (type === "string" || type === "number") { - if (!this.firstChild) { - this.innerHTML = content; - } - else { - var tmp = document.createElement("div"); - tmp.innerHTML = content; - for (var i=tmp.childNodes.length-1, last=null; i>=0; i--) { - last = this.insertBefore(tmp.childNodes[i], last); - } - } - } - else if (type === "object" || (type === "function" && !!content.nodeName)) { - this.appendChild(content); - } - return this; - }, - - replaceContent : function (content) { - DOMAssistant.cleanUp(this); - return this.addContent(content); - }, - - replace : function (content, returnNew) { - var type = typeof content; - if (type === "string" || type === "number") { - var parent = this.parentNode; - var tmp = DOMAssistant.Content.create.call(parent, "div", null, false, content); - for (var i=tmp.childNodes.length; i--;) { - parent.insertBefore(tmp.childNodes[i], this.nextSibling); - } - content = this.nextSibling; - parent.removeChild(this); - } - else if (type === "object" || (type === "function" && !!content.nodeName)) { - this.parentNode.replaceChild(content, this); - } - return returnNew? content : this; - }, - - remove : function () { - DOMAssistant.cleanUp(this); - if (this.hasData()) { - if (this.removeEvent) { this.removeEvent(); } - this.unstore(); - } - this.parentNode.removeChild(this); - return null; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.Content); -DOMAssistant.Events = function () { - var handler, - key = "_events", - w3cMode = !!document.addEventListener, - useCapture = { focus: true, blur: true }, - translate = DOMAssistant.isIE? { focus: "activate", blur: "deactivate", mouseenter: "mouseover", mouseleave: "mouseout" } : { mouseenter: "mouseover", mouseleave: "mouseout" }, - regex = { - special: /^submit|reset|change|select$/i, - mouseenterleave: /^mouse(enter|leave)$/i, - dom: /^DOM/, - on: /^on/i - }, - special = function (e) { - return DOMAssistant.isIE && regex.special.test(e); - }, - fix = function (e) { - return translate[e] || e; - }, - createEvent = function (e, type, target) { - e = e || window.event || {}; - if (e.event) { return e; } - var event = { - event: e, - type: type || e.type, - bubbles: e.bubbles || true, - cancelable: e.cancelable || false, - target: target || e.target || e.srcElement, - clientX: e.clientX || 0, - clientY: e.clientY || 0, - altKey: e.altKey || false, - ctrlKey: e.ctrlKey || false, - shiftKey: e.shiftKey || false, - button: e.button || null, - timeStamp: +new Date(), - preventDefault: function() { - if (e.preventDefault) { e.preventDefault(); } - this.returnValue = e.returnValue = false; - }, - stopPropagation: function() { - if (e.stopPropagation) { e.stopPropagation(); } - this.cancelBubble = e.cancelBubble = true; - } - }; - if (event.target && 3 === event.target.nodeType) { // Safari textnode bug - event.target = event.target.parentNode; - } - event.currentTarget = event.target; - event.relatedTarget = e.relatedTarget || (e.fromElement === event.target? e.toElement : e.fromElement) || null; - var de = document.documentElement, b = document.body; - event.pageX = DOMAssistant.def(e.pageX)? e.pageX : (event.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0)); - event.pageY = DOMAssistant.def(e.pageY)? e.pageY : (event.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0)); - if ("number" === typeof e.which) { - event.keyCode = e.keyCode; - event.charCode = event.which = e.which; - } - else if (e.keyCode) { - event.keyCode = event.charCode = e.keyCode; - } - return event; - }; - - return { - publicMethods : [ - "triggerEvent", - "addEvent", - "removeEvent", - "relayEvent", - "unrelayEvent", - "preventDefault", - "cancelBubble" - ], - - init : function () { - DOMAssistant.preventDefault = this.preventDefault; - DOMAssistant.cancelBubble = this.cancelBubble; - handler = this.handleEvent; - }, - - triggerEvent : function (evt, target, e) { - var fevt = fix(evt), - events = this.retrieve(key), - event = e || createEvent(e, fevt, target || this); - event.currentTarget = this; - if (events && events[fevt]) { - for (var i=0, iL=events[fevt].length; i<\/script>"); - document.getElementById("ieScriptLoad").onreadystatechange = function() { - if (this.readyState === "complete") { - DOMHasLoaded(); - } - }; - @end @*/ - /* Mozilla, Chrome, Opera */ - if (document.addEventListener) { - document.addEventListener("DOMContentLoaded", DOMHasLoaded, false); - } - /* Safari, iCab, Konqueror */ - if (/KHTML|WebKit|iCab/i.test(navigator.userAgent)) { - DOMLoadTimer = setInterval(function () { - if (/loaded|complete/i.test(document.readyState)) { - DOMHasLoaded(); - clearInterval(DOMLoadTimer); - } - }, 10); - } - /* Other web browsers */ - window.onload = DOMHasLoaded; - - return { - DOMReady : function () { - for (var i=0, il=arguments.length, funcRef; i= thisstyle.minw ) && - (!thisstyle.maxw || thisstyle.maxw && currWidth <= thisstyle.maxw ) ){ - if( !styleBlocks[ thisstyle.media ] ){ - styleBlocks[ thisstyle.media ] = []; - } - styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] ); - } - } - - //remove any existing respond style element(s) - for( var i in appendedEls ){ - if( appendedEls[ i ] && appendedEls[ i ].parentNode === head ){ - head.removeChild( appendedEls[ i ] ); - } - } - - //inject active styles, grouped by media type - for( var i in styleBlocks ){ - var ss = doc.createElement( "style" ), - css = styleBlocks[ i ].join( "\n" ); - - ss.type = "text/css"; - ss.media = i; - - if ( ss.styleSheet ){ - ss.styleSheet.cssText = css; - } - else { - ss.appendChild( doc.createTextNode( css ) ); - } - dFrag.appendChild( ss ); - appendedEls.push( ss ); - } - - //append to DOM at once - head.insertBefore( dFrag, lastLink.nextSibling ); - }, - //tweaked Ajax functions from Quirksmode - ajax = function( url, callback ) { - var req = xmlHttp(); - if (!req){ - return; - } - req.open( "GET", url, true ); - req.onreadystatechange = function () { - if ( req.readyState != 4 || req.status != 200 && req.status != 304 ){ - return; - } - callback( req.responseText ); - } - if ( req.readyState == 4 ){ - return; - } - req.send(); - }, - //define ajax obj - xmlHttp = (function() { - var xmlhttpmethod = false, - attempts = [ - function(){ return new ActiveXObject("Microsoft.XMLHTTP") }, - function(){ return new XMLHttpRequest() } - ], - al = attempts.length; - - while( al-- ){ - try { - xmlhttpmethod = attempts[ al ](); - } - catch(e) { - continue; - } - break; - } - return function(){ - return xmlhttpmethod; - }; - })(); - - //translate CSS - ripCSS(); - - //expose update for re-running respond later on - respond.update = ripCSS; - - //adjust on resize - function callMedia(){ - applyMedia( true ); - } - if( win.addEventListener ){ - win.addEventListener( "resize", callMedia, false ); - } - else if( win.attachEvent ){ - win.attachEvent( "onresize", callMedia ); - } -})( - this, - (function( win ){ - - //for speed, flag browsers with window.matchMedia support and IE 9 as supported - if( win.matchMedia ){ return true; } - - var bool, - doc = document, - docElem = doc.documentElement, - refNode = docElem.firstElementChild || docElem.firstChild, - // fakeBody required for - fakeUsed = !doc.body, - fakeBody = doc.body || doc.createElement( "body" ), - div = doc.createElement( "div" ), - q = "only all"; - - div.id = "mq-test-1"; - div.style.cssText = "position:absolute;top:-99em"; - fakeBody.appendChild( div ); - - div.innerHTML = '_'; - if( fakeUsed ){ - docElem.insertBefore( fakeBody, refNode ); - } - div.removeChild( div.firstChild ); - bool = div.offsetWidth == 9; - if( fakeUsed ){ - docElem.removeChild( fakeBody ); - } - else{ - fakeBody.removeChild( div ); - } - return bool; - })( this ) -); - diff --git a/source/javascripts/libs/ie/selectivizr-1.0.1.js b/source/javascripts/libs/ie/selectivizr-1.0.1.js deleted file mode 100644 index 0846b91..0000000 --- a/source/javascripts/libs/ie/selectivizr-1.0.1.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * selectivizr v1.0.1 - (c) Keith Clark, freely distributable under the terms of the MIT license. - * selectivizr.com - */ -var k=true,p=false;(function(A){function N(a){return a.replace(O,q).replace(P,function(b,e,c){b=c.split(",");c=0;for(var g=b.length;c0){d=f;var x;i=h.substring(0,i).replace(U,o);if(i==o||i.charAt(i.length-1)==w)i+="*";try{x=y(i)}catch(ha){}if(x){i=0;for(m=x.length;i-1)a=a.substring(0,f);if(a.charAt(0)==":")switch(a.slice(1)){case "root":b=function(d){return c?d!=H:d==H};break;case "target":if(s==8){b=function(d){function l(){var m=location.hash,j=m.slice(1);return c?m==""||d.id!=j:m!=""&&d.id==j}t(A,"hashchange",function(){u(d,e,l())});return l()};break}return p;case "checked":b=function(d){X.test(d.type)&&t(d,"propertychange",function(){event.propertyName=="checked"&&u(d,e,d.checked!==c)});return d.checked!==c};break;case "disabled":c=!c;case "enabled":b=function(d){if(Y.test(d.tagName)){t(d,"propertychange",function(){event.propertyName=="$disabled"&&u(d,e,d.a===c)});z.push(d);d.a=d.disabled;return d.disabled===c}return a==":enabled"?c:!c};break;case "focus":g="focus";h="blur";case "hover":if(!g){g="mouseenter";h="mouseleave"}b=function(d){t(d,c?h:g,function(){u(d,e,k)});t(d,c?g:h,function(){u(d,e,p)});return c};break;default:if(!Z.test(a))return p}return{className:e,b:b}}function G(a){return I+"-"+(s==6&&$?aa++:a.replace(ba,function(b){return b.charCodeAt(0)}))}function Q(a){return a.replace(J,q).replace(ca,w)}function u(a,b,e){var c=a.className;b=E(c,b,e);if(b!=c){a.className=b;a.parentNode.className+=o}}function E(a,b,e){var c=RegExp("(^|\\s)"+b+"(\\s|$)"),g=c.test(a);return e?g?a:a+w+b:g?a.replace(c,q).replace(J,q):a}function t(a,b,e){a.attachEvent("on"+b,e)}function D(a,b){if(/^https?:\/\//i.test(a))return b.substring(0,b.indexOf("/",8))==a.substring(0,a.indexOf("/",8))?a:null;if(a.charAt(0)=="/")return b.substring(0,b.indexOf("/",8))+a;var e=b.split("?")[0];if(a.charAt(0)!="?"&&e.charAt(e.length-1)!="/")e=e.substring(0,e.lastIndexOf("/")+1);return e+a}function K(a){if(a){v.open("GET",a,p);v.send();return(v.status==200?v.responseText:o).replace(da,o).replace(ea,function(b,e,c,g,h){return K(D(c||h,a))}).replace(fa,function(b,e,c){e=e||"";return" url("+e+D(c,a)+e+") "})}return o}function ga(){var a,b;a=n.getElementsByTagName("BASE");for(var e=a.length>0?a[0].href:n.location.href,c=0;c0&&setInterval(function(){for(var g=0,h=z.length;g8||!v)){var L={NW:"*.Dom.select",DOMAssistant:"*.$",Prototype:"$$",YAHOO:"*.util.Selector.query",MooTools:"$$",Sizzle:"*",jQuery:"*",dojo:"*.query"},y,z=[],aa=0,$=k,I="slvzr",M=I+"DOMReady",da=/(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g,ea=/@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g,fa=/\burl\(\s*(["']?)([^"')]+)\1\s*\)/g,Z=/^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/,O=/:(:first-(?:line|letter))/g,P=/(^|})\s*([^\{]*?[\[:][^{]+)/g,T=/([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g,U=/(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g,ba=/[^\w-]/g,Y=/^(INPUT|SELECT|TEXTAREA|BUTTON)$/,X=/^(checkbox|radio)$/,F=s>6?/[\$\^*]=(['"])\1/:null,R=/([(\[+~])\s+/g,S=/\s+([)\]+~])/g,ca=/\s+/g,J=/^\s*((?:[\S\s]*\S)?)\s*$/,o="",w=" ",q="$1";n.write(" -

abc

-

def

-

Testing page

- -{% endhighlight %} - -

syntax_test.js

-{% highlight js %} - -/** -sample javascript from xui -*/ - -var undefined, - xui, - window = this, - string = new String('string'), - document = window.document, - simpleExpr = /^#?([\w-]+)$/, - idExpr = /^#/, - tagExpr = /<([\w:]+)/, - slice = function (e) { return [].slice.call(e, 0); }; - try { var a = slice(document.documentElement.childNodes)[0].nodeType; } - catch(e){ slice = function (e) { var ret=[]; for (var i=0; e[i]; i++) - ret.push(e[i]); return ret; }; } - -window.x$ = window.xui = xui = function(q, context) { - return new xui.fn.find(q, context); -}; - - -{% endhighlight %} - -

syntax_test.rb

-{% highlight ruby %} - -include Enumerable - -def initialize(rbconfig) -@rbconfig = rbconfig -@no_harm = false -end - -def load_savefile -begin - File.foreach(savefile()) do |line| - k, v = *line.split(/=/, 2) - self[k] = v.strip - end -rescue Errno::ENOENT - setup_rb_error $!.message + "\n#{File.basename($0)} config first" -end -end - -if c['rubylibdir'] - # V > 1.6.3 - libruby = "#{c['prefix']}/lib/ruby" - siterubyverarch = c['sitearchdir'] -end -parameterize = lambda {|path| - path.sub(/\A#{Regexp.quote(c['prefix'])}/, '$prefix') -} - -if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg } - makeprog = arg.sub(/'/, '').split(/=/, 2)[1] -else - makeprog = 'make' -end - -def setup_rb_error(msg) - raise SetupError, msg -end - -if $0 == __FILE__ - begin - ToplevelInstaller.invoke - rescue SetupError - raise if $DEBUG - $stderr.puts $!.message - $stderr.puts "Try 'ruby #{$0} --help' for detailed usage." - exit 1 - end -end -{% endhighlight %} - -

syntax_test.php

-{% highlight php %} - - -hasPermission("ManageCountries")) { ?> - - - - -
-{% endhighlight %} - - -

syntax_test.hs

-{% highlight hs %} -{-# LANGUAGE OverloadedStrings #-} -module Main where - ---import Prelude hiding (id) ---import Control.Category (id) -import Control.Arrow ((>>>), (***), arr) -import Control.Monad (forM_) --- import Data.Monoid (mempty, mconcat) - --- import System.FilePath - -import Hakyll - - -main :: IO () -main = hakyll $ do - - route "css/*" $ setExtension "css" - compile "css/*" $ byExtension (error "Not a (S)CSS file") - [ (".css", compressCssCompiler) - , (".scss", sass) - ] - - route "js/**" idRoute - compile "js/**" copyFileCompiler - - route "img/*" idRoute - compile "img/*" copyFileCompiler - - compile "templates/*" templateCompiler - - forM_ ["test.md", "index.md"] $ \page -> do - route page $ setExtension "html" - compile page $ pageCompiler - >>> applyTemplateCompiler "templates/default.html" - >>> relativizeUrlsCompiler - -sass :: Compiler Resource String -sass = getResourceString >>> unixFilter "sass" ["-s", "--scss"] - >>> arr compressCss - -{% endhighlight %} - -

syntax_test.sh

-{% highlight sh %} -#!/bin/bash - -cd $ROOT_DIR -DOT_FILES="lastpass weechat ssh Xauthority" -for dotfile in $DOT_FILES; do conform_link "$DATA_DIR/$dotfile" ".$dotfile"; done - -# TODO: refactor with suffix variables (or common cron values) - -case "$PLATFORM" in - linux) - #conform_link "$CONF_DIR/shell/zshenv" ".zshenv" - crontab -l > $ROOT_DIR/tmp/crontab-conflict-arch - cd $ROOT_DIR/$CONF_DIR/cron - if [[ "$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)" == "" - ]]; - then # no difference with current backup - logger "$LOG_PREFIX: crontab live settings match stored "\ - "settings; no restore required" - rm ~/tmp/crontab-conflict-arch - else # current crontab settings in file do not match live settings - crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch - logger "$LOG_PREFIX: crontab stored settings conflict with "\ - "live settings; stored settings restored. "\ - "Previous settings recorded in ~/tmp/crontab-conflict-arch." - fi - ;; - -{% endhighlight %} - -

syntax_test.py

-{% highlight py %} -# test python (sample from offlineimap) - -class ExitNotifyThread(Thread): - """This class is designed to alert a "monitor" to the fact that a thread has - exited and to provide for the ability for it to find out why.""" - def run(self): - global exitthreads, profiledir - self.threadid = thread.get_ident() - try: - if not profiledir: # normal case - Thread.run(self) - else: - try: - import cProfile as profile - except ImportError: - import profile - prof = profile.Profile() - try: - prof = prof.runctx("Thread.run(self)", globals(), locals()) - except SystemExit: - pass - prof.dump_stats( \ - profiledir + "/" + str(self.threadid) + "_" + \ - self.getName() + ".prof") - except: - self.setExitCause('EXCEPTION') - if sys: - self.setExitException(sys.exc_info()[1]) - tb = traceback.format_exc() - self.setExitStackTrace(tb) - else: - self.setExitCause('NORMAL') - if not hasattr(self, 'exitmessage'): - self.setExitMessage(None) - - if exitthreads: - exitthreads.put(self, True) - - def setExitCause(self, cause): - self.exitcause = cause - def getExitCause(self): - """Returns the cause of the exit, one of: - 'EXCEPTION' -- the thread aborted because of an exception - 'NORMAL' -- normal termination.""" - return self.exitcause - def setExitException(self, exc): - self.exitexception = exc - def getExitException(self): - """If getExitCause() is 'EXCEPTION', holds the value from - sys.exc_info()[1] for this exception.""" - return self.exitexception - def setExitStackTrace(self, st): - self.exitstacktrace = st - def getExitStackTrace(self): - """If getExitCause() is 'EXCEPTION', returns a string representing - the stack trace for this exception.""" - return self.exitstacktrace - def setExitMessage(self, msg): - """Sets the exit message to be fetched by a subsequent call to - getExitMessage. This message may be any object or type except - None.""" - self.exitmessage = msg - def getExitMessage(self): - """For any exit cause, returns the message previously set by - a call to setExitMessage(), or None if there was no such message - set.""" - return self.exitmessage - -{% endhighlight %} - -

syntax_test.pl

-{% highlight perl %} -#!perl -w - -# Time-stamp: <2002/04/06, 13:12:13 (EST), maverick, csvformat.pl> -# Two pass CSV file to table formatter - -$delim = $#ARGV >= 1 ? $ARGV[1] : ','; -print STDERR "Split pattern: $delim\n"; - -# first pass -open F, "<$ARGV[0]" or die; -while() -{ - chomp; - $i = 0; - map { $max[$_->[1]] = $_->[0] if $_->[0] > ($max[$_->[1]] || 0) } - (map {[length $_, $i++]} split($delim)); -} -close F; - -print STDERR 'Field width: ', join(', ', @max), "\n"; -print STDERR join(' ', map {'-' x $_} @max); - -# second pass -open F, "<$ARGV[0]" or die; -while() - { - chomp; - $i = 0; - map { printf("%-$max[$_->[1]]s ", $_->[0]) } - (map {[$_, $i++]} split($delim)); - print "\n"; -} -close F; - -{% endhighlight %} - -

syntax_test.java

-{% highlight java %} -import java.util.Map; -import java.util.TreeSet; - -public class GetEnv { - /** - * let's test generics - * @param args the command line arguments - */ - public static void main(String[] args) { - // get a map of environment variables - Map env = System.getenv(); - // build a sorted set out of the keys and iterate - for(String k: new TreeSet(env.keySet())) { - System.out.printf("%s = %s\n", k, env.get(k)); - } - } } -{% endhighlight %} - -

syntax_test.c

-{% highlight c %} -#define UNICODE -#include - -int main(int argc, char **argv) { - int speed = 0, speed1 = 0, speed2 = 0; // 1-20 - printf("Set Mouse Speed by Maverick\n"); - - SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); - printf("Current speed: %2d\n", speed); - - if (argc == 1) return 0; - if (argc >= 2) sscanf(argv[1], "%d", &speed1); - if (argc >= 3) sscanf(argv[2], "%d", &speed2); - - if (argc == 2) // set speed to first value - speed = speed1; - else if (speed == speed1 || speed == speed2) // alternate - speed = speed1 + speed2 - speed; - else - speed = speed1; // start with first value - - SystemParametersInfo(SPI_SETMOUSESPEED, 0, speed, 0); - SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); - printf("New speed: %2d\n", speed); - return 0; -} - -{% endhighlight %} - diff --git a/source/test/typography.haml b/source/test/typography.haml deleted file mode 100644 index bc52462..0000000 --- a/source/test/typography.haml +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: page -title: Typography Testing -no_sidebar: true ---- - -%h1 Level 01 Heading -%h2 Level 02 Heading -%h3 Level 03 Heading -%h4 Level 04 Heading -%h5 Level 05 Heading -%h6 Level 06 Heading - -%p - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce sodales ligula sed urna. Aliquam posuere arcu - viverra erat. Pellentesque et enim dapibus ante facilisis bibendum. Nam congue dapibus urna. Vestibulum consequat - arcu at magna. Nunc faucibus mollis lacus. Nulla tempor luctus tellus. Donec blandit lobortis pede. Vestibulum - vel pede ut urna eleifend lacinia. -%p - Maecenas ligula nibh, imperdiet at, interdum eget, sagittis eu, enim. Vivamus vel urna. Donec fringilla - ullamcorper sem. In risus arcu, pellentesque cursus, faucibus cursus, consequat quis, est. Aliquam id erat. - Aliquam arcu. Phasellus vulputate. Integer sem diam, mattis vel, viverra ullamcorper, ultricies quis, nisl. Sed - sollicitudin quam ut nisi. Vivamus velit sapien, volutpat eu, faucibus id, nonummy id, urna. -%p - Take it2 to the power of3 - Praesent iaculis pellentesque est. Nulla facilisi. Etiam fringilla vehicula orci. Aliquam fermentum ipsum id - nulla. Aliquam interdum laoreet leo. Cras accumsan. Nam pharetra diam id nunc. Integer blandit tellus vulputate - felis. Cras aliquam, eros in euismod aliquam, enim nisl mollis metus, quis fringilla ipsum diam ut pede. Mauris a - libero ac velit interdum pulvinar. Nunc ipsum mauris, semper rhoncus, feugiat ut, egestas id, diam. Nullam - porttitor condimentum risus. Vivamus nec enim eget nisi commodo euismod. Ut turpis. Nullam malesuada rutrum - neque. Nam sodales porta elit. Mauris mollis nisl vel augue. - -%p - And we were like Woah, and he was like Woah, and they were like WOAH! - -%p - %abbr(title="For The Win!") FTW! -%p - -%h3 Unordered lists -%ul - %li Lorem ipsum dolor sit amet - %li Consectetur adipisicing elit - %li Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua - %li Ut enim ad minim veniam - -%h3 Ordered lists -%ol - %li Consectetur adipisicing elit - %li Sed do eiusmod tempor incididunt ut labore - %li Et dolore magna aliqua - -%h3 Blockquotes -%blockquote - %p - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore - magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -%h3 Tables -%table - %caption - Jimi Hendrix - albums - %thead - %tr - %th Album - %th Year - %th Price - %tfoot - %tr - %td Album - %td Year - %td Price - %tbody - %tr - %td Are You Experienced - %td 1967 - %td $10.00 - %tr - %td Axis: Bold as Love - %td 1967 - %td $12.00 - %tr - %td Electric Ladyland - %td 1968 - %td $10.00 - %tr - %td Band of Gypsys - %td 1970 - %td $12.00 -%p - %a(href="#")Link - %br/ - %strong <strong> - %br/ - %del <del> deleted - %br/ - %dfn <dfn> dfn - %br/ - %em <em> emphasis - %br/ - -%pre - %code - <html> - <head> - </head> - <body> - <div class = "main"> <div> - </body> - </html> - -%tt - <tt> - Pellentesque tempor, dui ut ultrices viverra, neque urna blandit nisi, id accumsan dolor est vitae risus. -%hr