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 %}
-
{{ 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 @@
-
-
- View the discussion thread
-
-
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 @@
-
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 @@
-
-
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
-
- {% for post in site.posts limit: site.recent_posts %}
-
- {{ post.title }}
-
- {% endfor %}
-
-
-{% 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 %}
-
- {% 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 navigation.html %}
-
-
-
{{ content }}
- {% unless page.no_sidebar %}
-
{% include sidebar.html %}
- {% 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 %}
-
- {% 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 %}
-
- {% 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.
-
- 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
- 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.
-
- 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.
-
- 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
-
-
-
-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 }}
-
- {% endunless %}
- {% unless month == this_month %}
- {% assign month = this_month %}
- {{ month }}
- {% endunless %}
-
- {{ post.date | date: "%d"}}
- {{post.title}}
-
- {% if forloop.last %} {% 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 5bace32..0000000
Binary files a/source/fonts/adellebasic_bold-webfont.eot and /dev/null differ
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 7e70d0d..0000000
Binary files a/source/fonts/adellebasic_bold-webfont.ttf and /dev/null differ
diff --git a/source/fonts/adellebasic_bold-webfont.woff b/source/fonts/adellebasic_bold-webfont.woff
deleted file mode 100755
index 07ae59a..0000000
Binary files a/source/fonts/adellebasic_bold-webfont.woff and /dev/null differ
diff --git a/source/images/code_bg.png b/source/images/code_bg.png
deleted file mode 100644
index a57bab5..0000000
Binary files a/source/images/code_bg.png and /dev/null differ
diff --git a/source/images/rss.png b/source/images/rss.png
deleted file mode 100644
index f458e57..0000000
Binary files a/source/images/rss.png and /dev/null differ
diff --git a/source/images/search.png b/source/images/search.png
deleted file mode 100644
index 1220ff4..0000000
Binary files a/source/images/search.png and /dev/null differ
diff --git a/source/index.html b/source/index.html
deleted file mode 100644
index 09eb8d1..0000000
--- a/source/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
----
-{% for page in site.posts limit:3 %}
-{% assign content = page.content %}
-{% assign index = true %}
-
- {% 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
-