diff options
314 files changed, 0 insertions, 8016 deletions
diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index d359ca6f..00000000 --- a/.editorconfig +++ /dev/null @@ -1,22 +0,0 @@ -; This file is for unifying the coding style for different editors and IDEs. -; More information at http://EditorConfig.org - -root = true - -; Use 2 spaces for indentation in all Ruby files - -[*.rb] -indent_style = space -indent_size = 2 - -[Rakefile] -indent_style = space -indent_size = 2 - -[Gemfile*] -indent_style = space -indent_size = 2 - -[config.ru] -indent_style = space -indent_size = 2 diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 176a458f..00000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1768f4d7..00000000 --- a/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -.bundle -.DS_Store -.sass-cache -.gist-cache -.pygments-cache -_deploy -posts -public -sass.old -source.old -source/_stash -source/stylesheets/screen.css -vendor -node_modules -Gemfile.lock diff --git a/.powrc b/.powrc deleted file mode 100644 index 4777f08f..00000000 --- a/.powrc +++ /dev/null @@ -1,5 +0,0 @@ -if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".rvmrc" ] ; then - source "$rvm_path/scripts/rvm" - source ".rvmrc" -fi -
\ No newline at end of file diff --git a/.slugignore b/.slugignore deleted file mode 100644 index 0a41d013..00000000 --- a/.slugignore +++ /dev/null @@ -1,3 +0,0 @@ -plugins -sass -source diff --git a/.themes/classic/.editorconfig b/.themes/classic/.editorconfig deleted file mode 100644 index 940fea3e..00000000 --- a/.themes/classic/.editorconfig +++ /dev/null @@ -1,44 +0,0 @@ -; This file is for unifying the coding style for different editors and IDEs. -; More information at http://EditorConfig.org - - -; Use 2 spaces for indentation in SCSS, JavaScript, HTML, and XML - -[*.scss] -indent_style = space -indent_size = 2 - -[*.js] -indent_style = space -indent_size = 2 - -[*.html] -indent_style = space -indent_size = 2 - -[*.xml] -indent_style = space -indent_size = 2 - - -; Use 4 spaces for indentation in Markdown files - -[*.md] -indent_style = space -indent_size = 4 - -[*.markdown] -indent_style = space -indent_size = 4 - - -; Override default indentation for some library files - -[jwplayer/glow/glow.xml] -indent_style = tab - -[libs/jXHR.js] -indent_style = tab - -[libs/swfobject-dynamic.js] -indent_style = tab diff --git a/.themes/classic/sass/_base.scss b/.themes/classic/sass/_base.scss deleted file mode 100644 index 05fdd005..00000000 --- a/.themes/classic/sass/_base.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "base/utilities"; -@import "base/solarized"; -@import "base/theme"; -@import "base/typography"; -@import "base/layout"; diff --git a/.themes/classic/sass/_partials.scss b/.themes/classic/sass/_partials.scss deleted file mode 100644 index 99c28b63..00000000 --- a/.themes/classic/sass/_partials.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import "partials/header"; -@import "partials/navigation"; -@import "partials/blog"; -@import "partials/sharing"; -@import "partials/syntax"; -@import "partials/archive"; -@import "partials/sidebar"; -@import "partials/footer"; diff --git a/.themes/classic/sass/base/_layout.scss b/.themes/classic/sass/base/_layout.scss deleted file mode 100644 index 81903428..00000000 --- a/.themes/classic/sass/base/_layout.scss +++ /dev/null @@ -1,192 +0,0 @@ -$max-width: 1200px !default; - -// Padding used for layout margins -$pad-min: 18px !default; -$pad-narrow: 25px !default; -$pad-medium: 35px !default; -$pad-wide: 55px !default; - -// Sidebar widths used in media queries -$sidebar-width-medium: 240px !default; -$sidebar-pad-medium: 15px !default; -$sidebar-pad-wide: 20px !default; -$sidebar-width-wide: 300px !default; - -$indented-lists: false !default; - -$header-font-size: 1em !default; -$header-padding-top: 1.5em !default; -$header-padding-bottom: 1.5em !default; - -.group { @include pie-clearfix; } - -@mixin collapse-sidebar { - float: none; - width: auto; - clear: left; - margin: 0; - padding: 0 $pad-medium 1px; - background-color: lighten($sidebar-bg, 2); - border-top: 1px solid lighten($sidebar-border, 4); - section { - &.odd, &.even { float: left; width: 48%; } - &.odd { margin-left: 0; } - &.even { margin-left: 4%; } - } - &.thirds section { - width: 30%; - margin-left: 5%; - &.first { - margin-left: 0; - clear: both; - } - } -} - -body { - -webkit-text-size-adjust: none; - max-width: $max-width; - position: relative; - margin: 0 auto; - > header, > nav, > footer, #content > article, #content > div > article, #content > div > section { - @extend .group; - padding-left: $pad-min; - padding-right: $pad-min; - @media only screen and (min-width: 480px) { - padding-left: $pad-narrow; - padding-right: $pad-narrow; - } - @media only screen and (min-width: 768px) { - padding-left: $pad-medium; - padding-right: $pad-medium; - } - @media only screen and (min-width: 992px) { - padding-left: $pad-wide; - padding-right: $pad-wide; - } - } - div.pagination { - @extend .group; - margin-left: $pad-min; - margin-right: $pad-min; - @media only screen and (min-width: 480px) { - margin-left: $pad-narrow; - margin-right: $pad-narrow; - } - @media only screen and (min-width: 768px) { - margin-left: $pad-medium; - margin-right: $pad-medium; - } - @media only screen and (min-width: 992px) { - margin-left: $pad-wide; - margin-right: $pad-wide; - } - } - > header { - font-size: $header-font-size; - padding-top: $header-padding-top; - padding-bottom: $header-padding-bottom; - } -} - -#content { - overflow: hidden; - > div, > article { width: 100%; } -} - -aside.sidebar { - float: none; - padding: 0 $pad-min 1px; - background-color: lighten($sidebar-bg, 2); - border-top: 1px solid $sidebar-border; - @extend .group; -} - -.flex-content { max-width: 100%; height: auto; } - -.basic-alignment { - &.left { float: left; margin-right: 1.5em; } - &.right { float: right; margin-left: 1.5em; } - &.center { display:block; margin: 0 auto 1.5em; } - &.left, &.right { margin-bottom: .8em; } -} - -.toggle-sidebar { &, .no-sidebar & { display: none; }} - -body.sidebar-footer { - @media only screen and (min-width: 750px) { - aside.sidebar{ @include collapse-sidebar; } - } - #content { margin-right: 0px; } - .toggle-sidebar { display: none; } -} - -@media only screen and (min-width: 550px) { - body > header { font-size: $header-font-size; } -} -@media only screen and (min-width: 750px) { - aside.sidebar { @include collapse-sidebar; } -} -#main, #content, .sidebar { - @extend .group; -} -@media only screen and (min-width: 768px) { - body { -webkit-text-size-adjust: auto; } - body > header { font-size: $header-font-size * 1.2; } - #main { - padding: 0; - margin: 0 auto; - } - #content { - overflow: visible; - margin-right: $sidebar-width-medium; - position: relative; - .no-sidebar & { margin-right: 0; border-right: 0; } - .collapse-sidebar & { margin-right: 20px; } - > div, > article { - padding-top: $pad-medium/2; - padding-bottom: $pad-medium/2; - float: left; - } - } - aside.sidebar { - width: $sidebar-width-medium - $sidebar-pad-medium*2; - padding: 0 $sidebar-pad-medium $sidebar-pad-medium; - background: none; - clear: none; - float: left; - margin: 0 -100% 0 0; - section { - width: auto; margin-left: 0; - &.odd, &.even { float: none; width: auto; margin-left: 0; } - } - .collapse-sidebar & { - @include collapse-sidebar; - } - } -} - -@media only screen and (min-width: 992px) { - body > header { font-size: $header-font-size * 1.3; } - #content { margin-right: $sidebar-width-wide; } - #content { - > div, > article { - padding-top: $pad-wide/2; - padding-bottom: $pad-wide/2; - } - } - aside.sidebar { - width: $sidebar-width-wide - $sidebar-pad-wide*2; - padding: 1.2em $sidebar-pad-wide $sidebar-pad-wide; - .collapse-sidebar & { - padding: { left: $pad-wide; right: $pad-wide; } - } - } -} - -@if $indented-lists == false { - @media only screen and (min-width: 768px) { - ul, ol { margin-left: 0; } - } -} - diff --git a/.themes/classic/sass/base/_solarized.scss b/.themes/classic/sass/base/_solarized.scss deleted file mode 100644 index 45d8fc5e..00000000 --- a/.themes/classic/sass/base/_solarized.scss +++ /dev/null @@ -1,46 +0,0 @@ -$base03: #002b36 !default; //darkest blue -$base02: #073642 !default; //dark blue -$base01: #586e75 !default; //darkest gray -$base00: #657b83 !default; //dark gray -$base0: #839496 !default; //medium gray -$base1: #93a1a1 !default; //medium light gray -$base2: #eee8d5 !default; //cream -$base3: #fdf6e3 !default; //white -$solar-yellow: #b58900 !default; -$solar-orange: #cb4b16 !default; -$solar-red: #dc322f !default; -$solar-magenta: #d33682 !default; -$solar-violet: #6c71c4 !default; -$solar-blue: #268bd2 !default; -$solar-cyan: #2aa198 !default; -$solar-green: #859900 !default; - -$solarized: dark !default; - -@if $solarized == light { - - $_base03: $base03; - $_base02: $base02; - $_base01: $base01; - $_base00: $base00; - $_base0: $base0; - $_base1: $base1; - $_base2: $base2; - $_base3: $base3; - - $base03: $_base3; - $base02: $_base2; - $base01: $_base1; - $base00: $_base0; - $base0: $_base00; - $base1: $_base01; - $base2: $_base02; - $base3: $_base03; -} - -/* non highlighted code colors */ -$pre-bg: $base03 !default; -$pre-border: darken($base02, 5) !default; -$pre-color: $base1 !default; - - diff --git a/.themes/classic/sass/base/_theme.scss b/.themes/classic/sass/base/_theme.scss deleted file mode 100644 index c35136d5..00000000 --- a/.themes/classic/sass/base/_theme.scss +++ /dev/null @@ -1,85 +0,0 @@ -$noise-bg: image-url('noise.png') top left !default; -$img-border: inline-image('dotted-border.png') !default; - -// Main Link Colors -$link-color: lighten(#165b94, 3) !default; -$link-color-hover: adjust-color($link-color, $lightness: 10, $saturation: 25) !default; -$link-color-visited: adjust-color($link-color, $hue: 80, $lightness: -4) !default; -$link-color-active: adjust-color($link-color-hover, $lightness: -15) !default; - -// Main Section Colors -$main-bg: #f8f8f8 !default; -$page-bg: #252525 !default; -$article-border: #eeeeee !default; - -$header-bg: #333 !default; -$header-border: lighten($header-bg, 15) !default; -$title-color: #f2f2f2 !default; -$subtitle-color: #aaa !default; - -$text-color: #222 !default; -$text-color-light: #aaa !default; -$type-border: #ddd !default; - -/* Navigation */ -$nav-bg: #ccc !default; -$nav-bg-front: image-url('noise.png') !default; -$nav-bg-back: linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)) !default; -$nav-color: darken($nav-bg, 38) !default; -$nav-color-hover: darken($nav-color, 25) !default; -$nav-placeholder: desaturate(darken($nav-bg, 10), 15) !default; -$nav-border: darken($nav-bg, 10) !default; -$nav-border-top: lighten($nav-bg, 15) !default; -$nav-border-bottom: darken($nav-bg, 25) !default; -$nav-border-left: darken($nav-bg, 11) !default; -$nav-border-right: lighten($nav-bg, 7) !default; - -/* Sidebar colors */ -$sidebar-bg: #f2f2f2 !default; -$sidebar-link-color: $text-color !default; -$sidebar-link-color-hover: $link-color-hover !default; -$sidebar-link-color-active: $link-color-active !default; -$sidebar-color: change-color(mix($text-color, $sidebar-bg, 80), $hue: hue($sidebar-bg), $saturation: saturation($sidebar-bg)/2) !default; -$sidebar-border: desaturate(darken($sidebar-bg, 7), 10) !default; -$sidebar-border-hover: darken($sidebar-bg, 7) !default; -$sidebar-link-color-subdued: lighten($sidebar-color, 20) !default; -$sidebar-link-color-subdued-hover: $sidebar-link-color-hover !default; - -$footer-color: #888 !default; -$footer-bg: #ccc !default; -$footer-bg-front: image-url('noise.png') !default; -$footer-bg-back: linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)) !default; -$footer-color: darken($footer-bg, 38) !default; -$footer-color-hover: darken($footer-color, 10) !default; -$footer-border-top: lighten($footer-bg, 15) !default; -$footer-border-bottom: darken($footer-bg, 15) !default; -$footer-link-color: darken($footer-bg, 38) !default; -$footer-link-color-hover: darken($footer-color, 25) !default; -$page-border-bottom: darken($footer-bg, 5) !default; - - -/* Core theme application */ - -a { - @include link-colors($link-color, $hover: $link-color-hover, $focus: $link-color-hover, $visited: $link-color-visited, $active: $link-color-active); -} -aside.sidebar a { - @include link-colors($sidebar-link-color, $hover: $sidebar-link-color-hover, $focus: $sidebar-link-color-hover, $active: $sidebar-link-color-active); -} -a { - @include transition(color .3s); -} - -html { - background: $page-bg image-url('line-tile.png') top left; -} -body { - > div { - background: $sidebar-bg $noise-bg; - border-bottom: 1px solid $page-border-bottom; - > div { - background: $main-bg $noise-bg; - border-right: 1px solid $sidebar-border; - } - } -} diff --git a/.themes/classic/sass/base/_typography.scss b/.themes/classic/sass/base/_typography.scss deleted file mode 100644 index 9a6bbacd..00000000 --- a/.themes/classic/sass/base/_typography.scss +++ /dev/null @@ -1,164 +0,0 @@ -$blockquote: $type-border !default; -$sans: "PT Sans", "Helvetica Neue", Arial, sans-serif !default; -$serif: "PT Serif", Georgia, Times, "Times New Roman", serif !default; -$mono: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace !default; -$heading-font-family: "PT Serif", "Georgia", "Helvetica Neue", Arial, sans-serif !default; -$header-title-font-family: $heading-font-family !default; -$header-subtitle-font-family: $heading-font-family !default; - -// Fonts -.heading { - font-family: $heading-font-family; -} -.sans { font-family: $sans; } -.serif { font-family: $serif; } -.mono { font-family: $mono; } - -body > header h1 { - font-size: 2.2em; - @extend .heading; - font-family: $header-title-font-family; - font-weight: normal; - line-height: 1.2em; - margin-bottom: 0.6667em; -} -body > header h2 { - font-family: $header-subtitle-font-family; -} - -body { - line-height: 1.5em; - color: $text-color; - @extend .serif; -} -h1 { - font-size: 2.2em; - line-height: 1.2em; -} - -@media only screen and (min-width: 992px) { - body { font-size: 1.15em; } - h1 { font-size: 2.6em; line-height: 1.2em; } -} - -#{headings()}{ - @extend .heading; - text-rendering: optimizelegibility; - margin-bottom: 1em; - font-weight: bold; -} -h2, section h1 { - font-size: 1.5em; -} -h3, section h2, section section h1 { - font-size: 1.3em; -} -h4, section h3, section section h2, section section section h1 { - font-size: 1em; -} -h5, section h4, section section h3 { - font-size: .9em; -} -h6, section h5, section section h4, section section section h3 { - font-size: .8em; -} - -p, article blockquote, ul, ol { margin-bottom: 1.5em; } - -ul { list-style-type: disc; - ul { list-style-type: circle; margin-bottom: 0px; - ul { list-style-type: square; margin-bottom: 0px; }}} - -ol { list-style-type: decimal; - ol { list-style-type: lower-alpha; margin-bottom: 0px; - ol { list-style-type: lower-roman; margin-bottom: 0px; }}} - -ul, ol { &, ul, ol { margin-left: 1.3em; }} -ul, ol { ul, ol { margin-bottom: 0em; }} - -strong { font-weight: bold; } - -em { font-style: italic; } - -sup, sub { font-size: 0.75em; position: relative; display: inline-block; padding: 0 .2em; line-height: .8em;} -sup { top: -.5em; } -sub { bottom: -.5em; } - -a[rev='footnote']{ font-size: .75em; padding: 0 .3em; line-height: 1; } - -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; } - -hr { margin-bottom: 0.2em; } - -small { font-size: .8em; } - -big { font-size: 1.2em; } - -article blockquote { - $bq-margin: 1.2em; - font-style: italic; - position: relative; - font-size: 1.2em; - line-height: 1.5em; - padding-left: 1em; - border-left: 4px solid rgba($text-color-light, .5); - cite { - font-style: italic; - a { color: $text-color-light !important; word-wrap: break-word; } - &:before { content: '\2014'; padding:{right: .3em; left: .3em;} color: $text-color-light; } - } - @media only screen and (min-width: 992px) { - padding-left: 1.5em; - border-left-width: 4px; - } -} - -.pullquote-right:before, -.pullquote-left:before { - /* Reset metrics. */ - padding: 0; - border: none; - - /* Content */ - content: attr(data-pullquote); - - /* Pull out to the right, modular scale based margins. */ - float: right; - width: 45%; - margin: .5em 0 1em 1.5em; - - /* Baseline correction */ - position: relative; - top: 7px; - font-size: 1.4em; - line-height: 1.45em; -} - -.pullquote-left:before { - /* Make left pullquotes align properly. */ - float: left; - margin: .5em 1.5em 1em 0; -} - -/* @extend this to force long lines of continuous text to wrap */ -.force-wrap { - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - white-space: pre-wrap; - word-wrap: break-word; -} - diff --git a/.themes/classic/sass/base/_utilities.scss b/.themes/classic/sass/base/_utilities.scss deleted file mode 100644 index 2d49e659..00000000 --- a/.themes/classic/sass/base/_utilities.scss +++ /dev/null @@ -1,28 +0,0 @@ -@mixin mask-image($img, $repeat: no-repeat){ - @include experimental(mask-image, image-url($img), -webkit, -moz, -o, -ms); - @include experimental(mask-repeat, $repeat, -webkit, -moz, -o, -ms); - width: image-width($img); - height: image-height($img); -} - -@mixin shadow-box($border: #fff .5em solid, $shadow: rgba(#000, .15) 0 1px 4px, $border-radius: .3em) { - @include border-radius($border-radius); - @include box-shadow($shadow); - @include box-sizing(border-box); - border: $border; -} - -@mixin selection($bg, $color: inherit, $text-shadow: none){ - * { - &::-moz-selection { background: $bg; color: $color; text-shadow: $text-shadow; } - &::-webkit-selection { background: $bg; color: $color; text-shadow: $text-shadow; } - &::selection { background: $bg; color: $color; text-shadow: $text-shadow; } - } -} - -@function text-color($color, $dark: dark, $light: light){ - $text-color: ( (red($color)*299) + (green($color)*587) + (blue($color)*114) ) / 1000; - $text-color: if($text-color >= 150, $dark, $light); - @return $text-color; -} - diff --git a/.themes/classic/sass/custom/_colors.scss b/.themes/classic/sass/custom/_colors.scss deleted file mode 100644 index 740266a8..00000000 --- a/.themes/classic/sass/custom/_colors.scss +++ /dev/null @@ -1,43 +0,0 @@ -// Here you can easily change your sites's color scheme. -// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. -// If you need a handy color picker try http://hslpicker.com - -//$header-bg: #263347; -//$subtitle-color: lighten($header-bg, 58); -//$nav-bg: desaturate(lighten(#8fc17a, 18), 5); -//$nav-bg-front: image-url('noise.png'); -//$nav-bg-back: linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)); -//$sidebar-bg: desaturate(#eceff5, 8); -//$sidebar-link-color: saturate(#526f9a, 10); -//$sidebar-link-color-hover: darken(#7ab662, 9); -//$footer-bg: #ccc !default; -//$footer-bg-front: image-url('noise.png'); -//$footer-bg-back: linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)); - - -/* To use the light Solarized highlighting theme uncomment the following line */ -//$solarized: light; - -/* If you want to tweak the Solarized colors you can do that here */ -//$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 -//$solar-yellow: #b58900; -//$solar-orange: #cb4b16; -//$solar-red: #dc322f; -//$solar-magenta: #d33682; -//$solar-violet: #6c71c4; -//$solar-blue: #268bd2; -//$solar-cyan: #2aa198; -//$solar-green: #859900; - - -/* Non highlighted code colors */ -//$pre-bg: $base03; -//$pre-border: darken($base02, 5); -//$pre-color: $base1; diff --git a/.themes/classic/sass/custom/_fonts.scss b/.themes/classic/sass/custom/_fonts.scss deleted file mode 100644 index 1a6b2a06..00000000 --- a/.themes/classic/sass/custom/_fonts.scss +++ /dev/null @@ -1,10 +0,0 @@ -// Here you can easily change font faces which are used in your site. -// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. your sites's. -// If you love to use Web Fonts, you also need to add some lines to source/_includes/custom/head.html - -//$sans: "Optima", sans-serif; -//$serif: "Baskerville", serif; -//$mono: "Courier", monospace; -//$heading-font-family: "Verdana", sans-serif; -//$header-title-font-family: "Futura", sans-serif; -//$header-subtitle-font-family: "Futura", sans-serif; diff --git a/.themes/classic/sass/custom/_layout.scss b/.themes/classic/sass/custom/_layout.scss deleted file mode 100644 index 74c7de9d..00000000 --- a/.themes/classic/sass/custom/_layout.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Here you can easily change your sites's layout. -// To give it a try, uncomment some of the lines below, make changes, rebuild your blog, and see how it works. - -//$header-font-size: 1em; -//$header-padding-top: 1.5em; -//$header-padding-bottom: 1.5em; - -//$max-width: 1350px; -//$indented-lists: true; - -// Padding used for layout margins -//$pad-min: 18px; -//$pad-narrow: 25px; -//$pad-medium: 35px; -//$pad-wide: 55px; - -// Sidebar widths used in media queries -//$sidebar-width-medium: 240px; -//$sidebar-pad-medium: 15px; -//$sidebar-pad-wide: 20px; -//$sidebar-width-wide: 300px; diff --git a/.themes/classic/sass/custom/_styles.scss b/.themes/classic/sass/custom/_styles.scss deleted file mode 100644 index 91ffcccf..00000000 --- a/.themes/classic/sass/custom/_styles.scss +++ /dev/null @@ -1,2 +0,0 @@ -// This File is imported last, and will override other styles in the cascade -// Add styles here to make changes without digging in too much diff --git a/.themes/classic/sass/partials/_archive.scss b/.themes/classic/sass/partials/_archive.scss deleted file mode 100644 index 9ef1e824..00000000 --- a/.themes/classic/sass/partials/_archive.scss +++ /dev/null @@ -1,72 +0,0 @@ -#archive { - #content > div { &, > article { padding-top: 0; } } -} -#blog-archives { - article { - padding: 1em 0 1em; - position: relative; - background: $img-border bottom left repeat-x; - &:last-child { - background: none; - } - footer { padding: 0; margin: 0;} - } - h1 { color: $text-color; margin-bottom: .3em; } - h2 { display: none; } - h1 { - font-size: 1.5em; - a { - @include hover-link; - color: inherit; - &:hover { color: $link-color-hover; } - font-weight: normal; - display: inline-block; - } - } - a.category, time { - @extend .sans; - color: $text-color-light; - } - color: $text-color-light; - .entry-content { display: none; } - time { - font-size: .9em; - line-height: 1.2em; - .month, .day { display: inline-block; } - .month { text-transform: uppercase; } - } - p { margin-bottom: 1em; } - &, .entry-content { a { @include link-colors(inherit, $link-color-hover); }} - a:hover { color: $link-color-hover; } - @media only screen and (min-width: 550px) { - article { margin-left: 5em; } - h2 { - margin-bottom: .3em; - font-weight: normal; - display: inline-block; - position: relative; top: -1px; - float: left; - &:first-child { padding-top: .75em; } - } - time { - position: absolute; - text-align: right; - left: 0em; - top: 1.8em; - } - .year { display: none; } - article { - padding:{left: 4.5em; bottom: .7em;} - } - a.category { - line-height: 1.1em; - } - } -} -#content > .category { - article { - margin-left: 0; - padding-left: 6.8em; - } - .year { display: inline; } -} diff --git a/.themes/classic/sass/partials/_blog.scss b/.themes/classic/sass/partials/_blog.scss deleted file mode 100644 index 57fe7a8a..00000000 --- a/.themes/classic/sass/partials/_blog.scss +++ /dev/null @@ -1,141 +0,0 @@ -article { - padding-top: 1em; - a { @extend .force-wrap; } - header { - position: relative; - padding-top: 2em; - padding-bottom: 1em; - margin-bottom: 1em; - background: $img-border bottom left repeat-x; - h1 { - margin: 0; - a { text-decoration: none; - &:hover { text-decoration: underline; } } - } - p { - font-size: .9em; - color: $text-color-light; - margin: 0; - &.meta { - @extend .sans; - text-transform: uppercase; - position: absolute; top: 0; - } - } - @media only screen and (min-width: 768px) { - margin-bottom: 1.5em; - padding-bottom: 1em; - background: $img-border bottom left repeat-x; - } - } - h2 { - padding-top: 0.8em; - background: $img-border top left repeat-x; - } - .entry-content & h2:first-child, header + h2 { padding-top: 0; } - h2:first-child, header + h2 { background: none; } - .feature { - padding-top: .5em; - margin-bottom: 1em; - padding-bottom: 1em; - background: $img-border bottom left repeat-x; - font-size: 2.0em; font-style: italic; - line-height: 1.3em; - } - img, video, .flash-video { - @extend .flex-content; - @extend .basic-alignment; - @include shadow-box; - } - video, .flash-video { margin: 0 auto 1.5em; } - video { display: block; width: 100%; } - .flash-video { - > div { - position: relative; - display: block; - padding-bottom: 56.25%; - padding-top: 1px; - height: 0; - overflow: hidden; - iframe, object, embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - } - } - > footer { - padding-bottom: 2.5em; - margin-top: 2em; - @extend .sans; - p.meta { - margin-bottom: .8em; - font-size: .85em; - clear: both; - overflow: hidden; - } - .byline + time:before, time +time:before, .comments:before, .byline ~ .categories:before { - @extend .separator; - } - } - -} -article + article { - .blog-index & { - background: $img-border top left repeat-x; - } -} -#content .blog-index { - padding: { top: 0; bottom: 0; } - article { padding-top: 2em; } - article header { background: none; padding-bottom: 0; } - article h1 { - font-size: 2.2em; - a { color: inherit; &:hover { color: $link-color-hover; } } - } - a[rel=full-article] { - background: darken($main-bg, 5); - display: inline-block; - padding: .4em .8em; - margin-right: .5em; - text-decoration: none; - color: mix($text-color, $text-color-light); - @extend .serif; - @include transition(background-color .5s); - &:hover { - background: $link-color-hover; - text-shadow: none; - color: $main-bg; - } - } - footer { - @extend .sans; - margin-top: 1em; - } -} - -.separator { - content: "\2022 "; - padding: 0 .4em 0 .2em; - display: inline-block; -} - -#content div.pagination { - text-align: center; - font-size: .95em; - position: relative; - background: $img-border top left repeat-x; - padding: {top: 1.5em; bottom: 1.5em;} - a { - text-decoration: none; - color: $text-color-light; - &.prev { position: absolute; left: 0; } - &.next { position: absolute; right: 0; } - &:hover { color: $link-color-hover; } - &[href*=archive] { - &:before, &:after { content: '\2014'; padding: 0 .3em; } - } - } -} diff --git a/.themes/classic/sass/partials/_footer.scss b/.themes/classic/sass/partials/_footer.scss deleted file mode 100644 index 37411225..00000000 --- a/.themes/classic/sass/partials/_footer.scss +++ /dev/null @@ -1,19 +0,0 @@ -body > footer { - @extend .sans; - font-size: .8em; - color: $footer-color; - text-shadow: lighten($footer-bg, 5) 0 1px; - background-color: $footer-bg; - @include background($footer-bg-front, $footer-bg-back); - border-top: 1px solid $footer-border-top; - position: relative; - padding-top: 1em; - padding-bottom: 1em; - margin-bottom: 3em; - @include border-bottom-radius(.4em); - z-index: 1; - a { - @include link-colors($footer-link-color, $footer-link-color-hover, $visited: $footer-link-color); - } - p:last-child { margin-bottom: 0; } -} diff --git a/.themes/classic/sass/partials/_header.scss b/.themes/classic/sass/partials/_header.scss deleted file mode 100644 index e3c6c020..00000000 --- a/.themes/classic/sass/partials/_header.scss +++ /dev/null @@ -1,18 +0,0 @@ -body > header { - background: $header-bg; - h1 { - display: inline-block; - margin: 0; - a, a:visited, a:hover { - color: $title_color; - text-decoration: none; - } - } - h2 { - margin: .2em 0 0; - @extend .sans; - font-size: 1em; - color: $subtitle-color; - font-weight: normal; - } -} diff --git a/.themes/classic/sass/partials/_navigation.scss b/.themes/classic/sass/partials/_navigation.scss deleted file mode 100644 index 30fa011d..00000000 --- a/.themes/classic/sass/partials/_navigation.scss +++ /dev/null @@ -1,137 +0,0 @@ -body > nav { - position: relative; - background-color: $nav-bg; - @include background($nav-bg-front, $nav-bg-back); - border: { - top: 1px solid $nav-border-top; - bottom: 1px solid $nav-border-bottom; } - padding-top: .35em; - padding-bottom: .35em; - form { - @include background-clip(padding-box); - margin: 0; padding: 0; - .search { - padding: .3em .5em 0; - font-size: .85em; - font-family: $sans; - line-height: 1.1em; - width: 95%; - @include border-radius(.5em); - @include background-clip(padding-box); - @include box-shadow(lighten($nav-bg, 2) 0 1px); - background-color: lighten($nav-bg, 15); - border: 1px solid $nav-border; - color: #888; - &:focus { - color: #444; - border-color: #80b1df; - @include box-shadow(#80b1df 0 0 4px, #80b1df 0 0 3px inset); - background-color: #fff; - outline: none; - } - } - } - fieldset[role=search]{ float: right; width: 48%; } - fieldset.mobile-nav{ float: left; width: 48%; - select{ width: 100%; font-size: .8em; border: 1px solid #888;} - } - ul { display: none; } - @media only screen and (min-width: 550px) { - font-size: .9em; - ul { - @include horizontal-list(0); - float: left; - display: block; - padding-top: .15em; - } - ul.subscription { - margin-left: .8em; - float: right; - li:last-child a { padding-right: 0; } - } - ul li { - margin: 0; - } - a { - @include link-colors($nav-color, $nav-color-hover, $visited: $nav-color); - font-family: $sans; - text-shadow: lighten($nav-bg, 12) 0 1px; - float: left; - text-decoration: none; - font-size: 1.1em; - padding: .1em 0; - line-height: 1.5em; - } - li + li { - border-left: 1px solid $nav-border-left; - margin-left: .8em; - a { - padding-left: .8em; - border-left: 1px solid $nav-border-right; - } - } - form { - float: right; - text-align: left; - padding-left: .8em; - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium + 20px; - .search { - width: 93%; - font-size: .95em; - line-height: 1.2em; - } - } - ul[data-subscription$=email] + form { - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 58px; - .search { width: 91%; } - } - fieldset.mobile-nav { display: none; } - fieldset[role=search]{ width: 99%; } - } - @media only screen and (min-width: 992px) { - form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 + 10px; - } - ul[data-subscription$=email] + form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 58px; - } - } -} -.no-placeholder { - body > nav .search { - background: lighten($nav-bg, 15) image-url('search.png') .3em .25em no-repeat; - text-indent: 1.3em; - } -} -@mixin mask-subscription-nav($feed: 'rss.png'){ - position: relative; top: 0px; - text-indent: -999999em; - background-color: $nav-border-right; - border: 0; - padding: 0; - &,&:after { @include mask-image($feed); } - &:after { - content: ""; - position: absolute; top: -1px; left: 0; - background-color: lighten($nav-color, 25); - } - &:hover:after { background-color: lighten($nav-color, 20); } -} -.maskImage { - body > nav { - @media only screen and (min-width: 550px) { - ul[data-subscription$=email] + form { - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 32px; - } - } - @media only screen and (min-width: 992px) { - ul[data-subscription$=email] + form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 32px; - } - } - } - ul.subscription { position: relative; top: .2em; li, a { border: 0; padding: 0; }} - a[rel=subscribe-rss]{ @include mask-subscription-nav('rss.png'); } - a[rel=subscribe-email]{ @include mask-subscription-nav('email.png'); } -} - diff --git a/.themes/classic/sass/partials/_sharing.scss b/.themes/classic/sass/partials/_sharing.scss deleted file mode 100644 index 3eecb488..00000000 --- a/.themes/classic/sass/partials/_sharing.scss +++ /dev/null @@ -1,8 +0,0 @@ -.sharing { - p.meta + & { - padding: { top: 1em; left: 0; } - background: $img-border top left repeat-x; - } -} - -#fb-root { display: none; } diff --git a/.themes/classic/sass/partials/_sidebar.scss b/.themes/classic/sass/partials/_sidebar.scss deleted file mode 100644 index cd8c1ca2..00000000 --- a/.themes/classic/sass/partials/_sidebar.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import "sidebar/base"; -@import "sidebar/googleplus"; -@import "sidebar/pinboard"; -@import "sidebar/delicious"; diff --git a/.themes/classic/sass/partials/_syntax.scss b/.themes/classic/sass/partials/_syntax.scss deleted file mode 100644 index 5465286f..00000000 --- a/.themes/classic/sass/partials/_syntax.scss +++ /dev/null @@ -1,261 +0,0 @@ -.highlight, html .gist .gist-file .gist-syntax .gist-highlight { - table td.code { width: 100%; } - border: 1px solid $pre-border !important; -} -.highlight .line-numbers, html .gist .gist-file .gist-syntax .highlight .line_numbers { - text-align: right; - font-size: 13px; - line-height: 1.45em; - @if $solarized == light { - background: lighten($base03, 1) $noise-bg !important; - border-right: 1px solid darken($base02, 2) !important; - @include box-shadow(lighten($base03, 2) -1px 0 inset); - text-shadow: lighten($base02, 2) 0 -1px; - } @else { - background: $base02 $noise-bg !important; - border-right: 1px solid darken($base03, 2) !important; - @include box-shadow(lighten($base02, 2) -1px 0 inset); - text-shadow: darken($base02, 10) 0 -1px; - } - span { color: $base01 !important; } - padding: .8em !important; - @include border-radius(0); -} - -figure.code, .gist-file, pre { - @include box-shadow(rgba(#000, .06) 0 0 10px); - .highlight pre { @include box-shadow(none); } -} - -.gist .highlight, figure.code .highlight { - @include selection(adjust-color($base03, $lightness: 23%, $saturation: -65%), $text-shadow: $base03 0 1px); -} -html .gist .gist-file { - margin-bottom: 1.8em; - position: relative; - border: none; - padding-top: image-height("code_bg.png") !important; - .highlight { - margin-bottom: 0; - } - .gist-syntax { - border-bottom: 0 !important; - background: none !important; - .gist-highlight { - background: $base03 !important; - } - .highlight pre { - @extend .pre-code; - padding: 0; - } - } - .gist-meta { - padding: .6em 0.8em; - border: 1px solid lighten($base02, 2) !important; - color: $base01; - font-size: .7em !important; - @if $solarized == light { - background: lighten($base03, 2) $noise-bg; - border: 1px solid $pre-border !important; - border-top: 1px solid lighten($base03, 2) !important; - } @else { - background: $base02 $noise-bg; - } - @extend .sans; - line-height: 1.5em; - a { - color: mix($base1, $base01) !important; - @include hover-link; - &:hover { color: $base1 !important; } - } - a[href*='#file'] { - position: absolute; top: 0; left:0; right:-10px; - color: #474747 !important; - @extend .code-title; - &:hover { color: $link-color !important; } - } - a[href*=raw]{ - @extend .download-source; - top: .4em; - } - } -} -pre { - background: $pre-bg $noise-bg; - @include border-radius(.4em); - @extend .mono; - border: 1px solid $pre-border; - line-height: 1.45em; - font-size: 13px; - margin-bottom: 2.1em; - padding: .8em 1em; - color: $pre-color; - overflow: auto; -} -h3.filename { - @extend .code-title; - + pre { @include border-top-radius(0px); } -} - -p, li { - code { - @extend .mono; - display: inline-block; - white-space: no-wrap; - background: #fff; - font-size: .8em; - line-height: 1.5em; - color: #555; - border: 1px solid #ddd; - @include border-radius(.4em); - padding: 0 .3em; - margin: -1px 0; - } - pre code { font-size: 1em !important; background: none; border: none; } -} - -.pre-code { - font-family: $mono !important; - overflow: scroll; - overflow-y: hidden; - display: block; - padding: .8em; - overflow-x: auto; - line-height: 1.45em; - background: $base03 $noise-bg !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: $solar-red !important; background: none !important; } /* Error */ - .k { color: $solar-orange !important; } /* Keyword */ - .o { color: $base1 !important; font-weight: bold !important; } /* Operator */ - .p { color: $base1 !important; } /* Operator */ - .ow { color: $solar-cyan !important; font-weight: bold !important; } /* Operator.Word */ - .gd { color: $base1 !important; background-color: mix($solar-red, $base03, 25%) !important; display: inline-block; } /* Generic.Deleted */ - .gd .x { color: $base1 !important; background-color: mix($solar-red, $base03, 35%) !important; display: inline-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($solar-green, $base03, 20%) !important; display: inline-block; } /* Generic.Inserted */ - .gi .x { color: $base1 !important; background-color: mix($solar-green, $base03, 40%) !important; display: inline-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: $solar-violet !important; } /* Generic.Subheading */ - //.gt { color: #aa0000 } /* Generic.Traceback */ - .kc { color: $solar-green !important; font-weight: bold !important; } /* Keyword.Constant */ - .kd { color: $solar-blue !important; } /* Keyword.Declaration */ - .kp { color: $solar-orange !important; font-weight: bold !important; } /* Keyword.Pseudo */ - .kr { color: $solar-magenta !important; font-weight: bold !important; } /* Keyword.Reserved */ - .kt { color: $solar-cyan !important; } /* Keyword.Type */ - .n { color: $solar-blue !important; } - .na { color: $solar-blue !important; } /* Name.Attribute */ - .nb { color: $solar-green !important; } /* Name.Builtin */ - .nc { color: $solar-magenta !important;} /* Name.Class */ - .no { color: $solar-yellow !important; } /* Name.Constant */ - //.ni { color: #800080 } /* Name.Entity */ - .nl { color: $solar-green !important; } - .ne { color: $solar-blue !important; font-weight: bold !important; } /* Name.Exception */ - .nf { color: $solar-blue !important; font-weight: bold !important; } /* Name.Function */ - .nn { color: $solar-yellow !important; } /* Name.Namespace */ - .nt { color: $solar-blue !important; font-weight: bold !important; } /* Name.Tag */ - .nx { color: $solar-yellow !Important; } - //.bp { color: #999999 } /* Name.Builtin.Pseudo */ - //.vc { color: #008080 } /* Name.Variable.Class */ - .vg { color: $solar-blue !important; } /* Name.Variable.Global */ - .vi { color: $solar-blue !important; } /* Name.Variable.Instance */ - .nv { color: $solar-blue !important; } /* Name.Variable */ - //.w { color: #bbbbbb } /* Text.Whitespace */ - .mf { color: $solar-cyan !important; } /* Literal.Number.Float */ - .m { color: $solar-cyan !important; } /* Literal.Number */ - .mh { color: $solar-cyan !important; } /* Literal.Number.Hex */ - .mi { color: $solar-cyan !important; } /* Literal.Number.Integer */ - //.mo { color: #009999 } /* Literal.Number.Oct */ - .s { color: $solar-cyan !important; } /* Literal.String */ - //.sb { color: #d14 } /* Literal.String.Backtick */ - //.sc { color: #d14 } /* Literal.String.Char */ - .sd { color: $solar-cyan !important; } /* Literal.String.Doc */ - .s2 { color: $solar-cyan !important; } /* Literal.String.Double */ - .se { color: $solar-red !important; } /* Literal.String.Escape */ - //.sh { color: #d14 } /* Literal.String.Heredoc */ - .si { color: $solar-blue !important; } /* Literal.String.Interpol */ - //.sx { color: #d14 } /* Literal.String.Other */ - .sr { color: $solar-cyan !important; } /* Literal.String.Regex */ - .s1 { color: $solar-cyan !important; } /* Literal.String.Single */ - //.ss { color: #990073 } /* Literal.String.Symbol */ - //.il { color: #009999 } /* Literal.Number.Integer.Long */ - div { .gd, .gd .x, .gi, .gi .x { display: inline-block; width: 100%; }} -} - -.highlight, .gist-highlight { - pre { background: none; @include border-radius(0px); border: none; padding: 0; margin-bottom: 0; } - margin-bottom: 1.8em; - background: $base03; - overflow-y: hidden; - overflow-x: auto; -} - -$solar-scroll-bg: rgba(#fff, .15); -$solar-scroll-thumb: rgba(#fff, .2); -@if $solarized == light { - $solar-scroll-bg: rgba(#000, .15); - $solar-scroll-thumb: rgba(#000, .15); -} - -pre, .highlight, .gist-highlight { - &::-webkit-scrollbar { height: .5em; background: $solar-scroll-bg; } - &::-webkit-scrollbar-thumb:horizontal { background: $solar-scroll-thumb; -webkit-border-radius: 4px; border-radius: 4px } -} - -.highlight code { - @extend .pre-code; background: #000; -} -figure.code { - background: none; - padding: 0; - border: 0; - margin-bottom: 1.5em; - pre { margin-bottom: 0; } - figcaption { - position: relative; - @extend .code-title; - a { @extend .download-source; } - } - .highlight { - margin-bottom: 0; - } -} - -.code-title { - text-align: center; - font-size: 13px; - line-height: 2em; - text-shadow: #cbcccc 0 1px 0; - color: #474747; - font-weight: 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; -} - -.download-source { - position: absolute; right: .8em; - @include hover-link; - color: #666 !important; - z-index: 1; - font-size: 13px; - text-shadow: #cbcccc 0 1px 0; - padding-left: 3em; -} diff --git a/.themes/classic/sass/partials/sidebar/_base.scss b/.themes/classic/sass/partials/sidebar/_base.scss deleted file mode 100644 index 5441304e..00000000 --- a/.themes/classic/sass/partials/sidebar/_base.scss +++ /dev/null @@ -1,106 +0,0 @@ -.side-shadow-border { - @include box-shadow(lighten($sidebar-bg, 5) 0 1px); -} -aside.sidebar { - overflow: hidden; - color: $sidebar-color; - text-shadow: lighten($sidebar-bg, 8) 0 1px; - a { @extend .force-wrap; } - section { - @extend .sans; - font-size: .8em; - line-height: 1.4em; - margin-bottom: 1.5em; - h1 { - margin: 1.5em 0 0; - padding-bottom: .2em; - border-bottom: 1px solid $sidebar-border; - @extend .side-shadow-border; - + p { - padding-top: .4em; - } - } - } - img { - @extend .flex-content; - @extend .basic-alignment; - @include shadow-box($border: #fff .3em solid); - } - ul { - margin-bottom: 0.5em; - margin-left: 0; - } - li { - list-style: none; - padding: .5em 0; - margin: 0; - border-bottom: 1px solid $sidebar-border; - @extend .side-shadow-border; - p:last-child { - margin-bottom: 0; - } - } - a { - color: inherit; - @include transition(color .5s); - } - &:hover a { - color: $sidebar-link-color; - &:hover { color: $sidebar-link-color-hover; } - } -} -.aside-alt-link { - color: $sidebar-link-color-subdued; - &:hover { - color: $sidebar-link-color-subdued-hover; - } -} - -@media only screen and (min-width: 768px) { - .toggle-sidebar { - outline: none; - position: absolute; right: -10px; top: 0; bottom: 0; - display: inline-block; - text-decoration: none; - color: mix($text-color-light, $sidebar-bg); - width: 9px; - cursor: pointer; - &:hover { - background: mix($sidebar-border, $sidebar-bg); - @include background(linear-gradient(left, rgba($sidebar-border, .5), rgba($sidebar-border, 0))); - } - &:after { - position: absolute; right: -11px; top: 0; - width: 20px; - font-size: 1.2em; - line-height: 1.1em; - padding-bottom: .15em; - @include border-bottom-right-radius(.3em); - text-align: center; - background: $main-bg $noise-bg; - border-bottom: 1px solid $sidebar-border; - border-right: 1px solid $sidebar-border; - content: "\00BB"; - text-indent: -1px; - } - .collapse-sidebar & { - text-indent: 0px; - right: -20px; - width: 19px; - &:hover { - background: mix($sidebar-border, $sidebar-bg); - } - &:after { - border-left: 1px solid $sidebar-border; - text-shadow: #fff 0 1px; - content: "\00AB"; - left: 0px; right: 0; - text-align: center; - text-indent: 0; - border: 0; - border-right-width: 0; - background: none; - } - } - } -} diff --git a/.themes/classic/sass/partials/sidebar/_delicious.scss b/.themes/classic/sass/partials/sidebar/_delicious.scss deleted file mode 100644 index e962702e..00000000 --- a/.themes/classic/sass/partials/sidebar/_delicious.scss +++ /dev/null @@ -1,4 +0,0 @@ -.delicious-posts { - a.delicious-link { margin-bottom: .5em; display: block; } - p { font-size: 1em; } -} diff --git a/.themes/classic/sass/partials/sidebar/_googleplus.scss b/.themes/classic/sass/partials/sidebar/_googleplus.scss deleted file mode 100644 index c2a693ee..00000000 --- a/.themes/classic/sass/partials/sidebar/_googleplus.scss +++ /dev/null @@ -1,26 +0,0 @@ -.googleplus { - h1 { - -moz-box-shadow: none !important; - -webkit-box-shadow: none !important; - -o-box-shadow: none !important; - box-shadow: none !important; - border-bottom: 0px none !important; - } - a { - text-decoration: none; - white-space: normal !important; - line-height: 32px; - - img { - float: left; - margin-right: 0.5em; - border: 0 none; - } - } -} - -.googleplus-hidden { - position: absolute; - top: -1000em; - left: -1000em; -} diff --git a/.themes/classic/sass/partials/sidebar/_pinboard.scss b/.themes/classic/sass/partials/sidebar/_pinboard.scss deleted file mode 100644 index 9f9ab461..00000000 --- a/.themes/classic/sass/partials/sidebar/_pinboard.scss +++ /dev/null @@ -1,12 +0,0 @@ -#pinboard_linkroll { - .pin-title, .pin-description { - display: block; - margin-bottom: .5em; - } - .pin-tag { - @include hover-link; - @extend .aside-alt-link; - &:after { content: ','; } - &:last-child:after { content: ''; } - } -} diff --git a/.themes/classic/sass/plugins/_plugins.scss b/.themes/classic/sass/plugins/_plugins.scss deleted file mode 100644 index 3b4ba0b8..00000000 --- a/.themes/classic/sass/plugins/_plugins.scss +++ /dev/null @@ -1,6 +0,0 @@ -/* - Add plugin stylesheets to this directory and they will be automatically - Imported. Load order is alphabetical and styles can be overriden in - custom/_style.scss which is loaded after all plugin stylesheets. -*/ - diff --git a/.themes/classic/sass/screen.scss b/.themes/classic/sass/screen.scss deleted file mode 100644 index 75eac0a2..00000000 --- a/.themes/classic/sass/screen.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "compass"; -@include global-reset; - -@import "custom/colors"; -@import "custom/fonts"; -@import "custom/layout"; -@import "base"; -@import "partials"; -@import "plugins/**/*"; -@import "custom/styles"; diff --git a/.themes/classic/source/_includes/after_footer.html b/.themes/classic/source/_includes/after_footer.html deleted file mode 100644 index 08b8e340..00000000 --- a/.themes/classic/source/_includes/after_footer.html +++ /dev/null @@ -1,5 +0,0 @@ -{% include disqus.html %} -{% include facebook_like.html %} -{% include google_plus_one.html %} -{% include twitter_sharing.html %} -{% include custom/after_footer.html %} diff --git a/.themes/classic/source/_includes/archive_post.html b/.themes/classic/source/_includes/archive_post.html deleted file mode 100644 index 210dbbbe..00000000 --- a/.themes/classic/source/_includes/archive_post.html +++ /dev/null @@ -1,8 +0,0 @@ -{% capture category %}{{ post.categories | size }}{% endcapture %} -<h1><a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1> -<time datetime="{{ post.date | datetime | date_to_xmlschema }}" pubdate>{{ post.date | date: "<span class='month'>%b</span> <span class='day'>%d</span> <span class='year'>%Y</span>"}}</time> -{% if category != '0' %} -<footer> - <span class="categories">posted in {{ post.categories | category_links }}</span> -</footer> -{% endif %} diff --git a/.themes/classic/source/_includes/article.html b/.themes/classic/source/_includes/article.html deleted file mode 100644 index 84279977..00000000 --- a/.themes/classic/source/_includes/article.html +++ /dev/null @@ -1,29 +0,0 @@ -{% unless page.no_header %} - <header> - {% if index %} - <h1 class="entry-title"><a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1> - {% else %} - <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1> - {% endif %} - {% unless page.meta == false %} - <p class="meta"> - {% include post/date.html %}{{ time }} - {% if site.disqus_short_name and page.comments != false and post.comments != false and site.disqus_show_comment_count == true %} - | <a href="{% if index %}{{ root_url }}{{ post.url }}{% endif %}#disqus_thread" - data-disqus-identifier="{% if post.meta.disqus_id %}{{ post.meta.disqus_id }}{% else %}{{ site.url }}{{ post.url }}{% endif %}">Comments</a> - {% endif %} - </p> - {% endunless %} - </header> -{% endunless %} -{% if index %} - <div class="entry-content">{{ content | excerpt }}</div> - {% capture excerpted %}{{ content | has_excerpt }}{% endcapture %} - {% if excerpted == 'true' %} - <footer> - <a rel="full-article" href="{{ root_url }}{{ post.url }}">{{ site.excerpt_link }}</a> - </footer> - {% endif %} -{% else %} -<div class="entry-content">{{ content }}</div> -{% endif %} diff --git a/.themes/classic/source/_includes/asides/delicious.html b/.themes/classic/source/_includes/asides/delicious.html deleted file mode 100644 index 115cdcbc..00000000 --- a/.themes/classic/source/_includes/asides/delicious.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if site.delicious_user %} -<section> - <h1>On Delicious</h1> - <div id="delicious"></div> - <script type="text/javascript" src="http://feeds.delicious.com/v2/json/{{ site.delicious_user }}?count={{ site.delicious_count }}&sort=date&callback=renderDeliciousLinks"></script> - <p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks »</a></p> -</section> -{% endif %}
\ No newline at end of file diff --git a/.themes/classic/source/_includes/asides/github.html b/.themes/classic/source/_includes/asides/github.html deleted file mode 100644 index b0bf9596..00000000 --- a/.themes/classic/source/_includes/asides/github.html +++ /dev/null @@ -1,30 +0,0 @@ -{% if site.github_user %} -<section> - <h1>GitHub Repos</h1> - <ul id="gh_repos"> - <li class="loading">Status updating...</li> - </ul> - {% if site.github_show_profile_link %} - <a href="https://github.com/{{site.github_user}}">@{{site.github_user}}</a> on GitHub - {% endif %} - <script type="text/javascript"> - $(document).ready(function(){ - if (!window.jXHR){ - var jxhr = document.createElement('script'); - jxhr.type = 'text/javascript'; - jxhr.src = '{{ root_url}}/javascripts/libs/jXHR.js'; - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(jxhr, s); - } - - github.showRepos({ - user: '{{site.github_user}}', - count: {{site.github_repo_count}}, - skip_forks: {{site.github_skip_forks}}, - target: '#gh_repos' - }); - }); - </script> - <script src="{{ root_url }}/javascripts/github.js" type="text/javascript"> </script> -</section> -{% endif %} diff --git a/.themes/classic/source/_includes/asides/googleplus.html b/.themes/classic/source/_includes/asides/googleplus.html deleted file mode 100644 index 00a0aa85..00000000 --- a/.themes/classic/source/_includes/asides/googleplus.html +++ /dev/null @@ -1,11 +0,0 @@ -{% if site.googleplus_user %} -<section class="googleplus{% if site.googleplus_hidden %} googleplus-hidden{% endif %}"> - <h1> - <a href="https://plus.google.com/{{ site.googleplus_user }}?rel=author"> - <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32"> - Google+ - </a> - </h1> -</section> -{% endif %} - diff --git a/.themes/classic/source/_includes/asides/pinboard.html b/.themes/classic/source/_includes/asides/pinboard.html deleted file mode 100644 index c89c3e7b..00000000 --- a/.themes/classic/source/_includes/asides/pinboard.html +++ /dev/null @@ -1,19 +0,0 @@ -{% if site.pinboard_user %} -<section> - <h1>My Pinboard</h1> - <ul id="pinboard_linkroll">Fetching linkroll...</ul> - <p><a href="http://pinboard.in/u:{{ site.pinboard_user }}">My Pinboard Bookmarks »</a></p> -</section> -<script type="text/javascript"> - var linkroll = 'pinboard_linkroll'; //id target for pinboard list - var pinboard_user = "{{ site.pinboard_user }}"; //id target for pinboard list - var pinboard_count = {{ site.pinboard_count }}; //id target for pinboard list - (function(){ - var pinboardInit = document.createElement('script'); - pinboardInit.type = 'text/javascript'; - pinboardInit.async = true; - pinboardInit.src = '{{ root_url }}/javascripts/pinboard.js'; - document.getElementsByTagName('head')[0].appendChild(pinboardInit); - })(); -</script> -{% endif %} diff --git a/.themes/classic/source/_includes/asides/recent_posts.html b/.themes/classic/source/_includes/asides/recent_posts.html deleted file mode 100644 index 4b108474..00000000 --- a/.themes/classic/source/_includes/asides/recent_posts.html +++ /dev/null @@ -1,10 +0,0 @@ -<section> - <h1>Recent Posts</h1> - <ul id="recent_posts"> - {% for post in site.posts limit: site.recent_posts %} - <li class="post"> - <a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a> - </li> - {% endfor %} - </ul> -</section> diff --git a/.themes/classic/source/_includes/custom/after_footer.html b/.themes/classic/source/_includes/custom/after_footer.html deleted file mode 100644 index bce25dd9..00000000 --- a/.themes/classic/source/_includes/custom/after_footer.html +++ /dev/null @@ -1,3 +0,0 @@ -{% comment %} - Add content to be output at the bottom of each page. (You might use this for analytics scripts, for example) -{% endcomment %} diff --git a/.themes/classic/source/_includes/custom/asides/about.html b/.themes/classic/source/_includes/custom/asides/about.html deleted file mode 100644 index 59d309e4..00000000 --- a/.themes/classic/source/_includes/custom/asides/about.html +++ /dev/null @@ -1,4 +0,0 @@ -<section> - <h1>About Me</h1> - <p>A little something about me.</p> -</section> diff --git a/.themes/classic/source/_includes/custom/category_feed.xml b/.themes/classic/source/_includes/custom/category_feed.xml deleted file mode 100644 index 8c93ed39..00000000 --- a/.themes/classic/source/_includes/custom/category_feed.xml +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: null ---- -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> - - <title><![CDATA[{% if site.titlecase %}{{ page.title | titlecase | cdata_escape }}{% else %}{{ page.title | cdata_escape }}{% endif %} | {{ site.title | cdata_escape }}]]></title> - <link href="{{ site.url }}/{{ page.feed_url }}" rel="self"/> - <link href="{{ site.url }}/"/> - <updated>{{ site.time | date_to_xmlschema }}</updated> - <id>{{ site.url }}/</id> - <author> - <name><![CDATA[{{ site.author | strip_html }}]]></name> - {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %} - </author> - <generator uri="http://octopress.org/">Octopress</generator> - - {% for post in site.categories[page.category] limit: 5 %} - <entry> - <title type="html"><![CDATA[{% if site.titlecase %}{{ post.title | titlecase | cdata_escape }}{% else %}{{ post.title | cdata_escape }}{% endif %}]]></title> - <link href="{{ site.url }}{{ post.url }}"/> - <updated>{{ post.date | date_to_xmlschema }}</updated> - <id>{{ site.url }}{{ post.id }}</id> - <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | markdownify | cdata_escape }}]]></content> - </entry> - {% endfor %} -</feed> diff --git a/.themes/classic/source/_includes/custom/footer.html b/.themes/classic/source/_includes/custom/footer.html deleted file mode 100644 index e12f0678..00000000 --- a/.themes/classic/source/_includes/custom/footer.html +++ /dev/null @@ -1,4 +0,0 @@ -<p> - Copyright © {{ site.time | date: "%Y" }} - {{ site.author }} - - <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span> -</p> diff --git a/.themes/classic/source/_includes/custom/head.html b/.themes/classic/source/_includes/custom/head.html deleted file mode 100644 index 824a41e7..00000000 --- a/.themes/classic/source/_includes/custom/head.html +++ /dev/null @@ -1,3 +0,0 @@ -<!--Fonts from Google"s Web font directory at http://google.com/webfonts --> -<link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> -<link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> diff --git a/.themes/classic/source/_includes/custom/header.html b/.themes/classic/source/_includes/custom/header.html deleted file mode 100644 index 35f9c059..00000000 --- a/.themes/classic/source/_includes/custom/header.html +++ /dev/null @@ -1,6 +0,0 @@ -<hgroup> - <h1><a href="{{ root_url }}/">{{ site.title }}</a></h1> - {% if site.subtitle %} - <h2>{{ site.subtitle }}</h2> - {% endif %} -</hgroup> diff --git a/.themes/classic/source/_includes/custom/navigation.html b/.themes/classic/source/_includes/custom/navigation.html deleted file mode 100644 index d6bd4246..00000000 --- a/.themes/classic/source/_includes/custom/navigation.html +++ /dev/null @@ -1,4 +0,0 @@ -<ul class="main-navigation"> - <li><a href="{{ root_url }}/">Blog</a></li> - <li><a href="{{ root_url }}/blog/archives">Archives</a></li> -</ul> diff --git a/.themes/classic/source/_includes/disqus.html b/.themes/classic/source/_includes/disqus.html deleted file mode 100644 index 49c6a29c..00000000 --- a/.themes/classic/source/_includes/disqus.html +++ /dev/null @@ -1,21 +0,0 @@ -{% comment %} Load script if disquss comments are enabled and `page.comments` is either empty (index) or set to true {% endcomment %} -{% if site.disqus_short_name and page.comments != false %} -<script type="text/javascript"> - var disqus_shortname = '{{ site.disqus_short_name }}'; - {% if page.comments == true %} - {% comment %} `page.comments` can be only be set to true on pages/posts, so we embed the comments here. {% endcomment %} - // var disqus_developer = 1; - var disqus_identifier = '{{ site.url }}{{ page.url }}'; - var disqus_url = '{{ site.url }}{{ page.url }}'; - var disqus_script = 'embed.js'; - {% else %} - {% comment %} As `page.comments` is empty, we must be on the index page. {% endcomment %} - var disqus_script = 'count.js'; - {% endif %} - (function () { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - }()); -</script> -{% endif %} diff --git a/.themes/classic/source/_includes/facebook_like.html b/.themes/classic/source/_includes/facebook_like.html deleted file mode 100644 index d263e6d2..00000000 --- a/.themes/classic/source/_includes/facebook_like.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.facebook_like %} -<div id="fb-root"></div> -<script>(function(d, s, id) { - var js, fjs = d.getElementsByTagName(s)[0]; - if (d.getElementById(id)) {return;} - js = d.createElement(s); js.id = id; js.async = true; - js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1"; - fjs.parentNode.insertBefore(js, fjs); -}(document, 'script', 'facebook-jssdk'));</script> -{% endif %} diff --git a/.themes/classic/source/_includes/footer.html b/.themes/classic/source/_includes/footer.html deleted file mode 100644 index 3a8c7687..00000000 --- a/.themes/classic/source/_includes/footer.html +++ /dev/null @@ -1 +0,0 @@ -{% include custom/footer.html %} diff --git a/.themes/classic/source/_includes/google_analytics.html b/.themes/classic/source/_includes/google_analytics.html deleted file mode 100644 index 4d4d5969..00000000 --- a/.themes/classic/source/_includes/google_analytics.html +++ /dev/null @@ -1,13 +0,0 @@ -{% if site.google_analytics_tracking_id %} - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', '{{ site.google_analytics_tracking_id }}']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> -{% endif %} diff --git a/.themes/classic/source/_includes/google_plus_one.html b/.themes/classic/source/_includes/google_plus_one.html deleted file mode 100644 index b69ddaeb..00000000 --- a/.themes/classic/source/_includes/google_plus_one.html +++ /dev/null @@ -1,9 +0,0 @@ -{% if site.google_plus_one %} - <script type="text/javascript"> - (function() { - var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; - script.src = 'https://apis.google.com/js/plusone.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s); - })(); - </script> -{% endif %} diff --git a/.themes/classic/source/_includes/head.html b/.themes/classic/source/_includes/head.html deleted file mode 100644 index 6b5412ca..00000000 --- a/.themes/classic/source/_includes/head.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE html> -<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]--> -<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]--> -<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]--> -<head> - <meta charset="utf-8"> - <title>{% if page.title %}{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %} - {% endif %}{{ site.title }}</title> - <meta name="author" content="{{ site.author }}"> - - {% capture description %}{% if page.description %}{{ page.description }}{% else %}{{ content | raw_content }}{% endif %}{% endcapture %} - <meta name="description" content="{{ description | strip_html | condense_spaces | truncate:150 }}"> - {% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}">{% endif %} - - <!-- http://t.co/dKP3o1e --> - <meta name="HandheldFriendly" content="True"> - <meta name="MobileOptimized" content="320"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} - <link rel="canonical" href="{{ canonical }}"> - <link href="{{ root_url }}/favicon.png" rel="icon"> - <link href="{{ root_url }}/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css"> - <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml"> - <script src="{{ root_url }}/javascripts/modernizr-2.0.js"></script> - <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> - <script>!window.jQuery && document.write(unescape('%3Cscript src="./javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script> - <script src="{{ root_url }}/javascripts/octopress.js" type="text/javascript"></script> - {% include custom/head.html %} - {% include google_analytics.html %} -</head> diff --git a/.themes/classic/source/_includes/header.html b/.themes/classic/source/_includes/header.html deleted file mode 100644 index 524de651..00000000 --- a/.themes/classic/source/_includes/header.html +++ /dev/null @@ -1 +0,0 @@ -{% include custom/header.html %} diff --git a/.themes/classic/source/_includes/navigation.html b/.themes/classic/source/_includes/navigation.html deleted file mode 100644 index 2f0e6280..00000000 --- a/.themes/classic/source/_includes/navigation.html +++ /dev/null @@ -1,15 +0,0 @@ -<ul class="subscription" data-subscription="rss{% if site.subscribe_email %} email{% endif %}"> - <li><a href="{{ site.subscribe_rss }}" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li> - {% if site.subscribe_email %} - <li><a href="{{ site.subscribe_email }}" rel="subscribe-email" title="subscribe via email">Email</a></li> - {% endif %} -</ul> - {% if site.simple_search %} -<form action="{{ site.simple_search }}" method="get"> - <fieldset role="search"> - <input type="hidden" name="q" value="site:{{ site.url | shorthand_url }}" /> - <input class="search" type="text" name="q" results="0" placeholder="Search"/> - </fieldset> -</form> - {% endif %} -{% include custom/navigation.html %} diff --git a/.themes/classic/source/_includes/post/author.html b/.themes/classic/source/_includes/post/author.html deleted file mode 100644 index 83dd6a89..00000000 --- a/.themes/classic/source/_includes/post/author.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if post.author %} - {% assign author = post.author %} -{% elsif page.author %} - {% assign author = page.author %} -{% else %} - {% assign author = site.author %} -{% endif %} -{% if author %}<span class="byline author vcard">Posted by <span class="fn">{{ author }}</span></span>{% endif %} diff --git a/.themes/classic/source/_includes/post/categories.html b/.themes/classic/source/_includes/post/categories.html deleted file mode 100644 index 4a98b29d..00000000 --- a/.themes/classic/source/_includes/post/categories.html +++ /dev/null @@ -1,10 +0,0 @@ -{% capture category %}{% if post %}{{ post.categories | category_links | size }}{% else %}{{ page.categories | category_links | size }}{% endif %}{% endcapture %} -{% unless category == '0' %} -<span class="categories"> - {% if post %} - {{ post.categories | category_links }} - {% else %} - {{ page.categories | category_links }} - {% endif %} -</span> -{% endunless %} diff --git a/.themes/classic/source/_includes/post/date.html b/.themes/classic/source/_includes/post/date.html deleted file mode 100644 index a86953c2..00000000 --- a/.themes/classic/source/_includes/post/date.html +++ /dev/null @@ -1,5 +0,0 @@ -{% if page.date %}{% capture time %}{{ page.date_time_html }}{% endcapture %}{% endif %} -{% if post.date %}{% capture time %}{{ post.date_time_html }}{% endcapture %}{% endif %} - -{% if page.updated %}{% capture updated %}{{ page.date_time_updated_html }}{% endcapture %}{% endif %} -{% if post.updated %}{% capture updated %}{{ post.date_time_updated_html }}{% endcapture %}{% endif %} diff --git a/.themes/classic/source/_includes/post/disqus_thread.html b/.themes/classic/source/_includes/post/disqus_thread.html deleted file mode 100644 index b1acd8cc..00000000 --- a/.themes/classic/source/_includes/post/disqus_thread.html +++ /dev/null @@ -1 +0,0 @@ -<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> diff --git a/.themes/classic/source/_includes/post/sharing.html b/.themes/classic/source/_includes/post/sharing.html deleted file mode 100644 index d639faa1..00000000 --- a/.themes/classic/source/_includes/post/sharing.html +++ /dev/null @@ -1,11 +0,0 @@ -<div class="sharing"> - {% if site.twitter_tweet_button %} - <a href="//twitter.com/share" class="twitter-share-button" data-url="{{ site.url }}{{ page.url }}" data-via="{{ site.twitter_user }}" data-counturl="{{ site.url }}{{ page.url }}" >Tweet</a> - {% endif %} - {% if site.google_plus_one %} - <div class="g-plusone" data-size="{{ site.google_plus_one_size }}"></div> - {% endif %} - {% if site.facebook_like %} - <div class="fb-like" data-send="true" data-width="450" data-show-faces="false"></div> - {% endif %} -</div> diff --git a/.themes/classic/source/_includes/twitter_sharing.html b/.themes/classic/source/_includes/twitter_sharing.html deleted file mode 100644 index 7cd5fbc2..00000000 --- a/.themes/classic/source/_includes/twitter_sharing.html +++ /dev/null @@ -1,11 +0,0 @@ -{% if site.twitter_follow_button or site.twitter_tweet_button %} - <script type="text/javascript"> - (function(){ - var twitterWidgets = document.createElement('script'); - twitterWidgets.type = 'text/javascript'; - twitterWidgets.async = true; - twitterWidgets.src = '//platform.twitter.com/widgets.js'; - document.getElementsByTagName('head')[0].appendChild(twitterWidgets); - })(); - </script> -{% endif %} diff --git a/.themes/classic/source/_layouts/category_index.html b/.themes/classic/source/_layouts/category_index.html deleted file mode 100644 index 85a63072..00000000 --- a/.themes/classic/source/_layouts/category_index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -footer: false ---- - -<div id="blog-archives" class="category"> -{% for post in site.categories[page.category] %} -{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} -{% unless year == this_year %} - {% assign year = this_year %} - <h2>{{ year }}</h2> -{% endunless %} -<article> - {% include archive_post.html %} -</article> -{% endfor %} -</div> diff --git a/.themes/classic/source/_layouts/default.html b/.themes/classic/source/_layouts/default.html deleted file mode 100644 index f23b07b8..00000000 --- a/.themes/classic/source/_layouts/default.html +++ /dev/null @@ -1,14 +0,0 @@ -{% capture root_url %}{{ site.root | strip_slash }}{% endcapture %} -{% include head.html %} -<body {% if page.body_id %} id="{{ page.body_id }}" {% endif %} {% if page.sidebar == false %} class="no-sidebar" {% endif %} {% if page.sidebar == 'collapse' or site.sidebar == 'collapse' %} class="collapse-sidebar sidebar-footer" {% endif %}> - <header role="banner">{% include header.html %}</header> - <nav role="navigation">{% include navigation.html %}</nav> - <div id="main"> - <div id="content"> - {{ content | expand_urls: root_url }} - </div> - </div> - <footer role="contentinfo">{% include footer.html %}</footer> - {% include after_footer.html %} -</body> -</html> diff --git a/.themes/classic/source/_layouts/page.html b/.themes/classic/source/_layouts/page.html deleted file mode 100644 index 8ba6ec94..00000000 --- a/.themes/classic/source/_layouts/page.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: default ---- - -<div> -<article role="article"> - {% if page.title %} - <header> - <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1> - {% if page.date %}<p class="meta">{% include post/date.html %}{{ time }}</p>{% endif %} - </header> - {% endif %} - {{ content }} - {% unless page.footer == false %} - <footer> - {% if page.date or page.author %}<p class="meta"> - {% if page.author %}{% include post/author.html %}{% endif %} - {% include post/date.html %}{% if updated %}{{ updated }}{% else %}{{ time }}{% endif %} - {% if page.categories %}{% include post/categories.html %}{% endif %} - </p>{% endif %} - {% unless page.sharing == false %} - {% include post/sharing.html %} - {% endunless %} - </footer> - {% endunless %} -</article> -{% if site.disqus_short_name and page.comments == true %} - <section> - <h1>Comments</h1> - <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div> - </section> -{% endif %} -</div> -{% unless page.sidebar == false %} -<aside class="sidebar"> - {% if site.page_asides.size %} - {% include_array page_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> -{% endunless %} diff --git a/.themes/classic/source/_layouts/post.html b/.themes/classic/source/_layouts/post.html deleted file mode 100644 index b450681b..00000000 --- a/.themes/classic/source/_layouts/post.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: default -single: true ---- - -<div> -<article class="hentry" role="article"> - {% include article.html %} - <footer> - <p class="meta"> - {% include post/author.html %} - {% include post/date.html %}{{ time }}{% if updated %} {{ updated }}{% endif %} - {% include post/categories.html %} - </p> - {% unless page.sharing == false %} - {% include post/sharing.html %} - {% endunless %} - <p class="meta"> - {% if page.previous.url %} - <a class="basic-alignment left" href="{{page.previous.url}}" title="Previous Post: {{page.previous.title}}">« {{page.previous.title}}</a> - {% endif %} - {% if page.next.url %} - <a class="basic-alignment right" href="{{page.next.url}}" title="Next Post: {{page.next.title}}">{{page.next.title}} »</a> - {% endif %} - </p> - </footer> -</article> -{% if site.disqus_short_name and page.comments == true %} - <section> - <h1>Comments</h1> - <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div> - </section> -{% endif %} -</div> -{% unless page.sidebar == false %} -<aside class="sidebar"> - {% if site.post_asides.size %} - {% include_array post_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> -{% endunless %} diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/background.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/background.png Binary files differdeleted file mode 100644 index c2824cc4..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/background.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/blankButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/blankButton.png Binary files differdeleted file mode 100644 index 010159f3..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/blankButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/divider.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/divider.png Binary files differdeleted file mode 100644 index 77cd829a..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/divider.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButton.png Binary files differdeleted file mode 100644 index e06aa50c..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png Binary files differdeleted file mode 100644 index d2bc4fc7..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButton.png Binary files differdeleted file mode 100644 index 40c40ab2..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButtonOver.png Binary files differdeleted file mode 100644 index 96fe7bb0..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/muteButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButton.png Binary files differdeleted file mode 100644 index 22295074..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png Binary files differdeleted file mode 100644 index 15db44d4..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButton.png Binary files differdeleted file mode 100644 index e399bf34..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png Binary files differdeleted file mode 100644 index 409d89d2..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/playButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/playButton.png Binary files differdeleted file mode 100644 index f8d9a007..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/playButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/playButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/playButtonOver.png Binary files differdeleted file mode 100644 index 3fe28484..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/playButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png Binary files differdeleted file mode 100644 index 73b371ab..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png Binary files differdeleted file mode 100644 index 72322171..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png Binary files differdeleted file mode 100644 index 626444a6..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png Binary files differdeleted file mode 100644 index 132a8e7d..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderRail.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderRail.png Binary files differdeleted file mode 100644 index 27851dfd..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/timeSliderRail.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButton.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButton.png Binary files differdeleted file mode 100644 index 3658453c..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButton.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png b/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png Binary files differdeleted file mode 100644 index 138ebb35..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/display/background.png b/.themes/classic/source/assets/jwplayer/glow/display/background.png Binary files differdeleted file mode 100644 index 391152f5..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/display/background.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/display/bufferIcon.png b/.themes/classic/source/assets/jwplayer/glow/display/bufferIcon.png Binary files differdeleted file mode 100644 index a3819c1e..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/display/bufferIcon.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/display/muteIcon.png b/.themes/classic/source/assets/jwplayer/glow/display/muteIcon.png Binary files differdeleted file mode 100644 index e0408bbd..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/display/muteIcon.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/display/playIcon.png b/.themes/classic/source/assets/jwplayer/glow/display/playIcon.png Binary files differdeleted file mode 100644 index cb384278..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/display/playIcon.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/dock/button.png b/.themes/classic/source/assets/jwplayer/glow/dock/button.png Binary files differdeleted file mode 100644 index 391152f5..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/dock/button.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/glow.xml b/.themes/classic/source/assets/jwplayer/glow/glow.xml deleted file mode 100644 index 71bdced0..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/glow.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0"?> -<skin version="1.1" name="Glow" author="LongTail Video"> - - <settings> - <setting name="backcolor" value="0x000000" /> - <setting name="frontcolor" value="0xeeeeee" /> - <setting name="lightcolor" value="0xeeeeee" /> - <setting name="screencolor" value="0x000000" /> - </settings> - - <components> - <component name="controlbar"> - <settings> - <setting name="margin" value="0" /> - <setting name="fontsize" value="11" /> - <setting name="fontcolor" value="0xEEEEEE" /> - <setting name="buttoncolor" value="0xEEEEEE" /> - </settings> - - <layout> - <group position="left"> - <button name="play" /> - <text name="elapsed" /> - </group> - <group position="center"> - <slider name="time" /> - </group> - <group position="right"> - <text name="duration" /> - <button name="blank" /> - <button name="mute" /> - <button name="fullscreen" /> - </group> - </layout> - - <elements> - <element name="background" src="background.png" /> - <element name="capLeft" src="divider.png" /> - <element name="capRight" src="divider.png" /> - <element name="divider" src="divider.png" /> - <element name="blankButton" src="blankButton.png" /> - <element name="fullscreenButton" src="fullscreenButton.png" /> - <element name="fullscreenButtonOver" src="fullscreenButtonOver.png" /> - <element name="muteButton" src="muteButton.png" /> - <element name="muteButtonOver" src="muteButtonOver.png" /> - <element name="pauseButton" src="pauseButton.png" /> - <element name="pauseButtonOver" src="pauseButtonOver.png" /> - <element name="playButton" src="playButton.png" /> - <element name="playButtonOver" src="playButtonOver.png" /> - <element name="timeSliderBuffer" src="timeSliderBuffer.png" /> - <element name="timeSliderCapLeft" src="timeSliderCapLeft.png" /> - <element name="timeSliderCapRight" src="timeSliderCapRight.png" /> - <element name="timeSliderProgress" src="timeSliderProgress.png" /> - <element name="timeSliderRail" src="timeSliderRail.png" /> - <element name="normalscreenButton" src="normalscreenButton.png" /> - <element name="normalscreenButtonOver" src="normalscreenButtonOver.png" /> - <element name="unmuteButton" src="unmuteButton.png" /> - <element name="unmuteButtonOver" src="unmuteButtonOver.png" /> - <element name="volumeSliderRail" src="divider.png" /> - <element name="volumeSliderProgress" src="divider.png" /> - </elements> - </component> - - <component name="display"> - <settings> - <setting name="bufferinterval" value="250" /> - <setting name="bufferrotation" value="90" /> - </settings> - <elements> - <element name="background" src="background.png" /> - <element name="playIcon" src="playIcon.png" /> - <element name="muteIcon" src="muteIcon.png" /> - <element name="errorIcon" src="bufferIcon.png" /> - <element name="bufferIcon" src="bufferIcon.png" /> - </elements> - </component> - - <component name="dock"> - <settings> - <setting name="fontcolor" value="0xFFFFFF" /> - </settings> - <elements> - <element name="button" src="button.png" /> - </elements> - </component> - - <component name="playlist"> - <settings> - <setting name="fontcolor" value="0xEEEEEE" /> - <setting name="overcolor" value="0xFFFFFF" /> - <setting name="activecolor" value="0xFFFFFF" /> - <setting name="backgroundcolor" value="0x333333" /> - </settings> - <elements> - <element name="item" src="item.png" /> - <element name="itemOver" src="itemOver.png" /> - <element name="sliderCapBottom" src="sliderCapBottom.png" /> - <element name="sliderCapTop" src="sliderCapTop.png" /> - <element name="sliderRail" src="sliderRail.png" /> - <element name="sliderThumb" src="sliderThumb.png" /> - </elements> - </component> - - <component name="sharing"> - <elements> - <element name="embedIcon" src="embedIcon.png" /> - <element name="embedScreen" src="embedScreen.png" /> - <element name="shareIcon" src="shareIcon.png" /> - <element name="shareScreen" src="shareScreen.png" /> - </elements> - </component> - - </components> - -</skin>
\ No newline at end of file diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/item.png b/.themes/classic/source/assets/jwplayer/glow/playlist/item.png Binary files differdeleted file mode 100644 index 812592c3..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/item.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/itemOver.png b/.themes/classic/source/assets/jwplayer/glow/playlist/itemOver.png Binary files differdeleted file mode 100644 index 549f3721..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/itemOver.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapBottom.png b/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapBottom.png Binary files differdeleted file mode 100644 index 048cc623..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapBottom.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapTop.png b/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapTop.png Binary files differdeleted file mode 100644 index 65c463a0..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderCapTop.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderRail.png b/.themes/classic/source/assets/jwplayer/glow/playlist/sliderRail.png Binary files differdeleted file mode 100644 index 121778af..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderRail.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderThumb.png b/.themes/classic/source/assets/jwplayer/glow/playlist/sliderThumb.png Binary files differdeleted file mode 100644 index 118c3e03..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/playlist/sliderThumb.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/sharing/embedIcon.png b/.themes/classic/source/assets/jwplayer/glow/sharing/embedIcon.png Binary files differdeleted file mode 100644 index 3394ac9c..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/sharing/embedIcon.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/sharing/embedScreen.png b/.themes/classic/source/assets/jwplayer/glow/sharing/embedScreen.png Binary files differdeleted file mode 100644 index b4059754..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/sharing/embedScreen.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/sharing/shareIcon.png b/.themes/classic/source/assets/jwplayer/glow/sharing/shareIcon.png Binary files differdeleted file mode 100644 index eae1d4e7..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/sharing/shareIcon.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/glow/sharing/shareScreen.png b/.themes/classic/source/assets/jwplayer/glow/sharing/shareScreen.png Binary files differdeleted file mode 100644 index 695ec949..00000000 --- a/.themes/classic/source/assets/jwplayer/glow/sharing/shareScreen.png +++ /dev/null diff --git a/.themes/classic/source/assets/jwplayer/player.swf b/.themes/classic/source/assets/jwplayer/player.swf Binary files differdeleted file mode 100644 index 0eee3797..00000000 --- a/.themes/classic/source/assets/jwplayer/player.swf +++ /dev/null diff --git a/.themes/classic/source/atom.xml b/.themes/classic/source/atom.xml deleted file mode 100644 index 403328f3..00000000 --- a/.themes/classic/source/atom.xml +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: null ---- -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> - - <title><![CDATA[{{ site.title | cdata_escape }}]]></title> - <link href="{{ site.url }}/atom.xml" rel="self"/> - <link href="{{ site.url }}/"/> - <updated>{{ site.time | date_to_xmlschema }}</updated> - <id>{{ site.url }}/</id> - <author> - <name><![CDATA[{{ site.author | strip_html }}]]></name> - {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %} - </author> - <generator uri="http://octopress.org/">Octopress</generator> - - {% for post in site.posts limit: 20 %} - <entry> - <title type="html"><![CDATA[{% if site.titlecase %}{{ post.title | titlecase | cdata_escape }}{% else %}{{ post.title | cdata_escape }}{% endif %}]]></title> - <link href="{{ site.url }}{{ post.url }}"/> - <updated>{{ post.date | date_to_xmlschema }}</updated> - <id>{{ site.url }}{{ post.id }}</id> - <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | cdata_escape }}]]></content> - </entry> - {% endfor %} -</feed> diff --git a/.themes/classic/source/blog/archives/index.html b/.themes/classic/source/blog/archives/index.html deleted file mode 100644 index f1d9cee3..00000000 --- a/.themes/classic/source/blog/archives/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: Blog Archive -footer: false ---- - -<div id="blog-archives"> -{% for post in site.posts reverse %} -{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} -{% unless year == this_year %} - {% assign year = this_year %} - <h2>{{ year }}</h2> -{% endunless %} -<article> - {% include archive_post.html %} -</article> -{% endfor %} -</div> diff --git a/.themes/classic/source/favicon.png b/.themes/classic/source/favicon.png Binary files differdeleted file mode 100644 index 0f250673..00000000 --- a/.themes/classic/source/favicon.png +++ /dev/null diff --git a/.themes/classic/source/images/bird_32_gray.png b/.themes/classic/source/images/bird_32_gray.png Binary files differdeleted file mode 100644 index 574f210a..00000000 --- a/.themes/classic/source/images/bird_32_gray.png +++ /dev/null diff --git a/.themes/classic/source/images/bird_32_gray_fail.png b/.themes/classic/source/images/bird_32_gray_fail.png Binary files differdeleted file mode 100644 index 8337d103..00000000 --- a/.themes/classic/source/images/bird_32_gray_fail.png +++ /dev/null diff --git a/.themes/classic/source/images/code_bg.png b/.themes/classic/source/images/code_bg.png Binary files differdeleted file mode 100644 index a57bab56..00000000 --- a/.themes/classic/source/images/code_bg.png +++ /dev/null diff --git a/.themes/classic/source/images/dotted-border.png b/.themes/classic/source/images/dotted-border.png Binary files differdeleted file mode 100644 index 57f99071..00000000 --- a/.themes/classic/source/images/dotted-border.png +++ /dev/null diff --git a/.themes/classic/source/images/email.png b/.themes/classic/source/images/email.png Binary files differdeleted file mode 100644 index e55473fe..00000000 --- a/.themes/classic/source/images/email.png +++ /dev/null diff --git a/.themes/classic/source/images/line-tile.png b/.themes/classic/source/images/line-tile.png Binary files differdeleted file mode 100644 index f67ee19f..00000000 --- a/.themes/classic/source/images/line-tile.png +++ /dev/null diff --git a/.themes/classic/source/images/noise.png b/.themes/classic/source/images/noise.png Binary files differdeleted file mode 100644 index 432e05bf..00000000 --- a/.themes/classic/source/images/noise.png +++ /dev/null diff --git a/.themes/classic/source/images/rss.png b/.themes/classic/source/images/rss.png Binary files differdeleted file mode 100644 index 151ae718..00000000 --- a/.themes/classic/source/images/rss.png +++ /dev/null diff --git a/.themes/classic/source/images/search.png b/.themes/classic/source/images/search.png Binary files differdeleted file mode 100644 index 1220ff4e..00000000 --- a/.themes/classic/source/images/search.png +++ /dev/null diff --git a/.themes/classic/source/index.html b/.themes/classic/source/index.html deleted file mode 100644 index 64b665e4..00000000 --- a/.themes/classic/source/index.html +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: default ---- - -<div class="blog-index"> - {% assign index = true %} - {% for post in paginator.posts %} - {% assign content = post.content %} - <article> - {% include article.html %} - </article> - {% endfor %} - <div class="pagination"> - {% if paginator.next_page %} - <a class="prev" href="{{paginator.next_page_path}}">← Older</a> - {% endif %} - <a href="/blog/archives">Blog Archives</a> - {% if paginator.previous_page %} - <a class="next" href="{{paginator.previous_page_path}}">Newer →</a> - {% endif %} - </div> -</div> -<aside class="sidebar"> - {% if site.blog_index_asides.size %} - {% include_array blog_index_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> diff --git a/.themes/classic/source/javascripts/github.js b/.themes/classic/source/javascripts/github.js deleted file mode 100644 index fc2bb12c..00000000 --- a/.themes/classic/source/javascripts/github.js +++ /dev/null @@ -1,32 +0,0 @@ -var github = (function(){ - function escapeHtml(str) { - return $('<div/>').text(str).html(); - } - function render(target, repos){ - var i = 0, fragment = '', t = $(target)[0]; - - for(i = 0; i < repos.length; i++) { - fragment += '<li><a href="'+repos[i].html_url+'">'+repos[i].name+'</a><p>'+escapeHtml(repos[i].description||'')+'</p></li>'; - } - t.innerHTML = fragment; - } - return { - showRepos: function(options){ - $.ajax({ - url: "https://api.github.com/users/"+options.user+"/repos?sort=pushed&callback=?" - , dataType: 'jsonp' - , error: function (err) { $(options.target + ' li.loading').addClass('error').text("Error loading feed"); } - , success: function(data) { - var repos = []; - if (!data || !data.data) { return; } - for (var i = 0; i < data.data.length; i++) { - if (options.skip_forks && data.data[i].fork) { continue; } - repos.push(data.data[i]); - } - if (options.count) { repos.splice(options.count); } - render(options.target, repos); - } - }); - } - }; -})(); diff --git a/.themes/classic/source/javascripts/libs/jXHR.js b/.themes/classic/source/javascripts/libs/jXHR.js deleted file mode 100644 index 6775655c..00000000 --- a/.themes/classic/source/javascripts/libs/jXHR.js +++ /dev/null @@ -1,85 +0,0 @@ -// jXHR.js (JSON-P XHR) -// v0.1 (c) Kyle Simpson -// MIT License - -(function(global){ - var SETTIMEOUT = global.setTimeout, // for better compression - doc = global.document, - callback_counter = 0; - - global.jXHR = function() { - var script_url, - script_loaded, - jsonp_callback, - scriptElem, - publicAPI = null; - - function removeScript() { try { scriptElem.parentNode.removeChild(scriptElem); } catch (err) { } } - - function reset() { - script_loaded = false; - script_url = ""; - removeScript(); - scriptElem = null; - fireReadyStateChange(0); - } - - function ThrowError(msg) { - try { publicAPI.onerror.call(publicAPI,msg,script_url); } catch (err) { throw new Error(msg); } - } - - function handleScriptLoad() { - if ((this.readyState && this.readyState!=="complete" && this.readyState!=="loaded") || script_loaded) { return; } - this.onload = this.onreadystatechange = null; // prevent memory leak - script_loaded = true; - if (publicAPI.readyState !== 4) ThrowError("Script failed to load ["+script_url+"]."); - removeScript(); - } - - function fireReadyStateChange(rs,args) { - args = args || []; - publicAPI.readyState = rs; - if (typeof publicAPI.onreadystatechange === "function") publicAPI.onreadystatechange.apply(publicAPI,args); - } - - publicAPI = { - onerror:null, - onreadystatechange:null, - readyState:0, - open:function(method,url){ - reset(); - internal_callback = "cb"+(callback_counter++); - (function(icb){ - global.jXHR[icb] = function() { - try { fireReadyStateChange.call(publicAPI,4,arguments); } - catch(err) { - publicAPI.readyState = -1; - ThrowError("Script failed to run ["+script_url+"]."); - } - global.jXHR[icb] = null; - }; - })(internal_callback); - script_url = url.replace(/=\?/,"=jXHR."+internal_callback); - fireReadyStateChange(1); - }, - send:function(){ - SETTIMEOUT(function(){ - scriptElem = doc.createElement("script"); - scriptElem.setAttribute("type","text/javascript"); - scriptElem.onload = scriptElem.onreadystatechange = function(){handleScriptLoad.call(scriptElem);}; - scriptElem.setAttribute("src",script_url); - doc.getElementsByTagName("head")[0].appendChild(scriptElem); - },0); - fireReadyStateChange(2); - }, - setRequestHeader:function(){}, // noop - getResponseHeader:function(){return "";}, // basically noop - getAllResponseHeaders:function(){return [];} // ditto - }; - - reset(); - - return publicAPI; - }; -})(window); - diff --git a/.themes/classic/source/javascripts/libs/jquery.min.js b/.themes/classic/source/javascripts/libs/jquery.min.js deleted file mode 100644 index 32d50cb0..00000000 --- a/.themes/classic/source/javascripts/libs/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery.min.map -*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); diff --git a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js b/.themes/classic/source/javascripts/libs/swfobject-dynamic.js deleted file mode 100644 index b0216145..00000000 --- a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js +++ /dev/null @@ -1,298 +0,0 @@ -/*! SWFObject v2.2 <http://code.google.com/p/swfobject/> - is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - regObjArr = [], - objIdArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }() - - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { testPlayerVersion(); } - else { matchVersions(); } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += '<param name="' + j + '" value="' + parObj[j] + '" />'; - } - } - el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>'; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - callbackObj.success = true; - callbackObj.ref = obj; - } - if (callbackFn) { callbackFn(callbackObj); } - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - } - }; -}(); diff --git a/.themes/classic/source/javascripts/modernizr-2.0.js b/.themes/classic/source/javascripts/modernizr-2.0.js deleted file mode 100644 index 9dca7b0e..00000000 --- a/.themes/classic/source/javascripts/modernizr-2.0.js +++ /dev/null @@ -1,5 +0,0 @@ -/* Modernizr 2.6.2 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-video-mq-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function A(a){j.cssText=a}function B(a,b){return A(m.join(a+";")+(b||""))}function C(a,b){return typeof a===b}function D(a,b){return!!~(""+a).indexOf(b)}function E(a,b){for(var d in a){var e=a[d];if(!D(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function F(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:C(f,"function")?f.bind(d||b):f}return!1}function G(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return C(b,"string")||C(b,"undefined")?E(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),F(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return w("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},y={}.hasOwnProperty,z;!C(y,"undefined")&&!C(y.call,"undefined")?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c};for(var H in q)z(q,H)&&(v=H.toLowerCase(),e[v]=q[H](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},A(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=x,e.testProp=function(a){return E([a])},e.testAllProps=G,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}; - diff --git a/.themes/classic/source/javascripts/octopress.js b/.themes/classic/source/javascripts/octopress.js deleted file mode 100644 index faaf3dbe..00000000 --- a/.themes/classic/source/javascripts/octopress.js +++ /dev/null @@ -1,151 +0,0 @@ -function getNav() { - var mainNav = $('ul.main-navigation, ul[role=main-navigation]').before('<fieldset class="mobile-nav">') - var mobileNav = $('fieldset.mobile-nav').append('<select>'); - mobileNav.find('select').append('<option value="">Navigate…</option>'); - var addOption = function(i, option) { - mobileNav.find('select').append('<option value="' + this.href + '">» ' + $(this).text() + '</option>'); - } - mainNav.find('a').each(addOption); - $('ul.subscription a').each(addOption); - mobileNav.find('select').bind('change', function(event) { - if (event.target.value) { window.location.href = event.target.value; } - }); -} - -function addSidebarToggler() { - if(!$('body').hasClass('sidebar-footer')) { - $('#content').append('<span class="toggle-sidebar"></span>'); - $('.toggle-sidebar').bind('click', function(e) { - e.preventDefault(); - $('body').toggleClass('collapse-sidebar'); - }); - } - var sections = $('aside.sidebar > section'); - if (sections.length > 1) { - sections.each(function(index, section){ - if ((sections.length >= 3) && index % 3 === 0) { - $(section).addClass("first"); - } - var count = ((index +1) % 2) ? "odd" : "even"; - $(section).addClass(count); - }); - } - if (sections.length >= 3){ $('aside.sidebar').addClass('thirds'); } -} - -function testFeatures() { - var features = ['maskImage']; - $(features).map(function(i, feature) { - if (Modernizr.testAllProps(feature)) { - $('html').addClass(feature); - } else { - $('html').addClass('no-'+feature); - } - }); - if ("placeholder" in document.createElement("input")) { - $('html').addClass('placeholder'); - } else { - $('html').addClass('no-placeholder'); - } -} - -function addCodeLineNumbers() { - if (navigator.appName === 'Microsoft Internet Explorer') { return; } - $('div.gist-highlight').each(function(code) { - var tableStart = '<table><tbody><tr><td class="gutter">', - lineNumbers = '<pre class="line-numbers">', - tableMiddle = '</pre></td><td class="code">', - tableEnd = '</td></tr></tbody></table>', - count = $('.line', code).length; - for (var i=1;i<=count; i++) { - lineNumbers += '<span class="line-number">'+i+'</span>\n'; - } - var table = tableStart + lineNumbers + tableMiddle + '<pre>'+$('pre', code).html()+'</pre>' + tableEnd; - $(code).html(table); - }); -} - -function flashVideoFallback(){ - var flashplayerlocation = "/assets/jwplayer/player.swf", - flashplayerskin = "/assets/jwplayer/glow/glow.xml"; - $('video').each(function(i, video){ - video = $(video); - if (!Modernizr.video.h264 && swfobject.getFlashPlayerVersion() || window.location.hash.indexOf("flash-test") !== -1){ - video.children('source[src$=mp4]').first().map(i, function(source){ - var src = $(source).attr('src'), - id = 'video_'+Math.round(1 + Math.random()*(100000)), - width = video.attr('width'), - height = parseInt(video.attr('height'), 10) + 30; - video.after('<div class="flash-video"><div><div id='+id+'>'); - swfobject.embedSWF(flashplayerlocation, id, width, height + 30, "9.0.0", - { file : src, image : video.attr('poster'), skin : flashplayerskin } , - { movie : src, wmode : "opaque", allowfullscreen : "true" } - ); - }); - video.remove(); - } - }); -} - -function wrapFlashVideos() { - $('object').each(function(i, object) { - if( $(object).find('param[name=movie]').length ){ - $(object).wrap('<div class="flash-video">') - } - }); - $('iframe[src*=vimeo],iframe[src*=youtube]').wrap('<div class="flash-video">') -} - -function renderDeliciousLinks(items) { - var output = "<ul>"; - for (var i=0,l=items.length; i<l; i++) { - output += '<li><a href="' + items[i].u + '" title="Tags: ' + (items[i].t == "" ? "" : items[i].t.join(', ')) + '">' + items[i].d + '</a></li>'; - } - output += "</ul>"; - $('#delicious').html(output); -} - -$('document').ready(function() { - testFeatures(); - wrapFlashVideos(); - flashVideoFallback(); - addCodeLineNumbers(); - getNav(); - addSidebarToggler(); -}); - -// iOS scaling bug fix -// Rewritten version -// By @mathias, @cheeaun and @jdalton -// Source url: https://gist.github.com/901295 -(function(doc) { - var addEvent = 'addEventListener', - type = 'gesturestart', - qsa = 'querySelectorAll', - scales = [1, 1], - meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []; - function fix() { - meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]; - doc.removeEventListener(type, fix, true); - } - if ((meta = meta[meta.length - 1]) && addEvent in doc) { - fix(); - scales = [0.25, 1.6]; - doc[addEvent](type, fix, true); - } -}(document)); - -/*! SWFObject v2.2 modified by Brandon Mathis to contain only what is necessary to dynamically embed flash objects - * Uncompressed source in javascripts/libs/swfobject-dynamic.js - * <http://code.google.com/p/swfobject/> - released under the MIT License <http://www.opensource.org/licenses/mit-license.php> -*/ -var swfobject=function(){function s(a,b,d){var q,k=n(d);if(g.wk&&g.wk<312)return q;if(k){if(typeof a.id==l)a.id=d;if(g.ie&&g.win){var e="",c;for(c in a)if(a[c]!=Object.prototype[c])c.toLowerCase()=="data"?b.movie=a[c]:c.toLowerCase()=="styleclass"?e+=' class="'+a[c]+'"':c.toLowerCase()!="classid"&&(e+=" "+c+'="'+a[c]+'"');c="";for(var f in b)b[f]!=Object.prototype[f]&&(c+='<param name="'+f+'" value="'+b[f]+'" />');k.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+e+">"+c+ -"</object>";q=n(a.id)}else{f=i.createElement(o);f.setAttribute("type",m);for(var h in a)a[h]!=Object.prototype[h]&&(h.toLowerCase()=="styleclass"?f.setAttribute("class",a[h]):h.toLowerCase()!="classid"&&f.setAttribute(h,a[h]));for(e in b)b[e]!=Object.prototype[e]&&e.toLowerCase()!="movie"&&(a=f,c=e,h=b[e],d=i.createElement("param"),d.setAttribute("name",c),d.setAttribute("value",h),a.appendChild(d));k.parentNode.replaceChild(f,k);q=f}}return q}function n(a){var b=null;try{b=i.getElementById(a)}catch(d){}return b} -function t(a){var b=g.pv,a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0:!1}function u(a){return/[\\\"<>\.;]/.exec(a)!=null&&typeof encodeURIComponent!=l?encodeURIComponent(a):a}var l="undefined",o="object",m="application/x-shockwave-flash",v=window,i=document,j=navigator,g=function(){var a=typeof i.getElementById!=l&&typeof i.getElementsByTagName!=l&&typeof i.createElement!=l, -b=j.userAgent.toLowerCase(),d=j.platform.toLowerCase(),g=d?/win/.test(d):/win/.test(b),d=d?/mac/.test(d):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,k=!+"\u000b1",e=[0,0,0],c=null;if(typeof j.plugins!=l&&typeof j.plugins["Shockwave Flash"]==o){if((c=j.plugins["Shockwave Flash"].description)&&!(typeof j.mimeTypes!=l&&j.mimeTypes[m]&&!j.mimeTypes[m].enabledPlugin))k=!1,c=c.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),e[0]=parseInt(c.replace(/^(.*)\..*$/,"$1"), -10),e[1]=parseInt(c.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(c)?parseInt(c.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else if(typeof v.ActiveXObject!=l)try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(f&&(c=f.GetVariable("$version")))k=!0,c=c.split(" ")[1].split(","),e=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]}catch(h){}return{w3:a,pv:e,wk:b,ie:k,win:g,mac:d}}();return{embedSWF:function(a,b,d,i,k,e,c,f,h){var j={success:!1,id:b};if(g.w3&&!(g.wk&&g.wk<312)&& -a&&b&&d&&i&&k){d+="";i+="";var p={};if(f&&typeof f===o)for(var m in f)p[m]=f[m];p.data=a;p.width=d;p.height=i;a={};if(c&&typeof c===o)for(var n in c)a[n]=c[n];if(e&&typeof e===o)for(var r in e)typeof a.flashvars!=l?a.flashvars+="&"+r+"="+e[r]:a.flashvars=r+"="+e[r];if(t(k))b=s(p,a,b),j.success=!0,j.ref=b}h&&h(j)},ua:g,getFlashPlayerVersion:function(){return{major:g.pv[0],minor:g.pv[1],release:g.pv[2]}},hasFlashPlayerVersion:t,createSWF:function(a,b,d){if(g.w3)return s(a,b,d)},getQueryParamValue:function(a){var b= -i.location.search||i.location.hash;if(b){/\?/.test(b)&&(b=b.split("?")[1]);if(a==null)return u(b);for(var b=b.split("&"),d=0;d<b.length;d++)if(b[d].substring(0,b[d].indexOf("="))==a)return u(b[d].substring(b[d].indexOf("=")+1))}return""}}}(); - - diff --git a/.themes/classic/source/javascripts/pinboard.js b/.themes/classic/source/javascripts/pinboard.js deleted file mode 100644 index a97df03d..00000000 --- a/.themes/classic/source/javascripts/pinboard.js +++ /dev/null @@ -1,56 +0,0 @@ -function pinboardNS_fetch_script(url) { - //document.writeln('<s'+'cript type="text/javascript" src="' + url + '"></s'+'cript>'); - (function(){ - var pinboardLinkroll = document.createElement('script'); - pinboardLinkroll.type = 'text/javascript'; - pinboardLinkroll.async = true; - pinboardLinkroll.src = url; - document.getElementsByTagName('head')[0].appendChild(pinboardLinkroll); - })(); -} - -function pinboardNS_show_bmarks(r) { - var lr = new Pinboard_Linkroll(); - lr.set_items(r); - lr.show_bmarks(); -} - -function Pinboard_Linkroll() { - var items; - - this.set_items = function(i) { - this.items = i; - } - this.show_bmarks = function() { - var lines = []; - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - var str = this.format_item(item); - lines.push(str); - } - document.getElementById(linkroll).innerHTML = lines.join("\n"); - } - this.cook = function(v) { - return v.replace('<', '<').replace('>', '>>'); - } - - this.format_item = function(it) { - var str = "<li class=\"pin-item\">"; - if (!it.d) { return; } - str += "<p><a class=\"pin-title\" href=\"" + this.cook(it.u) + "\">" + this.cook(it.d) + "</a>"; - if (it.n) { - str += "<span class=\"pin-description\">" + this.cook(it.n) + "</span>\n"; - } - if (it.t.length > 0) { - for (var i = 0; i < it.t.length; i++) { - var tag = it.t[i]; - str += " <a class=\"pin-tag\" href=\"https://pinboard.in/u:"+ this.cook(it.a) + "/t:" + this.cook(tag) + "\">" + this.cook(tag).replace(/^\s+|\s+$/g, '') + "</a> "; - } - } - str += "</p></li>\n"; - return str; - } -} -Pinboard_Linkroll.prototype = new Pinboard_Linkroll(); -pinboardNS_fetch_script("https://feeds.pinboard.in/json/v1/u:"+pinboard_user+"/?cb=pinboardNS_show_bmarks\&count="+pinboard_count); - diff --git a/.themes/classic/source/javascripts/twitter.js b/.themes/classic/source/javascripts/twitter.js deleted file mode 100644 index 3e2dd0d7..00000000 --- a/.themes/classic/source/javascripts/twitter.js +++ /dev/null @@ -1,78 +0,0 @@ -// JSON-P Twitter fetcher for Octopress -// (c) Brandon Mathis // MIT License - -/* Sky Slavin, Ludopoli. MIT license. * based on JavaScript Pretty Date * Copyright (c) 2008 John Resig (jquery.com) * Licensed under the MIT license. */ -function prettyDate(time) { - if (navigator.appName === 'Microsoft Internet Explorer') { - return "<span>∞</span>"; // because IE date parsing isn't fun. - } - var say = { - just_now: " now", - minute_ago: "1m", - minutes_ago: "m", - hour_ago: "1h", - hours_ago: "h", - yesterday: "1d", - days_ago: "d", - last_week: "1w", - weeks_ago: "w" - }; - - var current_date = new Date(), - current_date_time = current_date.getTime(), - current_date_full = current_date_time + (1 * 60000), - date = new Date(time), - diff = ((current_date_full - date.getTime()) / 1000), - day_diff = Math.floor(diff / 86400); - - if (isNaN(day_diff) || day_diff < 0) { return "<span>∞</span>"; } - - return day_diff === 0 && ( - diff < 60 && say.just_now || - diff < 120 && say.minute_ago || - diff < 3600 && Math.floor(diff / 60) + say.minutes_ago || - diff < 7200 && say.hour_ago || - diff < 86400 && Math.floor(diff / 3600) + say.hours_ago) || - day_diff === 1 && say.yesterday || - day_diff < 7 && day_diff + say.days_ago || - day_diff === 7 && say.last_week || - day_diff > 7 && Math.ceil(day_diff / 7) + say.weeks_ago; -} - -function linkifyTweet(text, url) { - // Linkify urls, usernames, hashtags - text = text.replace(/(https?:\/\/)([\w\-:;?&=+.%#\/]+)/gi, '<a href="$1$2">$2</a>') - .replace(/(^|\W)@(\w+)/g, '$1<a href="https://twitter.com/$2">@$2</a>') - .replace(/(^|\W)#(\w+)/g, '$1<a href="https://search.twitter.com/search?q=%23$2">#$2</a>'); - - // Use twitter's api to replace t.co shortened urls with expanded ones. - for (var u in url) { - if(url[u].expanded_url != null){ - var shortUrl = new RegExp(url[u].url, 'g'); - text = text.replace(shortUrl, url[u].expanded_url); - var shortUrl = new RegExp(">"+(url[u].url.replace(/https?:\/\//, '')), 'g'); - text = text.replace(shortUrl, ">"+url[u].display_url); - } - } - return text -} - -function showTwitterFeed(tweets, twitter_user) { - var timeline = document.getElementById('tweets'), - content = ''; - - for (var t in tweets) { - content += '<li>'+'<p>'+'<a href="https://twitter.com/'+twitter_user+'/status/'+tweets[t].id_str+'">'+prettyDate(tweets[t].created_at)+'</a>'+linkifyTweet(tweets[t].text.replace(/\n/g, '<br>'), tweets[t].entities.urls)+'</p>'+'</li>'; - } - timeline.innerHTML = content; -} - -function getTwitterFeed(user, count, replies) { - count = parseInt(count, 10); - $.ajax({ - url: "https://api.twitter.com/1/statuses/user_timeline/" + user + ".json?trim_user=true&count=" + (count + 20) + "&include_entities=1&exclude_replies=" + (replies ? "0" : "1") + "&callback=?" - , type: 'jsonp' - , error: function (err) { $('#tweets li.loading').addClass('error').text("Twitter's busted"); } - , success: function(data) { showTwitterFeed(data.slice(0, count), user); } - }) -} diff --git a/.themes/classic/source/robots.txt b/.themes/classic/source/robots.txt deleted file mode 100644 index ee34c720..00000000 --- a/.themes/classic/source/robots.txt +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: null ---- -User-agent: * -Disallow: - -Sitemap: {{ site.url }}/sitemap.xml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b2024911..00000000 --- a/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: ruby -rvm: - - 2.0.0 - - 1.9.3 -script: bundle exec rake install; bundle exec rake generate diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown deleted file mode 100644 index 0da6ecb6..00000000 --- a/CHANGELOG.markdown +++ /dev/null @@ -1,29 +0,0 @@ -# Octopress Changelog - -## 2.0 - -- Now based on [mojombo/jekyll](http://github.com/mojombo/jekyll) -- Sports a semantic HTML5 template -- Easy theming with Compass and Sass -- A Mobile friendly responsive (320 and up) layout -- Built in 3rd party support for Twitter, Google Plus One, Disqus Comments, Pinboard, Delicious, and Google Analytics -- Deploy to Github pages or use Rsync -- Built in support for POW and Rack servers -- Beautiful [Solarized](http://ethanschoonover.com/solarized) syntax highlighting -- Super easy setup and configuration - -**New Plugins, Filters, & Generators** - -- **Gist Tag** for easily embedding gists in your posts -- **Pygments Cache** makes subsequent compiling much faster -- **Include Code Tag** lets you embed external code snippets from your file system and adds a download link -- **Pullquote Tag** Generate beautiful semantic pullquotes (no double data) based on Maykel Loomans's [technique](http://miekd.com/articles/pull-quotes-with-html5-and-css/) -- **Blockquote Tag** makes it easy to semantically format blockquotes -- **Category Generator** gives you archive pages for each category -- **Sitemap.xml Generator** for search engines - -## 1.0 - -- **No longer supported.** -- Jekyll Matured, but Henrik's Jekyll fork did not. -- Thanks for all your pull requests, I learned a lot. diff --git a/Gemfile b/Gemfile deleted file mode 100644 index b02ee4b1..00000000 --- a/Gemfile +++ /dev/null @@ -1,19 +0,0 @@ -source "https://rubygems.org" - -group :development do - gem 'rake', '~> 10.0' - gem 'jekyll', '~> 2.0' - gem 'octopress-hooks', '~> 2.2' - gem 'octopress-date-format', '~> 2.0' - gem 'jekyll-sitemap' - gem 'rdiscount', '~> 2.0' - gem 'RedCloth', '~> 4.2.9' - gem 'haml', '~> 4.0' - gem 'compass', '~> 0.12.2' - gem 'sass-globbing', '~> 1.0.0' - gem 'rubypants', '~> 0.2.0' - gem 'rb-fsevent', '~> 0.9' - gem 'stringex', '~> 1.4.0' -end - -gem 'sinatra', '~> 1.4.2' diff --git a/README.markdown b/README.markdown deleted file mode 100644 index d6f1933c..00000000 --- a/README.markdown +++ /dev/null @@ -1,41 +0,0 @@ -## What is Octopress? - -Octopress is [Jekyll](https://github.com/mojombo/jekyll) blogging at its finest. - -1. **Octopress sports a clean responsive theme** written in semantic HTML5, focused on readability and friendliness toward mobile devices. -2. **Code blogging is easy and beautiful.** Embed code (with [Solarized](http://ethanschoonover.com/solarized) styling) in your posts from gists, jsFiddle or from your filesystem. -3. **Third party integration is simple** with built-in support for Pinboard, Delicious, GitHub Repositories, Disqus Comments and Google Analytics. -4. **It's easy to use.** A collection of rake tasks simplifies development and makes deploying a cinch. -5. **Ships with great plug-ins** some original and others from the Jekyll community — tested and improved. - -**Note**: Octopress requires a minimum Ruby version of `1.9.3-p0`. - -## Documentation - -Check out [Octopress.org](http://octopress.org/docs) for guides and documentation. -It should all apply to our current stable version (found in the `master` -branch). If this is not the case, [please submit a -fix to our docs repo](https://github.com/octopress/docs). - -## Contributing - -[![Build Status](https://travis-ci.org/imathis/octopress.png?branch=master)](https://travis-ci.org/imathis/octopress) - -We love to see people contributing to Octopress, whether it's a bug report, feature suggestion or a pull request. At the moment, we try to keep the core slick and lean, focusing on basic blogging needs, so some of your suggestions might not find their way into Octopress. For those ideas, we started a [list of 3rd party plug-ins](https://github.com/imathis/octopress/wiki/3rd-party-plugins), where you can link your own Octopress plug-in repositories. For the future, we're thinking about ways to easier add them into our main releases. - - -## License -(The MIT License) - -Copyright © 2009-2013 Brandon Mathis - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -#### If you want to be awesome. -- Proudly display the 'Powered by Octopress' credit in the footer. -- Add your site to the Wiki so we can watch the community grow. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index a6c7c0e8..00000000 --- a/Rakefile +++ /dev/null @@ -1,404 +0,0 @@ -require "rubygems" -require "bundler/setup" -require "stringex" - -## -- Rsync Deploy config -- ## -# Be sure your public key is listed in your server's ~/.ssh/authorized_keys file -ssh_user = "user@domain.com" -ssh_port = "22" -document_root = "~/website.com/" -rsync_delete = false -rsync_args = "" # Any extra arguments to pass to rsync -deploy_default = "push" - -# This will be configured for you when you run config_deploy -deploy_branch = "master" - -## -- Misc Configs -- ## - -public_dir = "public" # compiled site directory -source_dir = "source" # source file directory -blog_index_dir = 'source' # directory for your blog's index page (if you put your index in source/blog/index.html, set this to 'source/blog') -deploy_dir = "_deploy" # deploy directory (for Github pages deployment) -stash_dir = "_stash" # directory to stash posts for speedy generation -posts_dir = "_posts" # directory for blog files -themes_dir = ".themes" # directory for blog files -new_post_ext = "md" # default new post file extension when using the new_post task -new_page_ext = "md" # default new page file extension when using the new_page task -server_port = "4000" # port for preview server eg. localhost:4000 - -if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil - puts '## Set the codepage to 65001 for Windows machines' - `chcp 65001` -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| - if File.directory?(source_dir) || File.directory?("sass") - abort("rake aborted!") if ask("A theme is already installed, proceeding will overwrite existing files. Are you sure?", ['y', 'n']) == 'n' - end - # copy theme into working Jekyll directories - theme = args.theme || 'classic' - puts "## Copying "+theme+" theme into ./#{source_dir} and ./sass" - mkdir_p source_dir - cp_r "#{themes_dir}/#{theme}/source/.", source_dir - mkdir_p "sass" - cp_r "#{themes_dir}/#{theme}/sass/.", "sass" - mkdir_p "#{source_dir}/#{posts_dir}" - mkdir_p public_dir -end - -####################### -# Working with Jekyll # -####################### - -desc "Generate jekyll site" -task :generate do - raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) - puts "## Generating Site with Jekyll" - system "compass compile --css-dir #{source_dir}/stylesheets" - system "jekyll build" -end - -desc "Watch the site and regenerate when it changes" -task :watch do - raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) - puts "Starting to watch source with Jekyll and Compass." - system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") - jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build --watch") - compassPid = Process.spawn("compass watch") - - trap("INT") { - [jekyllPid, compassPid].each { |pid| Process.kill(9, pid) rescue Errno::ESRCH } - exit 0 - } - - [jekyllPid, compassPid].each { |pid| Process.wait(pid) } -end - -desc "preview the site in a web browser" -task :preview do - raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) - puts "Starting to watch source with Jekyll and Compass. Starting Rack on port #{server_port}" - system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") - jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build --watch") - compassPid = Process.spawn("compass watch") - rackupPid = Process.spawn("rackup --port #{server_port}") - - trap("INT") { - [jekyllPid, compassPid, rackupPid].each { |pid| Process.kill(9, pid) rescue Errno::ESRCH } - exit 0 - } - - [jekyllPid, compassPid, rackupPid].each { |pid| Process.wait(pid) } -end - -# usage rake new_post[my-new-post] or rake new_post['my new post'] or rake new_post (defaults to "new-post") -desc "Begin a new post in #{source_dir}/#{posts_dir}" -task :new_post, :title do |t, args| - if args.title - title = args.title - else - title = get_stdin("Enter a title for your post: ") - end - raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) - mkdir_p "#{source_dir}/#{posts_dir}" - filename = "#{source_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}" - if File.exist?(filename) - abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' - end - puts "Creating new post: #{filename}" - open(filename, 'w') do |post| - post.puts "---" - post.puts "layout: post" - post.puts "title: \"#{title.gsub(/&/,'&')}\"" - post.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}" - post.puts "comments: true" - post.puts "categories: " - post.puts "---" - end -end - -# usage rake new_page[my-new-page] or rake new_page[my-new-page.html] or rake new_page (defaults to "new-page.markdown") -desc "Create a new page in #{source_dir}/(filename)/index.#{new_page_ext}" -task :new_page, :filename do |t, args| - raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) - args.with_defaults(:filename => 'new-page') - page_dir = [source_dir] - if args.filename.downcase =~ /(^.+\/)?(.+)/ - filename, dot, extension = $2.rpartition('.').reject(&:empty?) # Get filename and extension - title = filename - page_dir.concat($1.downcase.sub(/^\//, '').split('/')) unless $1.nil? # Add path to page_dir Array - if extension.nil? - page_dir << filename - filename = "index" - end - extension ||= new_page_ext - page_dir = page_dir.map! { |d| d = d.to_url }.join('/') # Sanitize path - filename = filename.downcase.to_url - - mkdir_p page_dir - file = "#{page_dir}/#{filename}.#{extension}" - if File.exist?(file) - abort("rake aborted!") if ask("#{file} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' - end - puts "Creating new page: #{file}" - open(file, 'w') do |page| - page.puts "---" - page.puts "layout: page" - page.puts "title: \"#{title}\"" - page.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M')}" - page.puts "comments: true" - page.puts "sharing: true" - page.puts "footer: true" - page.puts "---" - end - else - puts "Syntax error: #{args.filename} contains unsupported characters" - end -end - -# usage rake isolate[my-post] -desc "Move all other posts than the one currently being worked on to a temporary stash location (stash) so regenerating the site happens much more quickly." -task :isolate, :filename do |t, args| - stash_dir = "#{source_dir}/#{stash_dir}" - FileUtils.mkdir(stash_dir) unless File.exist?(stash_dir) - Dir.glob("#{source_dir}/#{posts_dir}/*.*") do |post| - FileUtils.mv post, stash_dir unless post.include?(args.filename) - end -end - -desc "Move all stashed posts back into the posts directory, ready for site generation." -task :integrate do - FileUtils.mv Dir.glob("#{source_dir}/#{stash_dir}/*.*"), "#{source_dir}/#{posts_dir}/" -end - -desc "Clean out caches: .pygments-cache, .gist-cache, .sass-cache" -task :clean do - rm_rf [Dir.glob(".pygments-cache/**"), Dir.glob(".gist-cache/**"), Dir.glob(".sass-cache/**"), "source/stylesheets/screen.css"] -end - -desc "Move sass to sass.old, install sass theme updates, replace sass/custom with sass.old/custom" -task :update_style, :theme do |t, args| - theme = args.theme || 'classic' - if File.directory?("sass.old") - puts "removed existing sass.old directory" - rm_r "sass.old", :secure=>true - end - mv "sass", "sass.old" - puts "## Moved styles into sass.old/" - cp_r "#{themes_dir}/"+theme+"/sass/", "sass", :remove_destination=>true - cp_r "sass.old/custom/.", "sass/custom/", :remove_destination=>true - puts "## Updated Sass ##" -end - -desc "Move source to source.old, install source theme updates, replace source/_includes/navigation.html with source.old's navigation" -task :update_source, :theme do |t, args| - theme = args.theme || 'classic' - if File.directory?("#{source_dir}.old") - puts "## Removed existing #{source_dir}.old directory" - rm_r "#{source_dir}.old", :secure=>true - end - mkdir "#{source_dir}.old" - cp_r "#{source_dir}/.", "#{source_dir}.old" - puts "## Copied #{source_dir} into #{source_dir}.old/" - cp_r "#{themes_dir}/"+theme+"/source/.", source_dir, :remove_destination=>true - cp_r "#{source_dir}.old/_includes/custom/.", "#{source_dir}/_includes/custom/", :remove_destination=>true - cp "#{source_dir}.old/favicon.png", source_dir - mv "#{source_dir}/index.html", "#{blog_index_dir}", :force=>true if blog_index_dir != source_dir - cp "#{source_dir}.old/index.html", source_dir if blog_index_dir != source_dir && File.exists?("#{source_dir}.old/index.html") - puts "## Updated #{source_dir} ##" -end - -############## -# Deploying # -############## - -desc "Default deploy task" -task :deploy do - # Check if preview posts exist, which should not be published - if File.exists?(".preview-mode") - puts "## Found posts in preview mode, regenerating files ..." - File.delete(".preview-mode") - Rake::Task[:generate].execute - end - - Rake::Task[:copydot].invoke(source_dir, public_dir) - Rake::Task["#{deploy_default}"].execute -end - -desc "Generate website and deploy" -task :gen_deploy => [:integrate, :generate, :deploy] do -end - -desc "copy dot files for deployment" -task :copydot, :source, :dest do |t, args| - FileList["#{args.source}/**/.*"].exclude("**/.", "**/..", "**/.DS_Store", "**/._*").each do |file| - cp_r file, file.gsub(/#{args.source}/, "#{args.dest}") unless File.directory?(file) - end -end - -desc "Deploy website via rsync" -task :rsync do - exclude = "" - if File.exists?('./rsync-exclude') - exclude = "--exclude-from '#{File.expand_path('./rsync-exclude')}'" - end - puts "## Deploying website via Rsync" - ok_failed system("rsync -avze 'ssh -p #{ssh_port}' #{exclude} #{rsync_args} #{"--delete" unless rsync_delete == false} #{public_dir}/ #{ssh_user}:#{document_root}") -end - -desc "deploy public directory to github pages" -multitask :push do - puts "## Deploying branch to Github Pages " - puts "## Pulling any updates from Github Pages " - cd "#{deploy_dir}" do - Bundler.with_clean_env { system "git pull" } - end - (Dir["#{deploy_dir}/*"]).each { |f| rm_rf(f) } - Rake::Task[:copydot].invoke(public_dir, deploy_dir) - puts "\n## Copying #{public_dir} to #{deploy_dir}" - cp_r "#{public_dir}/.", deploy_dir - cd "#{deploy_dir}" do - system "git add -A" - message = "Site updated at #{Time.now.utc}" - puts "\n## Committing: #{message}" - system "git commit -m \"#{message}\"" - puts "\n## Pushing generated #{deploy_dir} website" - Bundler.with_clean_env { system "git push origin #{deploy_branch}" } - puts "\n## Github Pages deploy complete" - end -end - -desc "Update configurations to support publishing to root or sub directory" -task :set_root_dir, :dir do |t, args| - puts ">>> !! Please provide a directory, eg. rake config_dir[publishing/subdirectory]" unless args.dir - if args.dir - if args.dir == "/" - dir = "" - else - dir = "/" + args.dir.sub(/(\/*)(.+)/, "\\2").sub(/\/$/, ''); - end - rakefile = IO.read(__FILE__) - rakefile.sub!(/public_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "public_dir\\1=\\2\\3public#{dir}\\3") - File.open(__FILE__, 'w') do |f| - f.write rakefile - end - compass_config = IO.read('config.rb') - compass_config.sub!(/http_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_path\\1=\\2\\3#{dir}/\\3") - compass_config.sub!(/http_images_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_images_path\\1=\\2\\3#{dir}/images\\3") - compass_config.sub!(/http_fonts_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_fonts_path\\1=\\2\\3#{dir}/fonts\\3") - compass_config.sub!(/css_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "css_dir\\1=\\2\\3public#{dir}/stylesheets\\3") - File.open('config.rb', 'w') do |f| - f.write compass_config - end - jekyll_config = IO.read('_config.yml') - jekyll_config.sub!(/^destination:.+$/, "destination: public#{dir}") - jekyll_config.sub!(/^subscribe_rss:\s*\/.+$/, "subscribe_rss: #{dir}/atom.xml") - jekyll_config.sub!(/^root:.*$/, "root: /#{dir.sub(/^\//, '')}") - File.open('_config.yml', 'w') do |f| - f.write jekyll_config - end - rm_rf public_dir - mkdir_p "#{public_dir}#{dir}" - puts "## Site's root directory is now '/#{dir.sub(/^\//, '')}' ##" - end -end - -desc "Set up _deploy folder and deploy branch for Github Pages deployment" -task :setup_github_pages, :repo do |t, args| - if args.repo - repo_url = args.repo - else - puts "Enter the read/write url for your repository" - puts "(For example, 'git@github.com:your_username/your_username.github.io.git)" - puts " or 'https://github.com/your_username/your_username.github.io')" - repo_url = get_stdin("Repository url: ") - end - protocol = (repo_url.match(/(^git)@/).nil?) ? 'https' : 'git' - if protocol == 'git' - user = repo_url.match(/:([^\/]+)/)[1] - else - user = repo_url.match(/github\.com\/([^\/]+)/)[1] - end - branch = (repo_url.match(/\/[\w-]+\.github\.(?:io|com)/).nil?) ? 'gh-pages' : 'master' - project = (branch == 'gh-pages') ? repo_url.match(/\/([^\.]+)/)[1] : '' - unless (`git remote -v` =~ /origin.+?octopress(?:\.git)?/).nil? - # If octopress is still the origin remote (from cloning) rename it to octopress - system "git remote rename origin octopress" - if branch == 'master' - # If this is a user/organization pages repository, add the correct origin remote - # and checkout the source branch for committing changes to the blog source. - system "git remote add origin #{repo_url}" - puts "Added remote #{repo_url} as origin" - system "git config branch.master.remote origin" - puts "Set origin as default remote" - system "git branch -m master source" - puts "Master branch renamed to 'source' for committing your blog source files" - else - unless !public_dir.match("#{project}").nil? - system "rake set_root_dir[#{project}]" - end - end - end - jekyll_config = IO.read('_config.yml') - jekyll_config.sub!(/^url:.*$/, "url: #{blog_url(user, project)}") - File.open('_config.yml', 'w') do |f| - f.write jekyll_config - end - rm_rf deploy_dir - mkdir deploy_dir - cd "#{deploy_dir}" do - system "git init" - system "echo 'My Octopress Page is coming soon …' > index.html" - system "git add ." - system "git commit -m \"Octopress init\"" - system "git branch -m gh-pages" unless branch == 'master' - system "git remote add origin #{repo_url}" - rakefile = IO.read(__FILE__) - rakefile.sub!(/deploy_branch(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_branch\\1=\\2\\3#{branch}\\3") - rakefile.sub!(/deploy_default(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_default\\1=\\2\\3push\\3") - File.open(__FILE__, 'w') do |f| - f.write rakefile - end - end - puts "\n---\n## Now you can deploy to #{repo_url} with `rake deploy` ##" -end - -def ok_failed(condition) - if (condition) - puts "OK" - else - puts "FAILED" - end -end - -def get_stdin(message) - print message - STDIN.gets.chomp -end - -def ask(message, valid_options) - if valid_options - answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer) - else - answer = get_stdin(message) - end - answer -end - -def blog_url(user, project) - url = if File.exists?('source/CNAME') - "http://#{IO.read('source/CNAME').strip}" - else - "http://#{user}.github.io" - end - url += "/#{project}" unless project == '' - url -end - -desc "list tasks" -task :list do - puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:list]]).join(', ')}" - puts "(type rake -T for more detail)\n\n" -end diff --git a/_config.yml b/_config.yml deleted file mode 100644 index dd7f4c96..00000000 --- a/_config.yml +++ /dev/null @@ -1,101 +0,0 @@ -# ----------------------- # -# Main Configs # -# ----------------------- # - -url: http://zmwangx.github.io -title: dl? cmplnts? -subtitle: Mostly technical stuff. Can you figure out what the title stands for? -author: Zhiming Wang -simple_search: https://www.google.com/search -description: Yet another crappy blog. - -# Default date format is "ordinal" (resulting in "July 22nd 2007") -# You can customize the format as defined in -# http://www.ruby-doc.org/core-1.9.2/Time.html#method-i-strftime -# Additionally, %o will give you the ordinal representation of the day -date_format: "ordinal" - -# RSS / Email (optional) subscription links (change if using something like Feedburner) -subscribe_rss: /atom.xml -subscribe_email: -# RSS feeds can list your email address if you like -email: - -# ----------------------- # -# Jekyll & Plugins # -# ----------------------- # - -# If publishing to a subdirectory as in http://site.com/project set 'root: /project' -root: / -permalink: /blog/:year/:month/:day/:title/ -source: source -destination: public -plugins: plugins -code_dir: downloads/code -category_dir: blog/categories -markdown: rdiscount -rdiscount: - extensions: - - autolink - - footnotes - - smart -highlighter: pygments # default python pygments have been replaced by pygments.rb - -paginate: 10 # Posts per page on the blog index -paginate_path: "posts/:num" # Directory base for pagination URLs eg. /posts/2/ -recent_posts: 5 # Posts in the sidebar Recent Posts section -excerpt_link: "Read on →" # "Continue reading" link text at the bottom of excerpted articles -excerpt_separator: "<!--more-->" - -titlecase: true # Converts page and post titles to titlecase - -# list each of the sidebar modules you want to include, in the order you want them to appear. -# To add custom asides, create files in /source/_includes/custom/asides/ and add them to the list like 'custom/asides/custom_aside_name.html' -default_asides: [asides/recent_posts.html, asides/github.html, asides/delicious.html, asides/pinboard.html, asides/googleplus.html] - -# Each layout uses the default asides, but they can have their own asides instead. Simply uncomment the lines below -# and add an array with the asides you want to use. -# blog_index_asides: -# post_asides: -# page_asides: - -# ----------------------- # -# 3rd Party Settings # -# ----------------------- # - -# Github repositories -github_user: zmwangx -github_repo_count: 0 -github_show_profile_link: true -github_skip_forks: true - -# Twitter -twitter_user: -twitter_tweet_button: true - -# Google +1 -google_plus_one: false -google_plus_one_size: medium - -# Google Plus Profile -# Hidden: No visible button, just add author information to search results -googleplus_user: -googleplus_hidden: false - -# Pinboard -pinboard_user: -pinboard_count: 3 - -# Delicious -delicious_user: -delicious_count: 3 - -# Disqus Comments -disqus_short_name: zmwangx -disqus_show_comment_count: true - -# Google Analytics -google_analytics_tracking_id: UA-53908325-1 - -# Facebook Like -facebook_like: false diff --git a/config.rb b/config.rb deleted file mode 100644 index 408aecaf..00000000 --- a/config.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'sass-globbing' - -# Require any additional compass plugins here. -project_type = :stand_alone - -# Publishing paths -http_path = "/" -http_images_path = "/images" -http_generated_images_path = "/images" -http_fonts_path = "/fonts" -css_dir = "public/stylesheets" - -# Local development paths -sass_dir = "sass" -images_dir = "source/images" -fonts_dir = "source/fonts" - -line_comments = false -output_style = :compressed diff --git a/config.ru b/config.ru deleted file mode 100644 index 8e3dc08a..00000000 --- a/config.ru +++ /dev/null @@ -1,25 +0,0 @@ -require 'bundler/setup' -require 'sinatra/base' - -# The project root directory -$root = ::File.dirname(__FILE__) - -class SinatraStaticServer < Sinatra::Base - - get(/.+/) do - send_sinatra_file(request.path) {404} - end - - not_found do - send_file(File.join(File.dirname(__FILE__), 'public', '404.html'), {:status => 404}) - end - - def send_sinatra_file(path, &missing_file_block) - file_path = File.join(File.dirname(__FILE__), 'public', path) - file_path = File.join(file_path, 'index.html') unless file_path =~ /\.[a-z]+$/i - File.exist?(file_path) ? send_file(file_path) : missing_file_block.call - end - -end - -run SinatraStaticServer diff --git a/plugins/backtick_code_block.rb b/plugins/backtick_code_block.rb deleted file mode 100644 index ae4a0472..00000000 --- a/plugins/backtick_code_block.rb +++ /dev/null @@ -1,42 +0,0 @@ -require './plugins/pygments_code' - -module BacktickCodeBlock - AllOptions = /([^\s]+)\s+(.+?)\s+(https?:\/\/\S+|\/\S+)\s*(.+)?/i - LangCaption = /([^\s]+)\s*(.+)?/i - def self.render_code_block(input) - @options = nil - @caption = nil - @lang = nil - @url = nil - @title = nil - input.gsub(/^`{3} *([^\n]+)?\n(.+?)\n`{3}/m) do - @options = $1 || '' - str = $2 - - if @options =~ AllOptions - @lang = $1 - @caption = "<figcaption><span>#{$2}</span><a href='#{$3}'>#{$4 || 'link'}</a></figcaption>" - elsif @options =~ LangCaption - @lang = $1 - @caption = "<figcaption><span>#{$2}</span></figcaption>" - end - - if str.match(/\A( {4}|\t)/) - str = str.gsub(/^( {4}|\t)/, '') - end - if @lang.nil? || @lang == 'plain' - code = HighlightCode::tableize_code(str.gsub('<','<').gsub('>','>')) - "<figure class='code'>#{@caption}#{code}</figure>" - else - if @lang.include? "-raw" - raw = "``` #{@options.sub('-raw', '')}\n" - raw += str - raw += "\n```\n" - else - code = HighlightCode::highlight(str, @lang) - "<figure class='code'>#{@caption}#{code}</figure>" - end - end - end - end -end diff --git a/plugins/blockquote.rb b/plugins/blockquote.rb deleted file mode 100644 index ebdc0e89..00000000 --- a/plugins/blockquote.rb +++ /dev/null @@ -1,82 +0,0 @@ -# -# Author: Brandon Mathis -# A full rewrite based on the work of: Josediaz Gonzalez - https://github.com/josegonzalez/josediazgonzalez.com/blob/master/_plugins/blockquote.rb -# -# Outputs a string with a given attribution as a quote -# -# {% blockquote Bobby Willis http://google.com/search?q=pants the search for bobby's pants %} -# Wheeee! -# {% endblockquote %} -# ... -# <blockquote> -# <p>Wheeee!</p> -# <footer> -# <strong>Bobby Willis</strong><cite><a href="http://google.com/search?q=pants">The Search For Bobby's Pants</a> -# </blockquote> -# -require './plugins/titlecase.rb' - -module Jekyll - - class Blockquote < Liquid::Block - FullCiteWithTitle = /(\S.*)\s+(https?:\/\/)(\S+)\s+(.+)/i - FullCite = /(\S.*)\s+(https?:\/\/)(\S+)/i - AuthorTitle = /([^,]+),([^,]+)/ - Author = /(.+)/ - - def initialize(tag_name, markup, tokens) - @by = nil - @source = nil - @title = nil - if markup =~ FullCiteWithTitle - @by = $1 - @source = $2 + $3 - @title = $4.titlecase.strip - elsif markup =~ FullCite - @by = $1 - @source = $2 + $3 - elsif markup =~ AuthorTitle - @by = $1 - @title = $2.titlecase.strip - elsif markup =~ Author - @by = $1 - end - super - end - - def render(context) - quote = paragraphize(super) - author = "<strong>#{@by.strip}</strong>" if @by - if @source - url = @source.match(/https?:\/\/(.+)/)[1].split('/') - parts = [] - url.each do |part| - if (parts + [part]).join('/').length < 32 - parts << part - end - end - source = parts.join('/') - source << '/…' unless source == @source - end - if !@source.nil? - cite = " <cite><a href='#{@source}'>#{(@title || source)}</a></cite>" - elsif !@title.nil? - cite = " <cite>#{@title}</cite>" - end - blockquote = if @by.nil? - quote - elsif cite - "#{quote}<footer>#{author + cite}</footer>" - else - "#{quote}<footer>#{author}</footer>" - end - "<blockquote>#{blockquote}</blockquote>" - end - - def paragraphize(input) - "<p>#{input.lstrip.rstrip.gsub(/\n\n/, '</p><p>').gsub(/\n/, '<br/>')}</p>" - end - end -end - -Liquid::Template.register_tag('blockquote', Jekyll::Blockquote) diff --git a/plugins/category_generator.rb b/plugins/category_generator.rb deleted file mode 100644 index c55d62f4..00000000 --- a/plugins/category_generator.rb +++ /dev/null @@ -1,193 +0,0 @@ -# encoding: utf-8 -# -# Jekyll category page generator. -# http://recursive-design.com/projects/jekyll-plugins/ -# -# Version: 0.1.4 (201101061053) -# -# Copyright (c) 2010 Dave Perrett, http://recursive-design.com/ -# Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) -# -# A generator that creates category pages for jekyll sites. -# -# Included filters : -# - category_links: Outputs the list of categories as comma-separated <a> links. -# - date_to_html_string: Outputs the post.date as formatted html, with hooks for CSS styling. -# -# Available _config.yml settings : -# - category_dir: The subfolder to build category pages in (default is 'categories'). -# - category_title_prefix: The string used before the category name in the page title (default is -# 'Category: '). - -require 'stringex' - -module Jekyll - - # The CategoryIndex class creates a single category page for the specified category. - class CategoryIndex < Page - - # Initializes a new CategoryIndex. - # - # +base+ is the String path to the <source>. - # +category_dir+ is the String path between <source> and the category folder. - # +category+ is the category currently being processed. - def initialize(site, base, category_dir, category) - @site = site - @base = base - @dir = category_dir - @name = 'index.html' - self.process(@name) - # Read the YAML data from the layout page. - self.read_yaml(File.join(base, '_layouts'), 'category_index.html') - self.data['category'] = category - # Set the title for this page. - title_prefix = site.config['category_title_prefix'] || 'Category: ' - self.data['title'] = "#{title_prefix}#{category}" - # Set the meta-description for this page. - meta_description_prefix = site.config['category_meta_description_prefix'] || 'Category: ' - self.data['description'] = "#{meta_description_prefix}#{category}" - end - - end - - # The CategoryFeed class creates an Atom feed for the specified category. - class CategoryFeed < Page - - # Initializes a new CategoryFeed. - # - # +base+ is the String path to the <source>. - # +category_dir+ is the String path between <source> and the category folder. - # +category+ is the category currently being processed. - def initialize(site, base, category_dir, category) - @site = site - @base = base - @dir = category_dir - @name = 'atom.xml' - self.process(@name) - # Read the YAML data from the layout page. - self.read_yaml(File.join(base, '_includes/custom'), 'category_feed.xml') - self.data['category'] = category - # Set the title for this page. - title_prefix = site.config['category_title_prefix'] || 'Category: ' - self.data['title'] = "#{title_prefix}#{category}" - # Set the meta-description for this page. - meta_description_prefix = site.config['category_meta_description_prefix'] || 'Category: ' - self.data['description'] = "#{meta_description_prefix}#{category}" - - # Set the correct feed URL. - self.data['feed_url'] = "#{category_dir}/#{name}" - end - - end - - # The Site class is a built-in Jekyll class with access to global site config information. - class Site - - # Creates an instance of CategoryIndex for each category page, renders it, and - # writes the output to a file. - # - # +category_dir+ is the String path to the category folder. - # +category+ is the category currently being processed. - def write_category_index(category_dir, category) - index = CategoryIndex.new(self, self.source, category_dir, category) - index.render(self.layouts, site_payload) - index.write(self.dest) - # Record the fact that this page has been added, otherwise Site::cleanup will remove it. - self.pages << index - - # Create an Atom-feed for each index. - feed = CategoryFeed.new(self, self.source, category_dir, category) - feed.render(self.layouts, site_payload) - feed.write(self.dest) - # Record the fact that this page has been added, otherwise Site::cleanup will remove it. - self.pages << feed - end - - # Loops through the list of category pages and processes each one. - def write_category_indexes - if self.layouts.key? 'category_index' - dir = self.config['category_dir'] || 'categories' - self.categories.keys.each do |category| - self.write_category_index(File.join(dir, category.to_url), category) - end - - # Throw an exception if the layout couldn't be found. - else - raise <<-ERR - - -=============================================== - Error for category_generator.rb plugin ------------------------------------------------ - No 'category_index.html' in source/_layouts/ - Perhaps you haven't installed a theme yet. -=============================================== - -ERR - end - end - - end - - - # Jekyll hook - the generate method is called by jekyll, and generates all of the category pages. - class GenerateCategories < Generator - safe true - priority :low - - def generate(site) - site.write_category_indexes - end - - end - - - # Adds some extra filters used during the category creation process. - module Filters - - # Outputs a list of categories as comma-separated <a> links. This is used - # to output the category list for each post on a category page. - # - # +categories+ is the list of categories to format. - # - # Returns string - # - def category_links(categories) - categories = categories.sort!.map { |c| category_link c } - - case categories.length - when 0 - "" - when 1 - categories[0].to_s - else - "#{categories[0...-1].join(', ')}, #{categories[-1]}" - end - end - - # Outputs a single category as an <a> link. - # - # +category+ is a category string to format as an <a> link - # - # Returns string - # - def category_link(category) - dir = @context.registers[:site].config['category_dir'] - "<a class='category' href='/#{dir}/#{category.to_url}/'>#{category}</a>" - end - - # Outputs the post.date as formatted html, with hooks for CSS styling. - # - # +date+ is the date object to format as HTML. - # - # Returns string - def date_to_html_string(date) - result = '<span class="month">' + date.strftime('%b').upcase + '</span> ' - result += date.strftime('<span class="day">%d</span> ') - result += date.strftime('<span class="year">%Y</span> ') - result - end - - end - -end diff --git a/plugins/code_block.rb b/plugins/code_block.rb deleted file mode 100644 index 539a3475..00000000 --- a/plugins/code_block.rb +++ /dev/null @@ -1,92 +0,0 @@ -# Title: Simple Code Blocks for Jekyll -# Author: Brandon Mathis http://brandonmathis.com -# Description: Write codeblocks with semantic HTML5 <figure> and <figcaption> elements and optional syntax highlighting — all with a simple, intuitive interface. -# -# Syntax: -# {% codeblock [title] [url] [link text] %} -# code snippet -# {% endcodeblock %} -# -# For syntax highlighting, put a file extension somewhere in the title. examples: -# {% codeblock file.sh %} -# code snippet -# {% endcodeblock %} -# -# {% codeblock Time to be Awesome! (awesome.rb) %} -# code snippet -# {% endcodeblock %} -# -# Example: -# -# {% codeblock Got pain? painreleif.sh http://site.com/painreleief.sh Download it! %} -# $ rm -rf ~/PAIN -# {% endcodeblock %} -# -# Output: -# -# <figure class='code'> -# <figcaption><span>Got pain? painrelief.sh</span> <a href="http://site.com/painrelief.sh">Download it!</a> -# <div class="highlight"><pre><code class="sh"> -# -- nicely escaped highlighted code -- -# </code></pre></div> -# </figure> -# -# Example 2 (no syntax highlighting): -# -# {% codeblock %} -# <sarcasm>Ooooh, sarcasm... How original!</sarcasm> -# {% endcodeblock %} -# -# <figure class='code'> -# <pre><code><sarcasm> Ooooh, sarcasm... How original!</sarcasm></code></pre> -# </figure> -# -require './plugins/pygments_code' -require './plugins/raw' - -module Jekyll - - class CodeBlock < Liquid::Block - CaptionUrlTitle = /(\S[\S\s]*)\s+(https?:\/\/\S+|\/\S+)\s*(.+)?/i - Caption = /(\S[\S\s]*)/ - def initialize(tag_name, markup, tokens) - @title = nil - @caption = nil - @filetype = nil - @highlight = true - if markup =~ /\s*lang:(\S+)/i - @filetype = $1 - markup = markup.sub(/\s*lang:(\S+)/i,'') - end - if markup =~ CaptionUrlTitle - @file = $1 - @caption = "<figcaption><span>#{$1}</span><a href='#{$2}'>#{$3 || 'link'}</a></figcaption>" - elsif markup =~ Caption - @file = $1 - @caption = "<figcaption><span>#{$1}</span></figcaption>\n" - end - if @file =~ /\S[\S\s]*\w+\.(\w+)/ && @filetype.nil? - @filetype = $1 - end - super - end - - def render(context) - output = super - code = super - source = "<figure class='code'>" - source += @caption if @caption - if @filetype - source += "#{HighlightCode::highlight(code, @filetype)}</figure>" - else - source += "#{HighlightCode::tableize_code(code.lstrip.rstrip.gsub(/</,'<'))}</figure>" - end - source = TemplateWrapper::safe_wrap(source) - source = context['pygments_prefix'] + source if context['pygments_prefix'] - source = source + context['pygments_suffix'] if context['pygments_suffix'] - source - end - end -end - -Liquid::Template.register_tag('codeblock', Jekyll::CodeBlock) diff --git a/plugins/config_tag.rb b/plugins/config_tag.rb deleted file mode 100644 index 92d1f63c..00000000 --- a/plugins/config_tag.rb +++ /dev/null @@ -1,44 +0,0 @@ -require 'json' - -class ConfigTag < Liquid::Tag - def initialize(tag_name, options, tokens) - super - options = options.split(' ').map {|i| i.strip } - @key = options.slice!(0) - @tag = nil - @classname = nil - options.each do |option| - @tag = $1 if option =~ /tag:(\S+)/ - @classname = $1 if option =~ /classname:(\S+)/ - end - end - - def render(context) - config_tag(context.registers[:site].config, @key, @tag, @classname) - end -end - -def config_tag(config, key, tag=nil, classname=nil) - options = key.split('.').map { |k| config[k] }.last #reference objects with dot notation - tag ||= 'div' - classname ||= key.sub(/_/, '-').sub(/\./, '-') - output = "<#{tag} class='#{classname}'" - - if options.respond_to? 'keys' - options.each do |k,v| - unless v.nil? - v = v.join ',' if v.respond_to? 'join' - v = v.to_json if v.respond_to? 'keys' - output += " data-#{k.sub'_','-'}='#{v}'" - end - end - elsif options.respond_to? 'join' - output += " data-value='#{config[key].join(',')}'" - else - output += " data-value='#{config[key]}'" - end - output += "></#{tag}>" -end - -Liquid::Template.register_tag('config_tag', ConfigTag) - diff --git a/plugins/gist_tag.rb b/plugins/gist_tag.rb deleted file mode 100644 index 51201156..00000000 --- a/plugins/gist_tag.rb +++ /dev/null @@ -1,130 +0,0 @@ -# A Liquid tag for Jekyll sites that allows embedding Gists and showing code for non-JavaScript enabled browsers and readers. -# by: Brandon Tilly -# Source URL: https://gist.github.com/1027674 -# Post http://brandontilley.com/2011/01/31/gist-tag-for-jekyll.html -# -# Example usage: {% gist 1027674 gist_tag.rb %} //embeds a gist for this plugin - -require 'cgi' -require 'digest/md5' -require 'net/https' -require 'uri' - -module Jekyll - class GistTag < Liquid::Tag - def initialize(tag_name, text, token) - super - @text = text - @cache_disabled = false - @cache_folder = File.expand_path "../.gist-cache", File.dirname(__FILE__) - FileUtils.mkdir_p @cache_folder - end - - def render(context) - if parts = @text.match(/([a-zA-Z\d]*) (.*)/) - gist, file = parts[1].strip, parts[2].strip - else - gist, file = @text.strip, "" - end - if gist.empty? - "" - else - script_url = script_url_for gist, file - code = get_cached_gist(gist, file) || get_gist_from_web(gist, file) - html_output_for script_url, code - end - end - - def html_output_for(script_url, code) - code = CGI.escapeHTML code - <<-HTML -<div><script src='#{script_url}'></script> -<noscript><pre><code>#{code}</code></pre></noscript></div> - HTML - end - - def script_url_for(gist_id, filename) - url = "https://gist.github.com/#{gist_id}.js" - url = "#{url}?file=#{filename}" unless filename.nil? or filename.empty? - url - end - - def get_gist_url_for(gist, file) - "https://gist.githubusercontent.com/raw/#{gist}/#{file}" - end - - def cache(gist, file, data) - cache_file = get_cache_file_for gist, file - File.open(cache_file, "w") do |io| - io.write data - end - end - - def get_cached_gist(gist, file) - return nil if @cache_disabled - cache_file = get_cache_file_for gist, file - File.read cache_file if File.exist? cache_file - end - - def get_cache_file_for(gist, file) - bad_chars = /[^a-zA-Z0-9\-_.]/ - gist = gist.gsub bad_chars, '' - file = file.gsub bad_chars, '' - md5 = Digest::MD5.hexdigest "#{gist}-#{file}" - File.join @cache_folder, "#{gist}-#{file}-#{md5}.cache" - end - - def get_gist_from_web(gist, file) - gist_url = get_gist_url_for(gist, file) - data = get_web_content(gist_url) - - locations = Array.new - while (data.code.to_i == 301 || data.code.to_i == 302) - data = handle_gist_redirecting(data) - break if locations.include? data.header['Location'] - locations << data.header['Location'] - end - - if data.code.to_i != 200 - raise RuntimeError, "Gist replied with #{data.code} for #{gist_url}" - end - - cache(gist, file, data.body) unless @cache_disabled - data.body - end - - def handle_gist_redirecting(data) - redirected_url = data.header['Location'] - if redirected_url.nil? || redirected_url.empty? - raise ArgumentError, "GitHub replied with a 302 but didn't provide a location in the response headers." - end - - get_web_content(redirected_url) - end - - def get_web_content(url) - raw_uri = URI.parse url - proxy = ENV['http_proxy'] - if proxy - proxy_uri = URI.parse(proxy) - https = Net::HTTP::Proxy(proxy_uri.host, proxy_uri.port).new raw_uri.host, raw_uri.port - else - https = Net::HTTP.new raw_uri.host, raw_uri.port - end - https.use_ssl = true - https.verify_mode = OpenSSL::SSL::VERIFY_NONE - request = Net::HTTP::Get.new raw_uri.request_uri - data = https.request request - end - end - - class GistTagNoCache < GistTag - def initialize(tag_name, text, token) - super - @cache_disabled = true - end - end -end - -Liquid::Template.register_tag('gist', Jekyll::GistTag) -Liquid::Template.register_tag('gistnocache', Jekyll::GistTagNoCache) diff --git a/plugins/haml.rb b/plugins/haml.rb deleted file mode 100644 index 7e548dec..00000000 --- a/plugins/haml.rb +++ /dev/null @@ -1,24 +0,0 @@ -module Jekyll - require 'haml' - class HamlConverter < Converter - safe true - priority :low - - def matches(ext) - ext =~ /haml/i - end - - def output_ext(ext) - ".html" - end - - def convert(content) - begin - engine = Haml::Engine.new(content) - engine.render - rescue StandardError => e - puts "!!! HAML Error: " + e.message - end - end - end -end diff --git a/plugins/image_tag.rb b/plugins/image_tag.rb deleted file mode 100644 index 45670007..00000000 --- a/plugins/image_tag.rb +++ /dev/null @@ -1,50 +0,0 @@ -# Title: Simple Image tag for Jekyll -# Authors: Brandon Mathis http://brandonmathis.com -# Felix Schäfer, Frederic Hemberger -# Description: Easily output images with optional class names, width, height, title and alt attributes -# -# Syntax {% img [class name(s)] [http[s]:/]/path/to/image [width [height]] [title text | "title text" ["alt text"]] %} -# -# Examples: -# {% img /images/ninja.png Ninja Attack! %} -# {% img left half http://site.com/images/ninja.png Ninja Attack! %} -# {% img left half http://site.com/images/ninja.png 150 150 "Ninja Attack!" "Ninja in attack posture" %} -# -# Output: -# <img src="/images/ninja.png"> -# <img class="left half" src="http://site.com/images/ninja.png" title="Ninja Attack!" alt="Ninja Attack!"> -# <img class="left half" src="http://site.com/images/ninja.png" width="150" height="150" title="Ninja Attack!" alt="Ninja in attack posture"> -# - -module Jekyll - - class ImageTag < Liquid::Tag - @img = nil - - def initialize(tag_name, markup, tokens) - attributes = ['class', 'src', 'width', 'height', 'title'] - - if markup =~ /(?<class>\S.*\s+)?(?<src>(?:https?:\/\/|\/|\S+\/)\S+)(?:\s+(?<width>\d+))?(?:\s+(?<height>\d+))?(?<title>\s+.+)?/i - @img = attributes.reduce({}) { |img, attr| img[attr] = $~[attr].strip if $~[attr]; img } - if /(?:"|')(?<title>[^"']+)?(?:"|')\s+(?:"|')(?<alt>[^"']+)?(?:"|')/ =~ @img['title'] - @img['title'] = title - @img['alt'] = alt - else - @img['alt'] = @img['title'].gsub!(/"/, '"') if @img['title'] - end - @img['class'].gsub!(/"/, '') if @img['class'] - end - super - end - - def render(context) - if @img - "<img #{@img.collect {|k,v| "#{k}=\"#{v}\"" if v}.join(" ")}>" - else - "Error processing input, expected syntax: {% img [class name(s)] [http[s]:/]/path/to/image [width [height]] [title text | \"title text\" [\"alt text\"]] %}" - end - end - end -end - -Liquid::Template.register_tag('img', Jekyll::ImageTag) diff --git a/plugins/include_array.rb b/plugins/include_array.rb deleted file mode 100644 index 000040fb..00000000 --- a/plugins/include_array.rb +++ /dev/null @@ -1,58 +0,0 @@ -# Title: Include Array Tag for Jekyll -# Author: Jason Woodward http://www.woodwardjd.com -# Description: Import files on your filesystem as specified in a configuration variable in _config.yml. Mostly cribbed from Jekyll's include tag. -# Syntax: {% include_array variable_name_from_config.yml %} -# -# Example 1: -# {% include_array asides %} -# -# _config.yml snippet: -# asides: [asides/twitter.html, asides/custom/my_picture.html] -# -module Jekyll - - class IncludeArrayTag < Liquid::Tag - Syntax = /(#{Liquid::QuotedFragment}+)/ - def initialize(tag_name, markup, tokens) - if markup =~ Syntax - @array_name = $1 - else - raise SyntaxError.new("Error in tag 'include_array' - Valid syntax: include_array [array from _config.yml]") - end - - super - end - - def render(context) - includes_dir = File.join(context.registers[:site].source, '_includes') - - if File.symlink?(includes_dir) - return "Includes directory '#{includes_dir}' cannot be a symlink" - end - - rtn = '' - (context.environments.first['site'][@array_name] || []).each do |file| - if file !~ /^[a-zA-Z0-9_\/\.-]+$/ || file =~ /\.\// || file =~ /\/\./ - rtn = rtn + "Include file '#{file}' contains invalid characters or sequences" - end - - Dir.chdir(includes_dir) do - choices = Dir['**/*'].reject { |x| File.symlink?(x) } - if choices.include?(file) - source = File.read(file) - partial = Liquid::Template.parse(source) - context.stack do - rtn = rtn + partial.render(context) - end - else - rtn = rtn + "Included file '#{file}' not found in _includes directory" - end - end - end - rtn - end - end - -end - -Liquid::Template.register_tag('include_array', Jekyll::IncludeArrayTag) diff --git a/plugins/include_code.rb b/plugins/include_code.rb deleted file mode 100644 index a61d06cf..00000000 --- a/plugins/include_code.rb +++ /dev/null @@ -1,71 +0,0 @@ -# Title: Include Code Tag for Jekyll -# Author: Brandon Mathis http://brandonmathis.com -# Description: Import files on your filesystem into any blog post as embedded code snippets with syntax highlighting and a download link. -# Configuration: You can set default import path in _config.yml (defaults to code_dir: downloads/code) -# -# Syntax {% include_code path/to/file %} -# -# Example 1: -# {% include_code javascripts/test.js %} -# -# This will import test.js from source/downloads/code/javascripts/test.js -# and output the contents in a syntax highlighted code block inside a figure, -# with a figcaption listing the file name and download link -# -# Example 2: -# You can also include an optional title for the <figcaption> -# -# {% include_code Example 2 javascripts/test.js %} -# -# will output a figcaption with the title: Example 2 (test.js) -# - -require './plugins/pygments_code' -require './plugins/raw' -require 'pathname' - -module Jekyll - - class IncludeCodeTag < Liquid::Tag - def initialize(tag_name, markup, tokens) - @title = nil - @file = nil - if markup.strip =~ /\s*lang:(\S+)/i - @filetype = $1 - markup = markup.strip.sub(/lang:\S+/i,'') - end - if markup.strip =~ /(.*)?(\s+|^)(\/*\S+)/i - @title = $1 || nil - @file = $3 - end - super - end - - def render(context) - code_dir = (context.registers[:site].config['code_dir'].sub(/^\//,'') || 'downloads/code') - code_path = (Pathname.new(context.registers[:site].source) + code_dir).expand_path - file = code_path + @file - - if File.symlink?(code_path) - return "Code directory '#{code_path}' cannot be a symlink" - end - - unless file.file? - return "File #{file} could not be found" - end - - Dir.chdir(code_path) do - code = file.read - @filetype = file.extname.sub('.','') if @filetype.nil? - title = @title ? "#{@title} (#{file.basename})" : file.basename - url = "/#{code_dir}/#{@file}" - source = "<figure class='code'><figcaption><span>#{title}</span> <a href='#{url}'>download</a></figcaption>\n" - source += "#{HighlightCode::highlight(code, @filetype)}</figure>" - TemplateWrapper::safe_wrap(source) - end - end - end - -end - -Liquid::Template.register_tag('include_code', Jekyll::IncludeCodeTag) diff --git a/plugins/jsfiddle.rb b/plugins/jsfiddle.rb deleted file mode 100644 index 815910e2..00000000 --- a/plugins/jsfiddle.rb +++ /dev/null @@ -1,40 +0,0 @@ -# Title: jsFiddle tag for Jekyll -# Author: Brian Arnold (@brianarn) -# Description: -# Given a jsFiddle shortcode, outputs the jsFiddle iframe code. -# Using 'default' will preserve defaults as specified by jsFiddle. -# -# Syntax: {% jsfiddle shorttag [tabs] [skin] [height] [width] %} -# -# Examples: -# -# Input: {% jsfiddle ccWP7 %} -# Output: <iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/ccWP7/embedded/js,resources,html,css,result/light/"></iframe> -# -# Input: {% jsfiddle ccWP7 js,html,result %} -# Output: <iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/ccWP7/embedded/js,html,result/light/"></iframe> -# - -module Jekyll - class JsFiddle < Liquid::Tag - def initialize(tag_name, markup, tokens) - if /(?<fiddle>\w+\/?\d?)(?:\s+(?<sequence>[\w,]+))?(?:\s+(?<skin>\w+))?(?:\s+(?<height>\w+))?(?:\s+(?<width>\w+))?/ =~ markup - @fiddle = fiddle - @sequence = (sequence unless sequence == 'default') || 'js,resources,html,css,result' - @skin = (skin unless skin == 'default') || 'light' - @width = width || '100%' - @height = height || '300px' - end - end - - def render(context) - if @fiddle - "<iframe style=\"width: #{@width}; height: #{@height}\" frameborder=\"0\" seamless=\"seamless\" src=\"http://jsfiddle.net/#{@fiddle}/embedded/#{@sequence}/#{@skin}/\"></iframe>" - else - "Error processing input, expected syntax: {% jsfiddle shorttag [tabs] [skin] [height] [width] %}" - end - end - end -end - -Liquid::Template.register_tag('jsfiddle', Jekyll::JsFiddle) diff --git a/plugins/octopress_filters.rb b/plugins/octopress_filters.rb deleted file mode 100644 index 9c7fa6c5..00000000 --- a/plugins/octopress_filters.rb +++ /dev/null @@ -1,142 +0,0 @@ -#custom filters for Octopress -require './plugins/backtick_code_block' -require 'octopress-hooks' -require 'jekyll-sitemap' -require 'octopress-date-format' -require './plugins/raw' -require 'rubypants' - -module OctopressFilters - def self.pre_filter(page) - if page.ext.match('html|textile|markdown|md|haml|slim|xml') - input = BacktickCodeBlock::render_code_block(page.content) - page.content = input.gsub /(<figure.+?>.+?<\/figure>)/m do - TemplateWrapper::safe_wrap($1) - end - end - end - def self.post_filter(page) - if page.ext.match('html|textile|markdown|md|haml|slim|xml') - page.output = TemplateWrapper::unwrap(page.output) - end - - page.output = RubyPants.new(page.output).to_html - end - - class PageFilters < Octopress::Hooks::Page - def pre_render(page) - OctopressFilters::pre_filter(page) - end - - def post_render(page) - OctopressFilters::post_filter(page) - end - end - - class PostFilters < Octopress::Hooks::Post - def pre_render(post) - OctopressFilters::pre_filter(post) - end - - def post_render(post) - OctopressFilters::post_filter(post) - end - end -end - - -module OctopressLiquidFilters - - # Used on the blog index to split posts on the <!--more--> marker - def excerpt(input) - if input.index(/<!--\s*more\s*-->/i) - input.split(/<!--\s*more\s*-->/i)[0] - else - input - end - end - - # Checks for excerpts (helpful for template conditionals) - def has_excerpt(input) - input =~ /<!--\s*more\s*-->/i ? true : false - end - - # Summary is used on the Archive pages to return the first block of content from a post. - def summary(input) - if input.index(/\n\n/) - input.split(/\n\n/)[0] - else - input - end - end - - # Extracts raw content DIV from template, used for page description as {{ content }} - # contains complete sub-template code on main page level - def raw_content(input) - /<div class="entry-content">(?<content>[\s\S]*?)<\/div>\s*<(footer|\/article)>/ =~ input - return (content.nil?) ? input : content - end - - # Escapes CDATA sections in post content - def cdata_escape(input) - input.gsub(/<!\[CDATA\[/, '<![CDATA[').gsub(/\]\]>/, ']]>') - end - - # Replaces relative urls with full urls - def expand_urls(input, url='') - url ||= '/' - input.gsub /(\s+(href|src)\s*=\s*["|']{1})(\/[^\/>]{1}[^\"'>]*)/ do - $1+url+$3 - end - end - - # Improved version of Liquid's truncate: - # - Doesn't cut in the middle of a word. - # - Uses typographically correct ellipsis (…) insted of '...' - def truncate(input, length) - if input.length > length && input[0..(length-1)] =~ /(.+)\b.+$/im - $1.strip + ' …' - else - input - end - end - - # Improved version of Liquid's truncatewords: - # - Uses typographically correct ellipsis (…) insted of '...' - def truncatewords(input, length) - truncate = input.split(' ') - if truncate.length > length - truncate[0..length-1].join(' ').strip + ' …' - else - input - end - end - - # Condenses multiple spaces and tabs into a single space - def condense_spaces(input) - input.gsub(/\s{2,}/, ' ') - end - - # Removes trailing forward slash from a string for easily appending url segments - def strip_slash(input) - if input =~ /(.+)\/$|^\/$/ - input = $1 - end - input - end - - # Returns a url without the protocol (http://) - def shorthand_url(input) - input.gsub /(https?:\/\/)(\S+)/ do - $2 - end - end - - # Returns a title cased string based on John Gruber's title case http://daringfireball.net/2008/08/title_case_update - def titlecase(input) - input.titlecase - end - -end -Liquid::Template.register_filter OctopressLiquidFilters - diff --git a/plugins/pullquote.rb b/plugins/pullquote.rb deleted file mode 100644 index 3c65e66e..00000000 --- a/plugins/pullquote.rb +++ /dev/null @@ -1,45 +0,0 @@ -# -# Author: Brandon Mathis -# Based on the semantic pullquote technique by Maykel Loomans at http://miekd.com/articles/pull-quotes-with-html5-and-css/ -# -# Outputs a span with a data-pullquote attribute set from the marked pullquote. Example: -# -# {% pullquote %} -# When writing longform posts, I find it helpful to include pullquotes, which help those scanning a post discern whether or not a post is helpful. -# It is important to note, {" pullquotes are merely visual in presentation and should not appear twice in the text. "} That is why it is prefered -# to use a CSS only technique for styling pullquotes. -# {% endpullquote %} -# ...will output... -# <p> -# <span data-pullquote="pullquotes are merely visual in presentation and should not appear twice in the text."> -# When writing longform posts, I find it helpful to include pullquotes, which help those scanning a post discern whether or not a post is helpful. -# It is important to note, pullquotes are merely visual in presentation and should not appear twice in the text. This is why a CSS only approach -# for styling pullquotes is prefered. -# </span> -# </p> -# -# {% pullquote left %} will create a left-aligned pullquote instead. -# -# Note: this plugin now creates pullquotes with the class of pullquote-right by default - -module Jekyll - - class PullquoteTag < Liquid::Block - def initialize(tag_name, markup, tokens) - @align = (markup =~ /left/i) ? "left" : "right" - super - end - - def render(context) - output = super - if output =~ /\{"\s*(.+?)\s*"\}/m - @quote = RubyPants.new($1).to_html - "<span class='pullquote-#{@align}' data-pullquote='#{@quote}'>#{output.gsub(/\{"\s*|\s*"\}/, '')}</span>" - else - return "Surround your pullquote like this {\" text to be quoted \"}" - end - end - end -end - -Liquid::Template.register_tag('pullquote', Jekyll::PullquoteTag) diff --git a/plugins/pygments_code.rb b/plugins/pygments_code.rb deleted file mode 100644 index c0f4de92..00000000 --- a/plugins/pygments_code.rb +++ /dev/null @@ -1,45 +0,0 @@ -require 'pygments' -require 'fileutils' -require 'digest/md5' - -PYGMENTS_CACHE_DIR = File.expand_path('../../.pygments-cache', __FILE__) -FileUtils.mkdir_p(PYGMENTS_CACHE_DIR) - -module HighlightCode - def self.highlight(str, lang) - lang = 'ruby' if lang == 'ru' - lang = 'objc' if lang == 'm' - lang = 'perl' if lang == 'pl' - lang = 'yaml' if lang == 'yml' - str = pygments(str, lang).match(/<pre>(.+)<\/pre>/m)[1].to_s.gsub(/ *$/, '') #strip out divs <div class="highlight"> - tableize_code(str, lang) - end - - def self.pygments(code, lang) - if defined?(PYGMENTS_CACHE_DIR) - path = File.join(PYGMENTS_CACHE_DIR, "#{lang}-#{Digest::MD5.hexdigest(code)}.html") - if File.exist?(path) - highlighted_code = File.read(path) - else - begin - highlighted_code = Pygments.highlight(code, :lexer => lang, :formatter => 'html', :options => {:encoding => 'utf-8', :startinline => true}) - rescue MentosError - raise "Pygments can't parse unknown language: #{lang}." - end - File.open(path, 'w') {|f| f.print(highlighted_code) } - end - else - highlighted_code = Pygments.highlight(code, :lexer => lang, :formatter => 'html', :options => {:encoding => 'utf-8', :startinline => true}) - end - highlighted_code - end - def self.tableize_code (str, lang = '') - table = '<div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers">' - code = '' - str.lines.each_with_index do |line,index| - table += "<span class='line-number'>#{index+1}</span>\n" - code += "<span class='line'>#{line}</span>" - end - table += "</pre></td><td class='code'><pre><code class='#{lang}'>#{code}</code></pre></td></tr></table></div>" - end -end diff --git a/plugins/raw.rb b/plugins/raw.rb deleted file mode 100644 index e97c9459..00000000 --- a/plugins/raw.rb +++ /dev/null @@ -1,40 +0,0 @@ -# Author: Brandon Mathis -# Description: Provides plugins with a method for wrapping and unwrapping input to prevent Markdown and Textile from parsing it. -# Purpose: This is useful for preventing Markdown and Textile from being too aggressive and incorrectly parsing in-line HTML. -module TemplateWrapper - # Wrap input with a <div> - def self.safe_wrap(input) - "<div class='bogus-wrapper'><notextile>#{input}</notextile></div>" - end - # This must be applied after the - def self.unwrap(input) - input.gsub /<div class='bogus-wrapper'><notextile>(.+?)<\/notextile><\/div>/m do - $1 - end - end -end - -# Author: phaer, https://github.com/phaer -# Source: https://gist.github.com/1020852 -# Description: Raw tag for jekyll. Keeps liquid from parsing text betweeen {% raw %} and {% endraw %} - -module Jekyll - class RawTag < Liquid::Block - def parse(tokens) - @nodelist ||= [] - @nodelist.clear - - while token = tokens.shift - if token =~ FullToken - if block_delimiter == $1 - end_tag - return - end - end - @nodelist << token if not token.empty? - end - end - end -end - -Liquid::Template.register_tag('raw', Jekyll::RawTag) diff --git a/plugins/render_partial.rb b/plugins/render_partial.rb deleted file mode 100644 index b6ebfe8b..00000000 --- a/plugins/render_partial.rb +++ /dev/null @@ -1,69 +0,0 @@ -# Title: Render Partial Tag for Jekyll -# Author: Brandon Mathis http://brandonmathis.com -# Description: Import files on your filesystem into any blog post and render them inline. -# Note: Paths are relative to the source directory, if you import a file with yaml front matter, the yaml will be stripped out. -# -# Syntax {% render_partial path/to/file %} -# -# Example 1: -# {% render_partial about/_bio.markdown %} -# -# This will import source/about/_bio.markdown and render it inline. -# In this example I used an underscore at the beginning of the filename to prevent Jekyll -# from generating an about/bio.html (Jekyll doesn't convert files beginning with underscores) -# -# Example 2: -# {% render_partial ../README.markdown %} -# -# You can use relative pathnames, to include files outside of the source directory. -# This might be useful if you want to have a page for a project's README without having -# to duplicated the contents -# -# - -require 'pathname' -require './plugins/octopress_filters' - -module Jekyll - - class RenderPartialTag < Liquid::Tag - include OctopressFilters - def initialize(tag_name, markup, tokens) - @file = nil - @raw = false - if markup =~ /^(\S+)\s?(\w+)?/ - @file = $1.strip - @raw = $2 == 'raw' - end - super - end - - def render(context) - file_dir = (context.registers[:site].source || 'source') - file_path = Pathname.new(file_dir).expand_path - file = file_path + @file - - unless file.file? - return "File #{file} could not be found" - end - - Dir.chdir(file_path) do - contents = file.read - if contents =~ /\A-{3}.+[^\A]-{3}\n(.+)/m - contents = $1.lstrip - end - contents = pre_filter(contents) - if @raw - contents - else - partial = Liquid::Template.parse(contents) - context.stack do - partial.render(context) - end - end - end - end - end -end - -Liquid::Template.register_tag('render_partial', Jekyll::RenderPartialTag) diff --git a/plugins/rubypants.rb b/plugins/rubypants.rb deleted file mode 100644 index e4f4502f..00000000 --- a/plugins/rubypants.rb +++ /dev/null @@ -1,489 +0,0 @@ -# -# = RubyPants -- SmartyPants ported to Ruby -# -# Ported by Christian Neukirchen <mailto:chneukirchen@gmail.com> -# Copyright (C) 2004 Christian Neukirchen -# -# Incooporates ideas, comments and documentation by Chad Miller -# Copyright (C) 2004 Chad Miller -# -# Original SmartyPants by John Gruber -# Copyright (C) 2003 John Gruber -# - -# -# = RubyPants -- SmartyPants ported to Ruby -# -# == Synopsis -# -# RubyPants is a Ruby port of the smart-quotes library SmartyPants. -# -# The original "SmartyPants" is a free web publishing plug-in for -# Movable Type, Blosxom, and BBEdit that easily translates plain ASCII -# punctuation characters into "smart" typographic punctuation HTML -# entities. -# -# -# == Description -# -# RubyPants can perform the following transformations: -# -# * Straight quotes (<tt>"</tt> and <tt>'</tt>) into "curly" quote -# HTML entities -# * Backticks-style quotes (<tt>``like this''</tt>) into "curly" quote -# HTML entities -# * Dashes (<tt>--</tt> and <tt>---</tt>) into en- and em-dash -# entities -# * Three consecutive dots (<tt>...</tt> or <tt>. . .</tt>) into an -# ellipsis entity -# -# This means you can write, edit, and save your posts using plain old -# ASCII straight quotes, plain dashes, and plain dots, but your -# published posts (and final HTML output) will appear with smart -# quotes, em-dashes, and proper ellipses. -# -# RubyPants does not modify characters within <tt><pre></tt>, -# <tt><code></tt>, <tt><kbd></tt>, <tt><math></tt> or -# <tt><script></tt> tag blocks. Typically, these tags are used to -# display text where smart quotes and other "smart punctuation" would -# not be appropriate, such as source code or example markup. -# -# -# == Backslash Escapes -# -# If you need to use literal straight quotes (or plain hyphens and -# periods), RubyPants accepts the following backslash escape sequences -# to force non-smart punctuation. It does so by transforming the -# escape sequence into a decimal-encoded HTML entity: -# -# \\ \" \' \. \- \` -# -# This is useful, for example, when you want to use straight quotes as -# foot and inch marks: 6'2" tall; a 17" iMac. (Use <tt>6\'2\"</tt> -# resp. <tt>17\"</tt>.) -# -# -# == Algorithmic Shortcomings -# -# One situation in which quotes will get curled the wrong way is when -# apostrophes are used at the start of leading contractions. For -# example: -# -# 'Twas the night before Christmas. -# -# In the case above, RubyPants will turn the apostrophe into an -# opening single-quote, when in fact it should be a closing one. I -# don't think this problem can be solved in the general case--every -# word processor I've tried gets this wrong as well. In such cases, -# it's best to use the proper HTML entity for closing single-quotes -# ("<tt>’</tt>") by hand. -# -# -# == Bugs -# -# To file bug reports or feature requests (except see above) please -# send email to: mailto:chneukirchen@gmail.com -# -# If the bug involves quotes being curled the wrong way, please send -# example text to illustrate. -# -# -# == Authors -# -# John Gruber did all of the hard work of writing this software in -# Perl for Movable Type and almost all of this useful documentation. -# Chad Miller ported it to Python to use with Pyblosxom. -# -# Christian Neukirchen provided the Ruby port, as a general-purpose -# library that follows the *Cloth API. -# -# -# == Copyright and License -# -# === SmartyPants license: -# -# Copyright (c) 2003 John Gruber -# (http://daringfireball.net) -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# * Neither the name "SmartyPants" nor the names of its contributors -# may be used to endorse or promote products derived from this -# software without specific prior written permission. -# -# This software is provided by the copyright holders and contributors -# "as is" and any express or implied warranties, including, but not -# limited to, the implied warranties of merchantability and fitness -# for a particular purpose are disclaimed. In no event shall the -# copyright owner or contributors be liable for any direct, indirect, -# incidental, special, exemplary, or consequential damages (including, -# but not limited to, procurement of substitute goods or services; -# loss of use, data, or profits; or business interruption) however -# caused and on any theory of liability, whether in contract, strict -# liability, or tort (including negligence or otherwise) arising in -# any way out of the use of this software, even if advised of the -# possibility of such damage. -# -# === RubyPants license -# -# RubyPants is a derivative work of SmartyPants and smartypants.py. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# This software is provided by the copyright holders and contributors -# "as is" and any express or implied warranties, including, but not -# limited to, the implied warranties of merchantability and fitness -# for a particular purpose are disclaimed. In no event shall the -# copyright owner or contributors be liable for any direct, indirect, -# incidental, special, exemplary, or consequential damages (including, -# but not limited to, procurement of substitute goods or services; -# loss of use, data, or profits; or business interruption) however -# caused and on any theory of liability, whether in contract, strict -# liability, or tort (including negligence or otherwise) arising in -# any way out of the use of this software, even if advised of the -# possibility of such damage. -# -# -# == Links -# -# John Gruber:: http://daringfireball.net -# SmartyPants:: http://daringfireball.net/projects/smartypants -# -# Chad Miller:: http://web.chad.org -# -# Christian Neukirchen:: http://kronavita.de/chris -# - - -class RubyPants < String - - # Create a new RubyPants instance with the text in +string+. - # - # Allowed elements in the options array: - # - # 0 :: do nothing - # 1 :: enable all, using only em-dash shortcuts - # 2 :: enable all, using old school en- and em-dash shortcuts (*default*) - # 3 :: enable all, using inverted old school en and em-dash shortcuts - # -1 :: stupefy (translate HTML entities to their ASCII-counterparts) - # - # If you don't like any of these defaults, you can pass symbols to change - # RubyPants' behavior: - # - # <tt>:quotes</tt> :: quotes - # <tt>:backticks</tt> :: backtick quotes (``double'' only) - # <tt>:allbackticks</tt> :: backtick quotes (``double'' and `single') - # <tt>:dashes</tt> :: dashes - # <tt>:oldschool</tt> :: old school dashes - # <tt>:inverted</tt> :: inverted old school dashes - # <tt>:ellipses</tt> :: ellipses - # <tt>:convertquotes</tt> :: convert <tt>"</tt> entities to - # <tt>"</tt> for Dreamweaver users - # <tt>:stupefy</tt> :: translate RubyPants HTML entities - # to their ASCII counterparts. - # - def initialize(string, options=[2]) - super string - @options = [*options] - end - - # Apply SmartyPants transformations. - def to_html - do_quotes = do_backticks = do_dashes = do_ellipses = do_stupify = nil - convert_quotes = false - - if @options.include? 0 - # Do nothing. - return self - elsif @options.include? 1 - # Do everything, turn all options on. - do_quotes = do_backticks = do_ellipses = true - do_dashes = :normal - elsif @options.include? 2 - # Do everything, turn all options on, use old school dash shorthand. - do_quotes = do_backticks = do_ellipses = true - do_dashes = :oldschool - elsif @options.include? 3 - # Do everything, turn all options on, use inverted old school - # dash shorthand. - do_quotes = do_backticks = do_ellipses = true - do_dashes = :inverted - elsif @options.include?(-1) - do_stupefy = true - else - do_quotes = @options.include? :quotes - do_backticks = @options.include? :backticks - do_backticks = :both if @options.include? :allbackticks - do_dashes = :normal if @options.include? :dashes - do_dashes = :oldschool if @options.include? :oldschool - do_dashes = :inverted if @options.include? :inverted - do_ellipses = @options.include? :ellipses - convert_quotes = @options.include? :convertquotes - do_stupefy = @options.include? :stupefy - end - - # Parse the HTML - tokens = tokenize - - # Keep track of when we're inside <pre> or <code> tags. - in_pre = false - - # Here is the result stored in. - result = "" - - # This is a cheat, used to get some context for one-character - # tokens that consist of just a quote char. What we do is remember - # the last character of the previous text token, to use as context - # to curl single- character quote tokens correctly. - prev_token_last_char = nil - - tokens.each { |token| - if token.first == :tag - result << token[1] - if token[1] =~ %r!<(/?)(?:pre|code|kbd|script|math)[\s>]! - in_pre = ($1 != "/") # Opening or closing tag? - end - else - t = token[1] - - # Remember last char of this token before processing. - last_char = t[-1].chr - - unless in_pre - t = process_escapes t - - t.gsub!(/"/, '"') if convert_quotes - - if do_dashes - t = educate_dashes t if do_dashes == :normal - t = educate_dashes_oldschool t if do_dashes == :oldschool - t = educate_dashes_inverted t if do_dashes == :inverted - end - - t = educate_ellipses t if do_ellipses - - # Note: backticks need to be processed before quotes. - if do_backticks - t = educate_backticks t - t = educate_single_backticks t if do_backticks == :both - end - - if do_quotes - if t == "'" - # Special case: single-character ' token - if prev_token_last_char =~ /\S/ - t = "’" - else - t = "‘" - end - elsif t == '"' - # Special case: single-character " token - if prev_token_last_char =~ /\S/ - t = "”" - else - t = "“" - end - else - # Normal case: - t = educate_quotes t - end - end - - t = stupefy_entities t if do_stupefy - end - - prev_token_last_char = last_char - result << t - end - } - - # Done - result - end - - protected - - # Return the string, with after processing the following backslash - # escape sequences. This is useful if you want to force a "dumb" quote - # or other character to appear. - # - # Escaped are: - # \\ \" \' \. \- \` - # - def process_escapes(str) - str.gsub('\\\\', '\'). - gsub('\"', '"'). - gsub("\\\'", '''). - gsub('\.', '.'). - gsub('\-', '-'). - gsub('\`', '`') - end - - # The string, with each instance of "<tt>--</tt>" translated to an - # em-dash HTML entity. - # - def educate_dashes(str) - str.gsub(/--/, '—') - end - - # The string, with each instance of "<tt>--</tt>" translated to an - # en-dash HTML entity, and each "<tt>---</tt>" translated to an - # em-dash HTML entity. - # - def educate_dashes_oldschool(str) - str.gsub(/---/, '—').gsub(/--/, '–') - end - - # Return the string, with each instance of "<tt>--</tt>" translated - # to an em-dash HTML entity, and each "<tt>---</tt>" translated to - # an en-dash HTML entity. Two reasons why: First, unlike the en- and - # em-dash syntax supported by +educate_dashes_oldschool+, it's - # compatible with existing entries written before SmartyPants 1.1, - # back when "<tt>--</tt>" was only used for em-dashes. Second, - # em-dashes are more common than en-dashes, and so it sort of makes - # sense that the shortcut should be shorter to type. (Thanks to - # Aaron Swartz for the idea.) - # - def educate_dashes_inverted(str) - str.gsub(/---/, '–').gsub(/--/, '—') - end - - # Return the string, with each instance of "<tt>...</tt>" translated - # to an ellipsis HTML entity. Also converts the case where there are - # spaces between the dots. - # - def educate_ellipses(str) - str.gsub('...', '…').gsub('. . .', '…') - end - - # Return the string, with "<tt>``backticks''</tt>"-style single quotes - # translated into HTML curly quote entities. - # - def educate_backticks(str) - str.gsub("``", '“').gsub("''", '”') - end - - # Return the string, with "<tt>`backticks'</tt>"-style single quotes - # translated into HTML curly quote entities. - # - def educate_single_backticks(str) - str.gsub("`", '‘').gsub("'", '’') - end - - # Return the string, with "educated" curly quote HTML entities. - # - def educate_quotes(str) - punct_class = '[!"#\$\%\'()*+,\-.\/:;<=>?\@\[\\\\\]\^_`{|}~]' - - str = str.dup - - # Special case if the very first character is a quote followed by - # punctuation at a non-word-break. Close the quotes by brute - # force: - str.gsub!(/^'(?=#{punct_class}\B)/, '’') - str.gsub!(/^"(?=#{punct_class}\B)/, '”') - - # Special case for double sets of quotes, e.g.: - # <p>He said, "'Quoted' words in a larger quote."</p> - str.gsub!(/"'(?=\w)/, '“‘') - str.gsub!(/'"(?=\w)/, '‘“') - - # Special case for decade abbreviations (the '80s): - str.gsub!(/'(?=\d\ds)/, '’') - - close_class = %![^\ \t\r\n\\[\{\(\-]! - dec_dashes = '–|—' - - # Get most opening single quotes: - str.gsub!(/(\s| |--|&[mn]dash;|#{dec_dashes}|ȁ[34];)'(?=\w)/, - '\1‘') - # Single closing quotes: - str.gsub!(/(#{close_class})'/, '\1’') - str.gsub!(/'(\s|s\b|$)/, '’\1') - # Any remaining single quotes should be opening ones: - str.gsub!(/'/, '‘') - - # Get most opening double quotes: - str.gsub!(/(\s| |--|&[mn]dash;|#{dec_dashes}|ȁ[34];)"(?=\w)/, - '\1“') - # Double closing quotes: - str.gsub!(/(#{close_class})"/, '\1”') - str.gsub!(/"(\s|s\b|$)/, '”\1') - # Any remaining quotes should be opening ones: - str.gsub!(/"/, '“') - - str - end - - # Return the string, with each RubyPants HTML entity translated to - # its ASCII counterpart. - # - # Note: This is not reversible (but exactly the same as in SmartyPants) - # - def stupefy_entities(str) - str. - gsub(/–/, '-'). # en-dash - gsub(/—/, '--'). # em-dash - - gsub(/‘/, "'"). # open single quote - gsub(/’/, "'"). # close single quote - - gsub(/“/, '"'). # open double quote - gsub(/”/, '"'). # close double quote - - gsub(/…/, '...') # ellipsis - end - - # Return an array of the tokens comprising the string. Each token is - # either a tag (possibly with nested, tags contained therein, such - # as <tt><a href="<MTFoo>"></tt>, or a run of text between - # tags. Each element of the array is a two-element array; the first - # is either :tag or :text; the second is the actual value. - # - # Based on the <tt>_tokenize()</tt> subroutine from Brad Choate's - # MTRegex plugin. <http://www.bradchoate.com/past/mtregex.php> - # - # This is actually the easier variant using tag_soup, as used by - # Chad Miller in the Python port of SmartyPants. - # - def tokenize - tag_soup = /([^<]*)(<[^>]*>)/ - - tokens = [] - - prev_end = 0 - scan(tag_soup) { - tokens << [:text, $1] if $1 != "" - tokens << [:tag, $2] - - prev_end = $~.end(0) - } - - if prev_end < size - tokens << [:text, self[prev_end..-1]] - end - - tokens - end -end diff --git a/plugins/titlecase.rb b/plugins/titlecase.rb deleted file mode 100644 index 7648932c..00000000 --- a/plugins/titlecase.rb +++ /dev/null @@ -1,36 +0,0 @@ -class String - def titlecase - small_words = %w(a an and as at but by en for if in of on or the to v v. via vs vs.) - - x = split(" ").map do |word| - # note: word could contain non-word characters! - # downcase all small_words, capitalize the rest - small_words.include?(word.gsub(/\W/, "").downcase) ? word.downcase! : word.smart_capitalize! - word - end - # capitalize first and last words - x.first.to_s.smart_capitalize! - x.last.to_s.smart_capitalize! - # small words are capitalized after colon, period, exclamation mark, question mark - x.join(" ").gsub(/(:|\.|!|\?)\s?(\W*#{small_words.join("|")}\W*)\s/) { "#{$1} #{$2.smart_capitalize} " } - end - - def titlecase! - replace(titlecase) - end - - def smart_capitalize - # ignore any leading crazy characters and capitalize the first real character - if self =~ /^['"\(\[']*([a-z])/ - i = index($1) - x = self[i,self.length] - # word with capitals and periods mid-word are left alone - self[i,1] = self[i,1].upcase unless x =~ /[A-Z]/ or x =~ /\.\w+/ - end - self - end - - def smart_capitalize! - replace(smart_capitalize) - end -end diff --git a/plugins/video_tag.rb b/plugins/video_tag.rb deleted file mode 100644 index c6e67b77..00000000 --- a/plugins/video_tag.rb +++ /dev/null @@ -1,56 +0,0 @@ -# Title: Simple Video tag for Jekyll -# Author: Brandon Mathis http://brandonmathis.com -# Description: Easily output MPEG4 HTML5 video with a flash backup. -# -# Syntax {% video url/to/video [width height] [url/to/poster] %} -# -# Example: -# {% video http://site.com/video.mp4 720 480 http://site.com/poster-frame.jpg %} -# -# Output: -# <video width='720' height='480' preload='none' controls poster='http://site.com/poster-frame.jpg'> -# <source src='http://site.com/video.mp4' type='video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'/> -# </video> -# - -module Jekyll - - class VideoTag < Liquid::Tag - @video = nil - @poster = '' - @height = '' - @width = '' - - def initialize(tag_name, markup, tokens) - if markup =~ /(https?:\S+)(\s+(https?:\S+))?(\s+(https?:\S+))?(\s+(\d+)\s(\d+))?(\s+(https?:\S+))?/i - @video = [$1, $3, $5].compact - @width = $7 - @height = $8 - @poster = $10 - end - super - end - - def render(context) - output = super - type = { - 'mp4' => "type='video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'", - 'ogv' => "type='video/ogg; codecs=theora, vorbis'", - 'webm' => "type='video/webm; codecs=vp8, vorbis'" - } - if @video.size > 0 - video = "<video width='#{@width}' height='#{@height}' preload='none' controls poster='#{@poster}'>" - @video.each do |v| - t = v.match(/([^\.]+)$/)[1] - video += "<source src='#{v}' #{type[t]}>" - end - video += "</video>" - else - "Error processing input, expected syntax: {% video url/to/video [url/to/video] [url/to/video] [width height] [url/to/poster] %}" - end - end - end -end - -Liquid::Template.register_tag('video', Jekyll::VideoTag) - diff --git a/sass/_base.scss b/sass/_base.scss deleted file mode 100644 index 05fdd005..00000000 --- a/sass/_base.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "base/utilities"; -@import "base/solarized"; -@import "base/theme"; -@import "base/typography"; -@import "base/layout"; diff --git a/sass/_partials.scss b/sass/_partials.scss deleted file mode 100644 index 99c28b63..00000000 --- a/sass/_partials.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import "partials/header"; -@import "partials/navigation"; -@import "partials/blog"; -@import "partials/sharing"; -@import "partials/syntax"; -@import "partials/archive"; -@import "partials/sidebar"; -@import "partials/footer"; diff --git a/sass/base/_layout.scss b/sass/base/_layout.scss deleted file mode 100644 index 81903428..00000000 --- a/sass/base/_layout.scss +++ /dev/null @@ -1,192 +0,0 @@ -$max-width: 1200px !default; - -// Padding used for layout margins -$pad-min: 18px !default; -$pad-narrow: 25px !default; -$pad-medium: 35px !default; -$pad-wide: 55px !default; - -// Sidebar widths used in media queries -$sidebar-width-medium: 240px !default; -$sidebar-pad-medium: 15px !default; -$sidebar-pad-wide: 20px !default; -$sidebar-width-wide: 300px !default; - -$indented-lists: false !default; - -$header-font-size: 1em !default; -$header-padding-top: 1.5em !default; -$header-padding-bottom: 1.5em !default; - -.group { @include pie-clearfix; } - -@mixin collapse-sidebar { - float: none; - width: auto; - clear: left; - margin: 0; - padding: 0 $pad-medium 1px; - background-color: lighten($sidebar-bg, 2); - border-top: 1px solid lighten($sidebar-border, 4); - section { - &.odd, &.even { float: left; width: 48%; } - &.odd { margin-left: 0; } - &.even { margin-left: 4%; } - } - &.thirds section { - width: 30%; - margin-left: 5%; - &.first { - margin-left: 0; - clear: both; - } - } -} - -body { - -webkit-text-size-adjust: none; - max-width: $max-width; - position: relative; - margin: 0 auto; - > header, > nav, > footer, #content > article, #content > div > article, #content > div > section { - @extend .group; - padding-left: $pad-min; - padding-right: $pad-min; - @media only screen and (min-width: 480px) { - padding-left: $pad-narrow; - padding-right: $pad-narrow; - } - @media only screen and (min-width: 768px) { - padding-left: $pad-medium; - padding-right: $pad-medium; - } - @media only screen and (min-width: 992px) { - padding-left: $pad-wide; - padding-right: $pad-wide; - } - } - div.pagination { - @extend .group; - margin-left: $pad-min; - margin-right: $pad-min; - @media only screen and (min-width: 480px) { - margin-left: $pad-narrow; - margin-right: $pad-narrow; - } - @media only screen and (min-width: 768px) { - margin-left: $pad-medium; - margin-right: $pad-medium; - } - @media only screen and (min-width: 992px) { - margin-left: $pad-wide; - margin-right: $pad-wide; - } - } - > header { - font-size: $header-font-size; - padding-top: $header-padding-top; - padding-bottom: $header-padding-bottom; - } -} - -#content { - overflow: hidden; - > div, > article { width: 100%; } -} - -aside.sidebar { - float: none; - padding: 0 $pad-min 1px; - background-color: lighten($sidebar-bg, 2); - border-top: 1px solid $sidebar-border; - @extend .group; -} - -.flex-content { max-width: 100%; height: auto; } - -.basic-alignment { - &.left { float: left; margin-right: 1.5em; } - &.right { float: right; margin-left: 1.5em; } - &.center { display:block; margin: 0 auto 1.5em; } - &.left, &.right { margin-bottom: .8em; } -} - -.toggle-sidebar { &, .no-sidebar & { display: none; }} - -body.sidebar-footer { - @media only screen and (min-width: 750px) { - aside.sidebar{ @include collapse-sidebar; } - } - #content { margin-right: 0px; } - .toggle-sidebar { display: none; } -} - -@media only screen and (min-width: 550px) { - body > header { font-size: $header-font-size; } -} -@media only screen and (min-width: 750px) { - aside.sidebar { @include collapse-sidebar; } -} -#main, #content, .sidebar { - @extend .group; -} -@media only screen and (min-width: 768px) { - body { -webkit-text-size-adjust: auto; } - body > header { font-size: $header-font-size * 1.2; } - #main { - padding: 0; - margin: 0 auto; - } - #content { - overflow: visible; - margin-right: $sidebar-width-medium; - position: relative; - .no-sidebar & { margin-right: 0; border-right: 0; } - .collapse-sidebar & { margin-right: 20px; } - > div, > article { - padding-top: $pad-medium/2; - padding-bottom: $pad-medium/2; - float: left; - } - } - aside.sidebar { - width: $sidebar-width-medium - $sidebar-pad-medium*2; - padding: 0 $sidebar-pad-medium $sidebar-pad-medium; - background: none; - clear: none; - float: left; - margin: 0 -100% 0 0; - section { - width: auto; margin-left: 0; - &.odd, &.even { float: none; width: auto; margin-left: 0; } - } - .collapse-sidebar & { - @include collapse-sidebar; - } - } -} - -@media only screen and (min-width: 992px) { - body > header { font-size: $header-font-size * 1.3; } - #content { margin-right: $sidebar-width-wide; } - #content { - > div, > article { - padding-top: $pad-wide/2; - padding-bottom: $pad-wide/2; - } - } - aside.sidebar { - width: $sidebar-width-wide - $sidebar-pad-wide*2; - padding: 1.2em $sidebar-pad-wide $sidebar-pad-wide; - .collapse-sidebar & { - padding: { left: $pad-wide; right: $pad-wide; } - } - } -} - -@if $indented-lists == false { - @media only screen and (min-width: 768px) { - ul, ol { margin-left: 0; } - } -} - diff --git a/sass/base/_solarized.scss b/sass/base/_solarized.scss deleted file mode 100644 index 45d8fc5e..00000000 --- a/sass/base/_solarized.scss +++ /dev/null @@ -1,46 +0,0 @@ -$base03: #002b36 !default; //darkest blue -$base02: #073642 !default; //dark blue -$base01: #586e75 !default; //darkest gray -$base00: #657b83 !default; //dark gray -$base0: #839496 !default; //medium gray -$base1: #93a1a1 !default; //medium light gray -$base2: #eee8d5 !default; //cream -$base3: #fdf6e3 !default; //white -$solar-yellow: #b58900 !default; -$solar-orange: #cb4b16 !default; -$solar-red: #dc322f !default; -$solar-magenta: #d33682 !default; -$solar-violet: #6c71c4 !default; -$solar-blue: #268bd2 !default; -$solar-cyan: #2aa198 !default; -$solar-green: #859900 !default; - -$solarized: dark !default; - -@if $solarized == light { - - $_base03: $base03; - $_base02: $base02; - $_base01: $base01; - $_base00: $base00; - $_base0: $base0; - $_base1: $base1; - $_base2: $base2; - $_base3: $base3; - - $base03: $_base3; - $base02: $_base2; - $base01: $_base1; - $base00: $_base0; - $base0: $_base00; - $base1: $_base01; - $base2: $_base02; - $base3: $_base03; -} - -/* non highlighted code colors */ -$pre-bg: $base03 !default; -$pre-border: darken($base02, 5) !default; -$pre-color: $base1 !default; - - diff --git a/sass/base/_theme.scss b/sass/base/_theme.scss deleted file mode 100644 index c35136d5..00000000 --- a/sass/base/_theme.scss +++ /dev/null @@ -1,85 +0,0 @@ -$noise-bg: image-url('noise.png') top left !default; -$img-border: inline-image('dotted-border.png') !default; - -// Main Link Colors -$link-color: lighten(#165b94, 3) !default; -$link-color-hover: adjust-color($link-color, $lightness: 10, $saturation: 25) !default; -$link-color-visited: adjust-color($link-color, $hue: 80, $lightness: -4) !default; -$link-color-active: adjust-color($link-color-hover, $lightness: -15) !default; - -// Main Section Colors -$main-bg: #f8f8f8 !default; -$page-bg: #252525 !default; -$article-border: #eeeeee !default; - -$header-bg: #333 !default; -$header-border: lighten($header-bg, 15) !default; -$title-color: #f2f2f2 !default; -$subtitle-color: #aaa !default; - -$text-color: #222 !default; -$text-color-light: #aaa !default; -$type-border: #ddd !default; - -/* Navigation */ -$nav-bg: #ccc !default; -$nav-bg-front: image-url('noise.png') !default; -$nav-bg-back: linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)) !default; -$nav-color: darken($nav-bg, 38) !default; -$nav-color-hover: darken($nav-color, 25) !default; -$nav-placeholder: desaturate(darken($nav-bg, 10), 15) !default; -$nav-border: darken($nav-bg, 10) !default; -$nav-border-top: lighten($nav-bg, 15) !default; -$nav-border-bottom: darken($nav-bg, 25) !default; -$nav-border-left: darken($nav-bg, 11) !default; -$nav-border-right: lighten($nav-bg, 7) !default; - -/* Sidebar colors */ -$sidebar-bg: #f2f2f2 !default; -$sidebar-link-color: $text-color !default; -$sidebar-link-color-hover: $link-color-hover !default; -$sidebar-link-color-active: $link-color-active !default; -$sidebar-color: change-color(mix($text-color, $sidebar-bg, 80), $hue: hue($sidebar-bg), $saturation: saturation($sidebar-bg)/2) !default; -$sidebar-border: desaturate(darken($sidebar-bg, 7), 10) !default; -$sidebar-border-hover: darken($sidebar-bg, 7) !default; -$sidebar-link-color-subdued: lighten($sidebar-color, 20) !default; -$sidebar-link-color-subdued-hover: $sidebar-link-color-hover !default; - -$footer-color: #888 !default; -$footer-bg: #ccc !default; -$footer-bg-front: image-url('noise.png') !default; -$footer-bg-back: linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)) !default; -$footer-color: darken($footer-bg, 38) !default; -$footer-color-hover: darken($footer-color, 10) !default; -$footer-border-top: lighten($footer-bg, 15) !default; -$footer-border-bottom: darken($footer-bg, 15) !default; -$footer-link-color: darken($footer-bg, 38) !default; -$footer-link-color-hover: darken($footer-color, 25) !default; -$page-border-bottom: darken($footer-bg, 5) !default; - - -/* Core theme application */ - -a { - @include link-colors($link-color, $hover: $link-color-hover, $focus: $link-color-hover, $visited: $link-color-visited, $active: $link-color-active); -} -aside.sidebar a { - @include link-colors($sidebar-link-color, $hover: $sidebar-link-color-hover, $focus: $sidebar-link-color-hover, $active: $sidebar-link-color-active); -} -a { - @include transition(color .3s); -} - -html { - background: $page-bg image-url('line-tile.png') top left; -} -body { - > div { - background: $sidebar-bg $noise-bg; - border-bottom: 1px solid $page-border-bottom; - > div { - background: $main-bg $noise-bg; - border-right: 1px solid $sidebar-border; - } - } -} diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss deleted file mode 100644 index 9a6bbacd..00000000 --- a/sass/base/_typography.scss +++ /dev/null @@ -1,164 +0,0 @@ -$blockquote: $type-border !default; -$sans: "PT Sans", "Helvetica Neue", Arial, sans-serif !default; -$serif: "PT Serif", Georgia, Times, "Times New Roman", serif !default; -$mono: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace !default; -$heading-font-family: "PT Serif", "Georgia", "Helvetica Neue", Arial, sans-serif !default; -$header-title-font-family: $heading-font-family !default; -$header-subtitle-font-family: $heading-font-family !default; - -// Fonts -.heading { - font-family: $heading-font-family; -} -.sans { font-family: $sans; } -.serif { font-family: $serif; } -.mono { font-family: $mono; } - -body > header h1 { - font-size: 2.2em; - @extend .heading; - font-family: $header-title-font-family; - font-weight: normal; - line-height: 1.2em; - margin-bottom: 0.6667em; -} -body > header h2 { - font-family: $header-subtitle-font-family; -} - -body { - line-height: 1.5em; - color: $text-color; - @extend .serif; -} -h1 { - font-size: 2.2em; - line-height: 1.2em; -} - -@media only screen and (min-width: 992px) { - body { font-size: 1.15em; } - h1 { font-size: 2.6em; line-height: 1.2em; } -} - -#{headings()}{ - @extend .heading; - text-rendering: optimizelegibility; - margin-bottom: 1em; - font-weight: bold; -} -h2, section h1 { - font-size: 1.5em; -} -h3, section h2, section section h1 { - font-size: 1.3em; -} -h4, section h3, section section h2, section section section h1 { - font-size: 1em; -} -h5, section h4, section section h3 { - font-size: .9em; -} -h6, section h5, section section h4, section section section h3 { - font-size: .8em; -} - -p, article blockquote, ul, ol { margin-bottom: 1.5em; } - -ul { list-style-type: disc; - ul { list-style-type: circle; margin-bottom: 0px; - ul { list-style-type: square; margin-bottom: 0px; }}} - -ol { list-style-type: decimal; - ol { list-style-type: lower-alpha; margin-bottom: 0px; - ol { list-style-type: lower-roman; margin-bottom: 0px; }}} - -ul, ol { &, ul, ol { margin-left: 1.3em; }} -ul, ol { ul, ol { margin-bottom: 0em; }} - -strong { font-weight: bold; } - -em { font-style: italic; } - -sup, sub { font-size: 0.75em; position: relative; display: inline-block; padding: 0 .2em; line-height: .8em;} -sup { top: -.5em; } -sub { bottom: -.5em; } - -a[rev='footnote']{ font-size: .75em; padding: 0 .3em; line-height: 1; } - -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; } - -hr { margin-bottom: 0.2em; } - -small { font-size: .8em; } - -big { font-size: 1.2em; } - -article blockquote { - $bq-margin: 1.2em; - font-style: italic; - position: relative; - font-size: 1.2em; - line-height: 1.5em; - padding-left: 1em; - border-left: 4px solid rgba($text-color-light, .5); - cite { - font-style: italic; - a { color: $text-color-light !important; word-wrap: break-word; } - &:before { content: '\2014'; padding:{right: .3em; left: .3em;} color: $text-color-light; } - } - @media only screen and (min-width: 992px) { - padding-left: 1.5em; - border-left-width: 4px; - } -} - -.pullquote-right:before, -.pullquote-left:before { - /* Reset metrics. */ - padding: 0; - border: none; - - /* Content */ - content: attr(data-pullquote); - - /* Pull out to the right, modular scale based margins. */ - float: right; - width: 45%; - margin: .5em 0 1em 1.5em; - - /* Baseline correction */ - position: relative; - top: 7px; - font-size: 1.4em; - line-height: 1.45em; -} - -.pullquote-left:before { - /* Make left pullquotes align properly. */ - float: left; - margin: .5em 1.5em 1em 0; -} - -/* @extend this to force long lines of continuous text to wrap */ -.force-wrap { - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - white-space: pre-wrap; - word-wrap: break-word; -} - diff --git a/sass/base/_utilities.scss b/sass/base/_utilities.scss deleted file mode 100644 index 2d49e659..00000000 --- a/sass/base/_utilities.scss +++ /dev/null @@ -1,28 +0,0 @@ -@mixin mask-image($img, $repeat: no-repeat){ - @include experimental(mask-image, image-url($img), -webkit, -moz, -o, -ms); - @include experimental(mask-repeat, $repeat, -webkit, -moz, -o, -ms); - width: image-width($img); - height: image-height($img); -} - -@mixin shadow-box($border: #fff .5em solid, $shadow: rgba(#000, .15) 0 1px 4px, $border-radius: .3em) { - @include border-radius($border-radius); - @include box-shadow($shadow); - @include box-sizing(border-box); - border: $border; -} - -@mixin selection($bg, $color: inherit, $text-shadow: none){ - * { - &::-moz-selection { background: $bg; color: $color; text-shadow: $text-shadow; } - &::-webkit-selection { background: $bg; color: $color; text-shadow: $text-shadow; } - &::selection { background: $bg; color: $color; text-shadow: $text-shadow; } - } -} - -@function text-color($color, $dark: dark, $light: light){ - $text-color: ( (red($color)*299) + (green($color)*587) + (blue($color)*114) ) / 1000; - $text-color: if($text-color >= 150, $dark, $light); - @return $text-color; -} - diff --git a/sass/custom/_colors.scss b/sass/custom/_colors.scss deleted file mode 100644 index 515544fe..00000000 --- a/sass/custom/_colors.scss +++ /dev/null @@ -1,43 +0,0 @@ -// Here you can easily change your sites's color scheme. -// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. -// If you need a handy color picker try http://hslpicker.com - -$header-bg: #263347; -$subtitle-color: lighten($header-bg, 58); -$nav-bg: desaturate(lighten(#8fc17a, 18), 5); -$nav-bg-front: image-url('noise.png'); -$nav-bg-back: linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)); -$sidebar-bg: desaturate(#eceff5, 8); -$sidebar-link-color: saturate(#526f9a, 10); -$sidebar-link-color-hover: darken(#7ab662, 9); -$footer-bg: #ccc !default; -$footer-bg-front: image-url('noise.png'); -$footer-bg-back: linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)); - - -/* To use the light Solarized highlighting theme uncomment the following line */ -$solarized: light; - -/* If you want to tweak the Solarized colors you can do that here */ -//$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 -//$solar-yellow: #b58900; -//$solar-orange: #cb4b16; -//$solar-red: #dc322f; -//$solar-magenta: #d33682; -//$solar-violet: #6c71c4; -//$solar-blue: #268bd2; -//$solar-cyan: #2aa198; -//$solar-green: #859900; - - -/* Non highlighted code colors */ -//$pre-bg: $base03; -//$pre-border: darken($base02, 5); -//$pre-color: $base1; diff --git a/sass/custom/_fonts.scss b/sass/custom/_fonts.scss deleted file mode 100644 index 162e3fa1..00000000 --- a/sass/custom/_fonts.scss +++ /dev/null @@ -1,10 +0,0 @@ -// Here you can easily change font faces which are used in your site. -// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. your sites's. -// If you love to use Web Fonts, you also need to add some lines to source/_includes/custom/head.html - -$sans: "Source Sans Pro", sans-serif; -$serif: "Source Sans Pro", sans-serif; -$mono: "Source Code Pro", monospace; -$heading-font-family: "Source Sans Pro", sans-serif; -$header-title-font-family: "Source Sans Pro", sans-serif; -$header-subtitle-font-family: "Source Sans Pro", sans-serif; diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss deleted file mode 100644 index 74c7de9d..00000000 --- a/sass/custom/_layout.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Here you can easily change your sites's layout. -// To give it a try, uncomment some of the lines below, make changes, rebuild your blog, and see how it works. - -//$header-font-size: 1em; -//$header-padding-top: 1.5em; -//$header-padding-bottom: 1.5em; - -//$max-width: 1350px; -//$indented-lists: true; - -// Padding used for layout margins -//$pad-min: 18px; -//$pad-narrow: 25px; -//$pad-medium: 35px; -//$pad-wide: 55px; - -// Sidebar widths used in media queries -//$sidebar-width-medium: 240px; -//$sidebar-pad-medium: 15px; -//$sidebar-pad-wide: 20px; -//$sidebar-width-wide: 300px; diff --git a/sass/custom/_styles.scss b/sass/custom/_styles.scss deleted file mode 100644 index 2f23ecfd..00000000 --- a/sass/custom/_styles.scss +++ /dev/null @@ -1,10 +0,0 @@ -// This File is imported last, and will override other styles in the cascade -// Add styles here to make changes without digging in too much -body { - font-size: 1em; -} - -article blockquote { - font-size: 1em; - color: #888888; -} diff --git a/sass/partials/_archive.scss b/sass/partials/_archive.scss deleted file mode 100644 index 9ef1e824..00000000 --- a/sass/partials/_archive.scss +++ /dev/null @@ -1,72 +0,0 @@ -#archive { - #content > div { &, > article { padding-top: 0; } } -} -#blog-archives { - article { - padding: 1em 0 1em; - position: relative; - background: $img-border bottom left repeat-x; - &:last-child { - background: none; - } - footer { padding: 0; margin: 0;} - } - h1 { color: $text-color; margin-bottom: .3em; } - h2 { display: none; } - h1 { - font-size: 1.5em; - a { - @include hover-link; - color: inherit; - &:hover { color: $link-color-hover; } - font-weight: normal; - display: inline-block; - } - } - a.category, time { - @extend .sans; - color: $text-color-light; - } - color: $text-color-light; - .entry-content { display: none; } - time { - font-size: .9em; - line-height: 1.2em; - .month, .day { display: inline-block; } - .month { text-transform: uppercase; } - } - p { margin-bottom: 1em; } - &, .entry-content { a { @include link-colors(inherit, $link-color-hover); }} - a:hover { color: $link-color-hover; } - @media only screen and (min-width: 550px) { - article { margin-left: 5em; } - h2 { - margin-bottom: .3em; - font-weight: normal; - display: inline-block; - position: relative; top: -1px; - float: left; - &:first-child { padding-top: .75em; } - } - time { - position: absolute; - text-align: right; - left: 0em; - top: 1.8em; - } - .year { display: none; } - article { - padding:{left: 4.5em; bottom: .7em;} - } - a.category { - line-height: 1.1em; - } - } -} -#content > .category { - article { - margin-left: 0; - padding-left: 6.8em; - } - .year { display: inline; } -} diff --git a/sass/partials/_blog.scss b/sass/partials/_blog.scss deleted file mode 100644 index 57fe7a8a..00000000 --- a/sass/partials/_blog.scss +++ /dev/null @@ -1,141 +0,0 @@ -article { - padding-top: 1em; - a { @extend .force-wrap; } - header { - position: relative; - padding-top: 2em; - padding-bottom: 1em; - margin-bottom: 1em; - background: $img-border bottom left repeat-x; - h1 { - margin: 0; - a { text-decoration: none; - &:hover { text-decoration: underline; } } - } - p { - font-size: .9em; - color: $text-color-light; - margin: 0; - &.meta { - @extend .sans; - text-transform: uppercase; - position: absolute; top: 0; - } - } - @media only screen and (min-width: 768px) { - margin-bottom: 1.5em; - padding-bottom: 1em; - background: $img-border bottom left repeat-x; - } - } - h2 { - padding-top: 0.8em; - background: $img-border top left repeat-x; - } - .entry-content & h2:first-child, header + h2 { padding-top: 0; } - h2:first-child, header + h2 { background: none; } - .feature { - padding-top: .5em; - margin-bottom: 1em; - padding-bottom: 1em; - background: $img-border bottom left repeat-x; - font-size: 2.0em; font-style: italic; - line-height: 1.3em; - } - img, video, .flash-video { - @extend .flex-content; - @extend .basic-alignment; - @include shadow-box; - } - video, .flash-video { margin: 0 auto 1.5em; } - video { display: block; width: 100%; } - .flash-video { - > div { - position: relative; - display: block; - padding-bottom: 56.25%; - padding-top: 1px; - height: 0; - overflow: hidden; - iframe, object, embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - } - } - > footer { - padding-bottom: 2.5em; - margin-top: 2em; - @extend .sans; - p.meta { - margin-bottom: .8em; - font-size: .85em; - clear: both; - overflow: hidden; - } - .byline + time:before, time +time:before, .comments:before, .byline ~ .categories:before { - @extend .separator; - } - } - -} -article + article { - .blog-index & { - background: $img-border top left repeat-x; - } -} -#content .blog-index { - padding: { top: 0; bottom: 0; } - article { padding-top: 2em; } - article header { background: none; padding-bottom: 0; } - article h1 { - font-size: 2.2em; - a { color: inherit; &:hover { color: $link-color-hover; } } - } - a[rel=full-article] { - background: darken($main-bg, 5); - display: inline-block; - padding: .4em .8em; - margin-right: .5em; - text-decoration: none; - color: mix($text-color, $text-color-light); - @extend .serif; - @include transition(background-color .5s); - &:hover { - background: $link-color-hover; - text-shadow: none; - color: $main-bg; - } - } - footer { - @extend .sans; - margin-top: 1em; - } -} - -.separator { - content: "\2022 "; - padding: 0 .4em 0 .2em; - display: inline-block; -} - -#content div.pagination { - text-align: center; - font-size: .95em; - position: relative; - background: $img-border top left repeat-x; - padding: {top: 1.5em; bottom: 1.5em;} - a { - text-decoration: none; - color: $text-color-light; - &.prev { position: absolute; left: 0; } - &.next { position: absolute; right: 0; } - &:hover { color: $link-color-hover; } - &[href*=archive] { - &:before, &:after { content: '\2014'; padding: 0 .3em; } - } - } -} diff --git a/sass/partials/_footer.scss b/sass/partials/_footer.scss deleted file mode 100644 index 37411225..00000000 --- a/sass/partials/_footer.scss +++ /dev/null @@ -1,19 +0,0 @@ -body > footer { - @extend .sans; - font-size: .8em; - color: $footer-color; - text-shadow: lighten($footer-bg, 5) 0 1px; - background-color: $footer-bg; - @include background($footer-bg-front, $footer-bg-back); - border-top: 1px solid $footer-border-top; - position: relative; - padding-top: 1em; - padding-bottom: 1em; - margin-bottom: 3em; - @include border-bottom-radius(.4em); - z-index: 1; - a { - @include link-colors($footer-link-color, $footer-link-color-hover, $visited: $footer-link-color); - } - p:last-child { margin-bottom: 0; } -} diff --git a/sass/partials/_header.scss b/sass/partials/_header.scss deleted file mode 100644 index e3c6c020..00000000 --- a/sass/partials/_header.scss +++ /dev/null @@ -1,18 +0,0 @@ -body > header { - background: $header-bg; - h1 { - display: inline-block; - margin: 0; - a, a:visited, a:hover { - color: $title_color; - text-decoration: none; - } - } - h2 { - margin: .2em 0 0; - @extend .sans; - font-size: 1em; - color: $subtitle-color; - font-weight: normal; - } -} diff --git a/sass/partials/_navigation.scss b/sass/partials/_navigation.scss deleted file mode 100644 index 30fa011d..00000000 --- a/sass/partials/_navigation.scss +++ /dev/null @@ -1,137 +0,0 @@ -body > nav { - position: relative; - background-color: $nav-bg; - @include background($nav-bg-front, $nav-bg-back); - border: { - top: 1px solid $nav-border-top; - bottom: 1px solid $nav-border-bottom; } - padding-top: .35em; - padding-bottom: .35em; - form { - @include background-clip(padding-box); - margin: 0; padding: 0; - .search { - padding: .3em .5em 0; - font-size: .85em; - font-family: $sans; - line-height: 1.1em; - width: 95%; - @include border-radius(.5em); - @include background-clip(padding-box); - @include box-shadow(lighten($nav-bg, 2) 0 1px); - background-color: lighten($nav-bg, 15); - border: 1px solid $nav-border; - color: #888; - &:focus { - color: #444; - border-color: #80b1df; - @include box-shadow(#80b1df 0 0 4px, #80b1df 0 0 3px inset); - background-color: #fff; - outline: none; - } - } - } - fieldset[role=search]{ float: right; width: 48%; } - fieldset.mobile-nav{ float: left; width: 48%; - select{ width: 100%; font-size: .8em; border: 1px solid #888;} - } - ul { display: none; } - @media only screen and (min-width: 550px) { - font-size: .9em; - ul { - @include horizontal-list(0); - float: left; - display: block; - padding-top: .15em; - } - ul.subscription { - margin-left: .8em; - float: right; - li:last-child a { padding-right: 0; } - } - ul li { - margin: 0; - } - a { - @include link-colors($nav-color, $nav-color-hover, $visited: $nav-color); - font-family: $sans; - text-shadow: lighten($nav-bg, 12) 0 1px; - float: left; - text-decoration: none; - font-size: 1.1em; - padding: .1em 0; - line-height: 1.5em; - } - li + li { - border-left: 1px solid $nav-border-left; - margin-left: .8em; - a { - padding-left: .8em; - border-left: 1px solid $nav-border-right; - } - } - form { - float: right; - text-align: left; - padding-left: .8em; - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium + 20px; - .search { - width: 93%; - font-size: .95em; - line-height: 1.2em; - } - } - ul[data-subscription$=email] + form { - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 58px; - .search { width: 91%; } - } - fieldset.mobile-nav { display: none; } - fieldset[role=search]{ width: 99%; } - } - @media only screen and (min-width: 992px) { - form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 + 10px; - } - ul[data-subscription$=email] + form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 58px; - } - } -} -.no-placeholder { - body > nav .search { - background: lighten($nav-bg, 15) image-url('search.png') .3em .25em no-repeat; - text-indent: 1.3em; - } -} -@mixin mask-subscription-nav($feed: 'rss.png'){ - position: relative; top: 0px; - text-indent: -999999em; - background-color: $nav-border-right; - border: 0; - padding: 0; - &,&:after { @include mask-image($feed); } - &:after { - content: ""; - position: absolute; top: -1px; left: 0; - background-color: lighten($nav-color, 25); - } - &:hover:after { background-color: lighten($nav-color, 20); } -} -.maskImage { - body > nav { - @media only screen and (min-width: 550px) { - ul[data-subscription$=email] + form { - width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 32px; - } - } - @media only screen and (min-width: 992px) { - ul[data-subscription$=email] + form { - width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 32px; - } - } - } - ul.subscription { position: relative; top: .2em; li, a { border: 0; padding: 0; }} - a[rel=subscribe-rss]{ @include mask-subscription-nav('rss.png'); } - a[rel=subscribe-email]{ @include mask-subscription-nav('email.png'); } -} - diff --git a/sass/partials/_sharing.scss b/sass/partials/_sharing.scss deleted file mode 100644 index 3eecb488..00000000 --- a/sass/partials/_sharing.scss +++ /dev/null @@ -1,8 +0,0 @@ -.sharing { - p.meta + & { - padding: { top: 1em; left: 0; } - background: $img-border top left repeat-x; - } -} - -#fb-root { display: none; } diff --git a/sass/partials/_sidebar.scss b/sass/partials/_sidebar.scss deleted file mode 100644 index cd8c1ca2..00000000 --- a/sass/partials/_sidebar.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import "sidebar/base"; -@import "sidebar/googleplus"; -@import "sidebar/pinboard"; -@import "sidebar/delicious"; diff --git a/sass/partials/_syntax.scss b/sass/partials/_syntax.scss deleted file mode 100644 index 5465286f..00000000 --- a/sass/partials/_syntax.scss +++ /dev/null @@ -1,261 +0,0 @@ -.highlight, html .gist .gist-file .gist-syntax .gist-highlight { - table td.code { width: 100%; } - border: 1px solid $pre-border !important; -} -.highlight .line-numbers, html .gist .gist-file .gist-syntax .highlight .line_numbers { - text-align: right; - font-size: 13px; - line-height: 1.45em; - @if $solarized == light { - background: lighten($base03, 1) $noise-bg !important; - border-right: 1px solid darken($base02, 2) !important; - @include box-shadow(lighten($base03, 2) -1px 0 inset); - text-shadow: lighten($base02, 2) 0 -1px; - } @else { - background: $base02 $noise-bg !important; - border-right: 1px solid darken($base03, 2) !important; - @include box-shadow(lighten($base02, 2) -1px 0 inset); - text-shadow: darken($base02, 10) 0 -1px; - } - span { color: $base01 !important; } - padding: .8em !important; - @include border-radius(0); -} - -figure.code, .gist-file, pre { - @include box-shadow(rgba(#000, .06) 0 0 10px); - .highlight pre { @include box-shadow(none); } -} - -.gist .highlight, figure.code .highlight { - @include selection(adjust-color($base03, $lightness: 23%, $saturation: -65%), $text-shadow: $base03 0 1px); -} -html .gist .gist-file { - margin-bottom: 1.8em; - position: relative; - border: none; - padding-top: image-height("code_bg.png") !important; - .highlight { - margin-bottom: 0; - } - .gist-syntax { - border-bottom: 0 !important; - background: none !important; - .gist-highlight { - background: $base03 !important; - } - .highlight pre { - @extend .pre-code; - padding: 0; - } - } - .gist-meta { - padding: .6em 0.8em; - border: 1px solid lighten($base02, 2) !important; - color: $base01; - font-size: .7em !important; - @if $solarized == light { - background: lighten($base03, 2) $noise-bg; - border: 1px solid $pre-border !important; - border-top: 1px solid lighten($base03, 2) !important; - } @else { - background: $base02 $noise-bg; - } - @extend .sans; - line-height: 1.5em; - a { - color: mix($base1, $base01) !important; - @include hover-link; - &:hover { color: $base1 !important; } - } - a[href*='#file'] { - position: absolute; top: 0; left:0; right:-10px; - color: #474747 !important; - @extend .code-title; - &:hover { color: $link-color !important; } - } - a[href*=raw]{ - @extend .download-source; - top: .4em; - } - } -} -pre { - background: $pre-bg $noise-bg; - @include border-radius(.4em); - @extend .mono; - border: 1px solid $pre-border; - line-height: 1.45em; - font-size: 13px; - margin-bottom: 2.1em; - padding: .8em 1em; - color: $pre-color; - overflow: auto; -} -h3.filename { - @extend .code-title; - + pre { @include border-top-radius(0px); } -} - -p, li { - code { - @extend .mono; - display: inline-block; - white-space: no-wrap; - background: #fff; - font-size: .8em; - line-height: 1.5em; - color: #555; - border: 1px solid #ddd; - @include border-radius(.4em); - padding: 0 .3em; - margin: -1px 0; - } - pre code { font-size: 1em !important; background: none; border: none; } -} - -.pre-code { - font-family: $mono !important; - overflow: scroll; - overflow-y: hidden; - display: block; - padding: .8em; - overflow-x: auto; - line-height: 1.45em; - background: $base03 $noise-bg !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: $solar-red !important; background: none !important; } /* Error */ - .k { color: $solar-orange !important; } /* Keyword */ - .o { color: $base1 !important; font-weight: bold !important; } /* Operator */ - .p { color: $base1 !important; } /* Operator */ - .ow { color: $solar-cyan !important; font-weight: bold !important; } /* Operator.Word */ - .gd { color: $base1 !important; background-color: mix($solar-red, $base03, 25%) !important; display: inline-block; } /* Generic.Deleted */ - .gd .x { color: $base1 !important; background-color: mix($solar-red, $base03, 35%) !important; display: inline-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($solar-green, $base03, 20%) !important; display: inline-block; } /* Generic.Inserted */ - .gi .x { color: $base1 !important; background-color: mix($solar-green, $base03, 40%) !important; display: inline-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: $solar-violet !important; } /* Generic.Subheading */ - //.gt { color: #aa0000 } /* Generic.Traceback */ - .kc { color: $solar-green !important; font-weight: bold !important; } /* Keyword.Constant */ - .kd { color: $solar-blue !important; } /* Keyword.Declaration */ - .kp { color: $solar-orange !important; font-weight: bold !important; } /* Keyword.Pseudo */ - .kr { color: $solar-magenta !important; font-weight: bold !important; } /* Keyword.Reserved */ - .kt { color: $solar-cyan !important; } /* Keyword.Type */ - .n { color: $solar-blue !important; } - .na { color: $solar-blue !important; } /* Name.Attribute */ - .nb { color: $solar-green !important; } /* Name.Builtin */ - .nc { color: $solar-magenta !important;} /* Name.Class */ - .no { color: $solar-yellow !important; } /* Name.Constant */ - //.ni { color: #800080 } /* Name.Entity */ - .nl { color: $solar-green !important; } - .ne { color: $solar-blue !important; font-weight: bold !important; } /* Name.Exception */ - .nf { color: $solar-blue !important; font-weight: bold !important; } /* Name.Function */ - .nn { color: $solar-yellow !important; } /* Name.Namespace */ - .nt { color: $solar-blue !important; font-weight: bold !important; } /* Name.Tag */ - .nx { color: $solar-yellow !Important; } - //.bp { color: #999999 } /* Name.Builtin.Pseudo */ - //.vc { color: #008080 } /* Name.Variable.Class */ - .vg { color: $solar-blue !important; } /* Name.Variable.Global */ - .vi { color: $solar-blue !important; } /* Name.Variable.Instance */ - .nv { color: $solar-blue !important; } /* Name.Variable */ - //.w { color: #bbbbbb } /* Text.Whitespace */ - .mf { color: $solar-cyan !important; } /* Literal.Number.Float */ - .m { color: $solar-cyan !important; } /* Literal.Number */ - .mh { color: $solar-cyan !important; } /* Literal.Number.Hex */ - .mi { color: $solar-cyan !important; } /* Literal.Number.Integer */ - //.mo { color: #009999 } /* Literal.Number.Oct */ - .s { color: $solar-cyan !important; } /* Literal.String */ - //.sb { color: #d14 } /* Literal.String.Backtick */ - //.sc { color: #d14 } /* Literal.String.Char */ - .sd { color: $solar-cyan !important; } /* Literal.String.Doc */ - .s2 { color: $solar-cyan !important; } /* Literal.String.Double */ - .se { color: $solar-red !important; } /* Literal.String.Escape */ - //.sh { color: #d14 } /* Literal.String.Heredoc */ - .si { color: $solar-blue !important; } /* Literal.String.Interpol */ - //.sx { color: #d14 } /* Literal.String.Other */ - .sr { color: $solar-cyan !important; } /* Literal.String.Regex */ - .s1 { color: $solar-cyan !important; } /* Literal.String.Single */ - //.ss { color: #990073 } /* Literal.String.Symbol */ - //.il { color: #009999 } /* Literal.Number.Integer.Long */ - div { .gd, .gd .x, .gi, .gi .x { display: inline-block; width: 100%; }} -} - -.highlight, .gist-highlight { - pre { background: none; @include border-radius(0px); border: none; padding: 0; margin-bottom: 0; } - margin-bottom: 1.8em; - background: $base03; - overflow-y: hidden; - overflow-x: auto; -} - -$solar-scroll-bg: rgba(#fff, .15); -$solar-scroll-thumb: rgba(#fff, .2); -@if $solarized == light { - $solar-scroll-bg: rgba(#000, .15); - $solar-scroll-thumb: rgba(#000, .15); -} - -pre, .highlight, .gist-highlight { - &::-webkit-scrollbar { height: .5em; background: $solar-scroll-bg; } - &::-webkit-scrollbar-thumb:horizontal { background: $solar-scroll-thumb; -webkit-border-radius: 4px; border-radius: 4px } -} - -.highlight code { - @extend .pre-code; background: #000; -} -figure.code { - background: none; - padding: 0; - border: 0; - margin-bottom: 1.5em; - pre { margin-bottom: 0; } - figcaption { - position: relative; - @extend .code-title; - a { @extend .download-source; } - } - .highlight { - margin-bottom: 0; - } -} - -.code-title { - text-align: center; - font-size: 13px; - line-height: 2em; - text-shadow: #cbcccc 0 1px 0; - color: #474747; - font-weight: 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; -} - -.download-source { - position: absolute; right: .8em; - @include hover-link; - color: #666 !important; - z-index: 1; - font-size: 13px; - text-shadow: #cbcccc 0 1px 0; - padding-left: 3em; -} diff --git a/sass/partials/sidebar/_base.scss b/sass/partials/sidebar/_base.scss deleted file mode 100644 index 5441304e..00000000 --- a/sass/partials/sidebar/_base.scss +++ /dev/null @@ -1,106 +0,0 @@ -.side-shadow-border { - @include box-shadow(lighten($sidebar-bg, 5) 0 1px); -} -aside.sidebar { - overflow: hidden; - color: $sidebar-color; - text-shadow: lighten($sidebar-bg, 8) 0 1px; - a { @extend .force-wrap; } - section { - @extend .sans; - font-size: .8em; - line-height: 1.4em; - margin-bottom: 1.5em; - h1 { - margin: 1.5em 0 0; - padding-bottom: .2em; - border-bottom: 1px solid $sidebar-border; - @extend .side-shadow-border; - + p { - padding-top: .4em; - } - } - } - img { - @extend .flex-content; - @extend .basic-alignment; - @include shadow-box($border: #fff .3em solid); - } - ul { - margin-bottom: 0.5em; - margin-left: 0; - } - li { - list-style: none; - padding: .5em 0; - margin: 0; - border-bottom: 1px solid $sidebar-border; - @extend .side-shadow-border; - p:last-child { - margin-bottom: 0; - } - } - a { - color: inherit; - @include transition(color .5s); - } - &:hover a { - color: $sidebar-link-color; - &:hover { color: $sidebar-link-color-hover; } - } -} -.aside-alt-link { - color: $sidebar-link-color-subdued; - &:hover { - color: $sidebar-link-color-subdued-hover; - } -} - -@media only screen and (min-width: 768px) { - .toggle-sidebar { - outline: none; - position: absolute; right: -10px; top: 0; bottom: 0; - display: inline-block; - text-decoration: none; - color: mix($text-color-light, $sidebar-bg); - width: 9px; - cursor: pointer; - &:hover { - background: mix($sidebar-border, $sidebar-bg); - @include background(linear-gradient(left, rgba($sidebar-border, .5), rgba($sidebar-border, 0))); - } - &:after { - position: absolute; right: -11px; top: 0; - width: 20px; - font-size: 1.2em; - line-height: 1.1em; - padding-bottom: .15em; - @include border-bottom-right-radius(.3em); - text-align: center; - background: $main-bg $noise-bg; - border-bottom: 1px solid $sidebar-border; - border-right: 1px solid $sidebar-border; - content: "\00BB"; - text-indent: -1px; - } - .collapse-sidebar & { - text-indent: 0px; - right: -20px; - width: 19px; - &:hover { - background: mix($sidebar-border, $sidebar-bg); - } - &:after { - border-left: 1px solid $sidebar-border; - text-shadow: #fff 0 1px; - content: "\00AB"; - left: 0px; right: 0; - text-align: center; - text-indent: 0; - border: 0; - border-right-width: 0; - background: none; - } - } - } -} diff --git a/sass/partials/sidebar/_delicious.scss b/sass/partials/sidebar/_delicious.scss deleted file mode 100644 index e962702e..00000000 --- a/sass/partials/sidebar/_delicious.scss +++ /dev/null @@ -1,4 +0,0 @@ -.delicious-posts { - a.delicious-link { margin-bottom: .5em; display: block; } - p { font-size: 1em; } -} diff --git a/sass/partials/sidebar/_googleplus.scss b/sass/partials/sidebar/_googleplus.scss deleted file mode 100644 index c2a693ee..00000000 --- a/sass/partials/sidebar/_googleplus.scss +++ /dev/null @@ -1,26 +0,0 @@ -.googleplus { - h1 { - -moz-box-shadow: none !important; - -webkit-box-shadow: none !important; - -o-box-shadow: none !important; - box-shadow: none !important; - border-bottom: 0px none !important; - } - a { - text-decoration: none; - white-space: normal !important; - line-height: 32px; - - img { - float: left; - margin-right: 0.5em; - border: 0 none; - } - } -} - -.googleplus-hidden { - position: absolute; - top: -1000em; - left: -1000em; -} diff --git a/sass/partials/sidebar/_pinboard.scss b/sass/partials/sidebar/_pinboard.scss deleted file mode 100644 index 9f9ab461..00000000 --- a/sass/partials/sidebar/_pinboard.scss +++ /dev/null @@ -1,12 +0,0 @@ -#pinboard_linkroll { - .pin-title, .pin-description { - display: block; - margin-bottom: .5em; - } - .pin-tag { - @include hover-link; - @extend .aside-alt-link; - &:after { content: ','; } - &:last-child:after { content: ''; } - } -} diff --git a/sass/plugins/_plugins.scss b/sass/plugins/_plugins.scss deleted file mode 100644 index 3b4ba0b8..00000000 --- a/sass/plugins/_plugins.scss +++ /dev/null @@ -1,6 +0,0 @@ -/* - Add plugin stylesheets to this directory and they will be automatically - Imported. Load order is alphabetical and styles can be overriden in - custom/_style.scss which is loaded after all plugin stylesheets. -*/ - diff --git a/sass/screen.scss b/sass/screen.scss deleted file mode 100644 index 75eac0a2..00000000 --- a/sass/screen.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "compass"; -@include global-reset; - -@import "custom/colors"; -@import "custom/fonts"; -@import "custom/layout"; -@import "base"; -@import "partials"; -@import "plugins/**/*"; -@import "custom/styles"; diff --git a/source/_includes/after_footer.html b/source/_includes/after_footer.html deleted file mode 100644 index 08b8e340..00000000 --- a/source/_includes/after_footer.html +++ /dev/null @@ -1,5 +0,0 @@ -{% include disqus.html %} -{% include facebook_like.html %} -{% include google_plus_one.html %} -{% include twitter_sharing.html %} -{% include custom/after_footer.html %} diff --git a/source/_includes/archive_post.html b/source/_includes/archive_post.html deleted file mode 100644 index 210dbbbe..00000000 --- a/source/_includes/archive_post.html +++ /dev/null @@ -1,8 +0,0 @@ -{% capture category %}{{ post.categories | size }}{% endcapture %} -<h1><a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1> -<time datetime="{{ post.date | datetime | date_to_xmlschema }}" pubdate>{{ post.date | date: "<span class='month'>%b</span> <span class='day'>%d</span> <span class='year'>%Y</span>"}}</time> -{% if category != '0' %} -<footer> - <span class="categories">posted in {{ post.categories | category_links }}</span> -</footer> -{% endif %} diff --git a/source/_includes/article.html b/source/_includes/article.html deleted file mode 100644 index 84279977..00000000 --- a/source/_includes/article.html +++ /dev/null @@ -1,29 +0,0 @@ -{% unless page.no_header %} - <header> - {% if index %} - <h1 class="entry-title"><a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1> - {% else %} - <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1> - {% endif %} - {% unless page.meta == false %} - <p class="meta"> - {% include post/date.html %}{{ time }} - {% if site.disqus_short_name and page.comments != false and post.comments != false and site.disqus_show_comment_count == true %} - | <a href="{% if index %}{{ root_url }}{{ post.url }}{% endif %}#disqus_thread" - data-disqus-identifier="{% if post.meta.disqus_id %}{{ post.meta.disqus_id }}{% else %}{{ site.url }}{{ post.url }}{% endif %}">Comments</a> - {% endif %} - </p> - {% endunless %} - </header> -{% endunless %} -{% if index %} - <div class="entry-content">{{ content | excerpt }}</div> - {% capture excerpted %}{{ content | has_excerpt }}{% endcapture %} - {% if excerpted == 'true' %} - <footer> - <a rel="full-article" href="{{ root_url }}{{ post.url }}">{{ site.excerpt_link }}</a> - </footer> - {% endif %} -{% else %} -<div class="entry-content">{{ content }}</div> -{% endif %} diff --git a/source/_includes/asides/delicious.html b/source/_includes/asides/delicious.html deleted file mode 100644 index 115cdcbc..00000000 --- a/source/_includes/asides/delicious.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if site.delicious_user %} -<section> - <h1>On Delicious</h1> - <div id="delicious"></div> - <script type="text/javascript" src="http://feeds.delicious.com/v2/json/{{ site.delicious_user }}?count={{ site.delicious_count }}&sort=date&callback=renderDeliciousLinks"></script> - <p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks »</a></p> -</section> -{% endif %}
\ No newline at end of file diff --git a/source/_includes/asides/github.html b/source/_includes/asides/github.html deleted file mode 100644 index b0bf9596..00000000 --- a/source/_includes/asides/github.html +++ /dev/null @@ -1,30 +0,0 @@ -{% if site.github_user %} -<section> - <h1>GitHub Repos</h1> - <ul id="gh_repos"> - <li class="loading">Status updating...</li> - </ul> - {% if site.github_show_profile_link %} - <a href="https://github.com/{{site.github_user}}">@{{site.github_user}}</a> on GitHub - {% endif %} - <script type="text/javascript"> - $(document).ready(function(){ - if (!window.jXHR){ - var jxhr = document.createElement('script'); - jxhr.type = 'text/javascript'; - jxhr.src = '{{ root_url}}/javascripts/libs/jXHR.js'; - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(jxhr, s); - } - - github.showRepos({ - user: '{{site.github_user}}', - count: {{site.github_repo_count}}, - skip_forks: {{site.github_skip_forks}}, - target: '#gh_repos' - }); - }); - </script> - <script src="{{ root_url }}/javascripts/github.js" type="text/javascript"> </script> -</section> -{% endif %} diff --git a/source/_includes/asides/googleplus.html b/source/_includes/asides/googleplus.html deleted file mode 100644 index 00a0aa85..00000000 --- a/source/_includes/asides/googleplus.html +++ /dev/null @@ -1,11 +0,0 @@ -{% if site.googleplus_user %} -<section class="googleplus{% if site.googleplus_hidden %} googleplus-hidden{% endif %}"> - <h1> - <a href="https://plus.google.com/{{ site.googleplus_user }}?rel=author"> - <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32"> - Google+ - </a> - </h1> -</section> -{% endif %} - diff --git a/source/_includes/asides/pinboard.html b/source/_includes/asides/pinboard.html deleted file mode 100644 index c89c3e7b..00000000 --- a/source/_includes/asides/pinboard.html +++ /dev/null @@ -1,19 +0,0 @@ -{% if site.pinboard_user %} -<section> - <h1>My Pinboard</h1> - <ul id="pinboard_linkroll">Fetching linkroll...</ul> - <p><a href="http://pinboard.in/u:{{ site.pinboard_user }}">My Pinboard Bookmarks »</a></p> -</section> -<script type="text/javascript"> - var linkroll = 'pinboard_linkroll'; //id target for pinboard list - var pinboard_user = "{{ site.pinboard_user }}"; //id target for pinboard list - var pinboard_count = {{ site.pinboard_count }}; //id target for pinboard list - (function(){ - var pinboardInit = document.createElement('script'); - pinboardInit.type = 'text/javascript'; - pinboardInit.async = true; - pinboardInit.src = '{{ root_url }}/javascripts/pinboard.js'; - document.getElementsByTagName('head')[0].appendChild(pinboardInit); - })(); -</script> -{% endif %} diff --git a/source/_includes/asides/recent_posts.html b/source/_includes/asides/recent_posts.html deleted file mode 100644 index 4b108474..00000000 --- a/source/_includes/asides/recent_posts.html +++ /dev/null @@ -1,10 +0,0 @@ -<section> - <h1>Recent Posts</h1> - <ul id="recent_posts"> - {% for post in site.posts limit: site.recent_posts %} - <li class="post"> - <a href="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a> - </li> - {% endfor %} - </ul> -</section> diff --git a/source/_includes/custom/after_footer.html b/source/_includes/custom/after_footer.html deleted file mode 100644 index bce25dd9..00000000 --- a/source/_includes/custom/after_footer.html +++ /dev/null @@ -1,3 +0,0 @@ -{% comment %} - Add content to be output at the bottom of each page. (You might use this for analytics scripts, for example) -{% endcomment %} diff --git a/source/_includes/custom/asides/about.html b/source/_includes/custom/asides/about.html deleted file mode 100644 index 59d309e4..00000000 --- a/source/_includes/custom/asides/about.html +++ /dev/null @@ -1,4 +0,0 @@ -<section> - <h1>About Me</h1> - <p>A little something about me.</p> -</section> diff --git a/source/_includes/custom/category_feed.xml b/source/_includes/custom/category_feed.xml deleted file mode 100644 index 8c93ed39..00000000 --- a/source/_includes/custom/category_feed.xml +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: null ---- -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> - - <title><![CDATA[{% if site.titlecase %}{{ page.title | titlecase | cdata_escape }}{% else %}{{ page.title | cdata_escape }}{% endif %} | {{ site.title | cdata_escape }}]]></title> - <link href="{{ site.url }}/{{ page.feed_url }}" rel="self"/> - <link href="{{ site.url }}/"/> - <updated>{{ site.time | date_to_xmlschema }}</updated> - <id>{{ site.url }}/</id> - <author> - <name><![CDATA[{{ site.author | strip_html }}]]></name> - {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %} - </author> - <generator uri="http://octopress.org/">Octopress</generator> - - {% for post in site.categories[page.category] limit: 5 %} - <entry> - <title type="html"><![CDATA[{% if site.titlecase %}{{ post.title | titlecase | cdata_escape }}{% else %}{{ post.title | cdata_escape }}{% endif %}]]></title> - <link href="{{ site.url }}{{ post.url }}"/> - <updated>{{ post.date | date_to_xmlschema }}</updated> - <id>{{ site.url }}{{ post.id }}</id> - <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | markdownify | cdata_escape }}]]></content> - </entry> - {% endfor %} -</feed> diff --git a/source/_includes/custom/footer.html b/source/_includes/custom/footer.html deleted file mode 100644 index e12f0678..00000000 --- a/source/_includes/custom/footer.html +++ /dev/null @@ -1,4 +0,0 @@ -<p> - Copyright © {{ site.time | date: "%Y" }} - {{ site.author }} - - <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span> -</p> diff --git a/source/_includes/custom/head.html b/source/_includes/custom/head.html deleted file mode 100644 index 824a41e7..00000000 --- a/source/_includes/custom/head.html +++ /dev/null @@ -1,3 +0,0 @@ -<!--Fonts from Google"s Web font directory at http://google.com/webfonts --> -<link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> -<link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> diff --git a/source/_includes/custom/header.html b/source/_includes/custom/header.html deleted file mode 100644 index 35f9c059..00000000 --- a/source/_includes/custom/header.html +++ /dev/null @@ -1,6 +0,0 @@ -<hgroup> - <h1><a href="{{ root_url }}/">{{ site.title }}</a></h1> - {% if site.subtitle %} - <h2>{{ site.subtitle }}</h2> - {% endif %} -</hgroup> diff --git a/source/_includes/custom/navigation.html b/source/_includes/custom/navigation.html deleted file mode 100644 index d6bd4246..00000000 --- a/source/_includes/custom/navigation.html +++ /dev/null @@ -1,4 +0,0 @@ -<ul class="main-navigation"> - <li><a href="{{ root_url }}/">Blog</a></li> - <li><a href="{{ root_url }}/blog/archives">Archives</a></li> -</ul> diff --git a/source/_includes/disqus.html b/source/_includes/disqus.html deleted file mode 100644 index 49c6a29c..00000000 --- a/source/_includes/disqus.html +++ /dev/null @@ -1,21 +0,0 @@ -{% comment %} Load script if disquss comments are enabled and `page.comments` is either empty (index) or set to true {% endcomment %} -{% if site.disqus_short_name and page.comments != false %} -<script type="text/javascript"> - var disqus_shortname = '{{ site.disqus_short_name }}'; - {% if page.comments == true %} - {% comment %} `page.comments` can be only be set to true on pages/posts, so we embed the comments here. {% endcomment %} - // var disqus_developer = 1; - var disqus_identifier = '{{ site.url }}{{ page.url }}'; - var disqus_url = '{{ site.url }}{{ page.url }}'; - var disqus_script = 'embed.js'; - {% else %} - {% comment %} As `page.comments` is empty, we must be on the index page. {% endcomment %} - var disqus_script = 'count.js'; - {% endif %} - (function () { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - }()); -</script> -{% endif %} diff --git a/source/_includes/facebook_like.html b/source/_includes/facebook_like.html deleted file mode 100644 index d263e6d2..00000000 --- a/source/_includes/facebook_like.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.facebook_like %} -<div id="fb-root"></div> -<script>(function(d, s, id) { - var js, fjs = d.getElementsByTagName(s)[0]; - if (d.getElementById(id)) {return;} - js = d.createElement(s); js.id = id; js.async = true; - js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1"; - fjs.parentNode.insertBefore(js, fjs); -}(document, 'script', 'facebook-jssdk'));</script> -{% endif %} diff --git a/source/_includes/footer.html b/source/_includes/footer.html deleted file mode 100644 index 3a8c7687..00000000 --- a/source/_includes/footer.html +++ /dev/null @@ -1 +0,0 @@ -{% include custom/footer.html %} diff --git a/source/_includes/google_analytics.html b/source/_includes/google_analytics.html deleted file mode 100644 index 4d4d5969..00000000 --- a/source/_includes/google_analytics.html +++ /dev/null @@ -1,13 +0,0 @@ -{% if site.google_analytics_tracking_id %} - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', '{{ site.google_analytics_tracking_id }}']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> -{% endif %} diff --git a/source/_includes/google_plus_one.html b/source/_includes/google_plus_one.html deleted file mode 100644 index b69ddaeb..00000000 --- a/source/_includes/google_plus_one.html +++ /dev/null @@ -1,9 +0,0 @@ -{% if site.google_plus_one %} - <script type="text/javascript"> - (function() { - var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; - script.src = 'https://apis.google.com/js/plusone.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s); - })(); - </script> -{% endif %} diff --git a/source/_includes/head.html b/source/_includes/head.html deleted file mode 100644 index 6b5412ca..00000000 --- a/source/_includes/head.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE html> -<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]--> -<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]--> -<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]--> -<head> - <meta charset="utf-8"> - <title>{% if page.title %}{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %} - {% endif %}{{ site.title }}</title> - <meta name="author" content="{{ site.author }}"> - - {% capture description %}{% if page.description %}{{ page.description }}{% else %}{{ content | raw_content }}{% endif %}{% endcapture %} - <meta name="description" content="{{ description | strip_html | condense_spaces | truncate:150 }}"> - {% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}">{% endif %} - - <!-- http://t.co/dKP3o1e --> - <meta name="HandheldFriendly" content="True"> - <meta name="MobileOptimized" content="320"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} - <link rel="canonical" href="{{ canonical }}"> - <link href="{{ root_url }}/favicon.png" rel="icon"> - <link href="{{ root_url }}/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css"> - <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml"> - <script src="{{ root_url }}/javascripts/modernizr-2.0.js"></script> - <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> - <script>!window.jQuery && document.write(unescape('%3Cscript src="./javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script> - <script src="{{ root_url }}/javascripts/octopress.js" type="text/javascript"></script> - {% include custom/head.html %} - {% include google_analytics.html %} -</head> diff --git a/source/_includes/header.html b/source/_includes/header.html deleted file mode 100644 index 524de651..00000000 --- a/source/_includes/header.html +++ /dev/null @@ -1 +0,0 @@ -{% include custom/header.html %} diff --git a/source/_includes/navigation.html b/source/_includes/navigation.html deleted file mode 100644 index 2f0e6280..00000000 --- a/source/_includes/navigation.html +++ /dev/null @@ -1,15 +0,0 @@ -<ul class="subscription" data-subscription="rss{% if site.subscribe_email %} email{% endif %}"> - <li><a href="{{ site.subscribe_rss }}" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li> - {% if site.subscribe_email %} - <li><a href="{{ site.subscribe_email }}" rel="subscribe-email" title="subscribe via email">Email</a></li> - {% endif %} -</ul> - {% if site.simple_search %} -<form action="{{ site.simple_search }}" method="get"> - <fieldset role="search"> - <input type="hidden" name="q" value="site:{{ site.url | shorthand_url }}" /> - <input class="search" type="text" name="q" results="0" placeholder="Search"/> - </fieldset> -</form> - {% endif %} -{% include custom/navigation.html %} diff --git a/source/_includes/post/author.html b/source/_includes/post/author.html deleted file mode 100644 index 83dd6a89..00000000 --- a/source/_includes/post/author.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if post.author %} - {% assign author = post.author %} -{% elsif page.author %} - {% assign author = page.author %} -{% else %} - {% assign author = site.author %} -{% endif %} -{% if author %}<span class="byline author vcard">Posted by <span class="fn">{{ author }}</span></span>{% endif %} diff --git a/source/_includes/post/categories.html b/source/_includes/post/categories.html deleted file mode 100644 index 4a98b29d..00000000 --- a/source/_includes/post/categories.html +++ /dev/null @@ -1,10 +0,0 @@ -{% capture category %}{% if post %}{{ post.categories | category_links | size }}{% else %}{{ page.categories | category_links | size }}{% endif %}{% endcapture %} -{% unless category == '0' %} -<span class="categories"> - {% if post %} - {{ post.categories | category_links }} - {% else %} - {{ page.categories | category_links }} - {% endif %} -</span> -{% endunless %} diff --git a/source/_includes/post/date.html b/source/_includes/post/date.html deleted file mode 100644 index a86953c2..00000000 --- a/source/_includes/post/date.html +++ /dev/null @@ -1,5 +0,0 @@ -{% if page.date %}{% capture time %}{{ page.date_time_html }}{% endcapture %}{% endif %} -{% if post.date %}{% capture time %}{{ post.date_time_html }}{% endcapture %}{% endif %} - -{% if page.updated %}{% capture updated %}{{ page.date_time_updated_html }}{% endcapture %}{% endif %} -{% if post.updated %}{% capture updated %}{{ post.date_time_updated_html }}{% endcapture %}{% endif %} diff --git a/source/_includes/post/disqus_thread.html b/source/_includes/post/disqus_thread.html deleted file mode 100644 index b1acd8cc..00000000 --- a/source/_includes/post/disqus_thread.html +++ /dev/null @@ -1 +0,0 @@ -<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> diff --git a/source/_includes/post/sharing.html b/source/_includes/post/sharing.html deleted file mode 100644 index d639faa1..00000000 --- a/source/_includes/post/sharing.html +++ /dev/null @@ -1,11 +0,0 @@ -<div class="sharing"> - {% if site.twitter_tweet_button %} - <a href="//twitter.com/share" class="twitter-share-button" data-url="{{ site.url }}{{ page.url }}" data-via="{{ site.twitter_user }}" data-counturl="{{ site.url }}{{ page.url }}" >Tweet</a> - {% endif %} - {% if site.google_plus_one %} - <div class="g-plusone" data-size="{{ site.google_plus_one_size }}"></div> - {% endif %} - {% if site.facebook_like %} - <div class="fb-like" data-send="true" data-width="450" data-show-faces="false"></div> - {% endif %} -</div> diff --git a/source/_includes/twitter_sharing.html b/source/_includes/twitter_sharing.html deleted file mode 100644 index 7cd5fbc2..00000000 --- a/source/_includes/twitter_sharing.html +++ /dev/null @@ -1,11 +0,0 @@ -{% if site.twitter_follow_button or site.twitter_tweet_button %} - <script type="text/javascript"> - (function(){ - var twitterWidgets = document.createElement('script'); - twitterWidgets.type = 'text/javascript'; - twitterWidgets.async = true; - twitterWidgets.src = '//platform.twitter.com/widgets.js'; - document.getElementsByTagName('head')[0].appendChild(twitterWidgets); - })(); - </script> -{% endif %} diff --git a/source/_layouts/category_index.html b/source/_layouts/category_index.html deleted file mode 100644 index 85a63072..00000000 --- a/source/_layouts/category_index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -footer: false ---- - -<div id="blog-archives" class="category"> -{% for post in site.categories[page.category] %} -{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} -{% unless year == this_year %} - {% assign year = this_year %} - <h2>{{ year }}</h2> -{% endunless %} -<article> - {% include archive_post.html %} -</article> -{% endfor %} -</div> diff --git a/source/_layouts/default.html b/source/_layouts/default.html deleted file mode 100644 index f23b07b8..00000000 --- a/source/_layouts/default.html +++ /dev/null @@ -1,14 +0,0 @@ -{% capture root_url %}{{ site.root | strip_slash }}{% endcapture %} -{% include head.html %} -<body {% if page.body_id %} id="{{ page.body_id }}" {% endif %} {% if page.sidebar == false %} class="no-sidebar" {% endif %} {% if page.sidebar == 'collapse' or site.sidebar == 'collapse' %} class="collapse-sidebar sidebar-footer" {% endif %}> - <header role="banner">{% include header.html %}</header> - <nav role="navigation">{% include navigation.html %}</nav> - <div id="main"> - <div id="content"> - {{ content | expand_urls: root_url }} - </div> - </div> - <footer role="contentinfo">{% include footer.html %}</footer> - {% include after_footer.html %} -</body> -</html> diff --git a/source/_layouts/page.html b/source/_layouts/page.html deleted file mode 100644 index 8ba6ec94..00000000 --- a/source/_layouts/page.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: default ---- - -<div> -<article role="article"> - {% if page.title %} - <header> - <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1> - {% if page.date %}<p class="meta">{% include post/date.html %}{{ time }}</p>{% endif %} - </header> - {% endif %} - {{ content }} - {% unless page.footer == false %} - <footer> - {% if page.date or page.author %}<p class="meta"> - {% if page.author %}{% include post/author.html %}{% endif %} - {% include post/date.html %}{% if updated %}{{ updated }}{% else %}{{ time }}{% endif %} - {% if page.categories %}{% include post/categories.html %}{% endif %} - </p>{% endif %} - {% unless page.sharing == false %} - {% include post/sharing.html %} - {% endunless %} - </footer> - {% endunless %} -</article> -{% if site.disqus_short_name and page.comments == true %} - <section> - <h1>Comments</h1> - <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div> - </section> -{% endif %} -</div> -{% unless page.sidebar == false %} -<aside class="sidebar"> - {% if site.page_asides.size %} - {% include_array page_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> -{% endunless %} diff --git a/source/_layouts/post.html b/source/_layouts/post.html deleted file mode 100644 index b450681b..00000000 --- a/source/_layouts/post.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: default -single: true ---- - -<div> -<article class="hentry" role="article"> - {% include article.html %} - <footer> - <p class="meta"> - {% include post/author.html %} - {% include post/date.html %}{{ time }}{% if updated %} {{ updated }}{% endif %} - {% include post/categories.html %} - </p> - {% unless page.sharing == false %} - {% include post/sharing.html %} - {% endunless %} - <p class="meta"> - {% if page.previous.url %} - <a class="basic-alignment left" href="{{page.previous.url}}" title="Previous Post: {{page.previous.title}}">« {{page.previous.title}}</a> - {% endif %} - {% if page.next.url %} - <a class="basic-alignment right" href="{{page.next.url}}" title="Next Post: {{page.next.title}}">{{page.next.title}} »</a> - {% endif %} - </p> - </footer> -</article> -{% if site.disqus_short_name and page.comments == true %} - <section> - <h1>Comments</h1> - <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div> - </section> -{% endif %} -</div> -{% unless page.sidebar == false %} -<aside class="sidebar"> - {% if site.post_asides.size %} - {% include_array post_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> -{% endunless %} diff --git a/source/assets/jwplayer/glow/controlbar/background.png b/source/assets/jwplayer/glow/controlbar/background.png Binary files differdeleted file mode 100644 index c2824cc4..00000000 --- a/source/assets/jwplayer/glow/controlbar/background.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/blankButton.png b/source/assets/jwplayer/glow/controlbar/blankButton.png Binary files differdeleted file mode 100644 index 010159f3..00000000 --- a/source/assets/jwplayer/glow/controlbar/blankButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/divider.png b/source/assets/jwplayer/glow/controlbar/divider.png Binary files differdeleted file mode 100644 index 77cd829a..00000000 --- a/source/assets/jwplayer/glow/controlbar/divider.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/fullscreenButton.png b/source/assets/jwplayer/glow/controlbar/fullscreenButton.png Binary files differdeleted file mode 100644 index e06aa50c..00000000 --- a/source/assets/jwplayer/glow/controlbar/fullscreenButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png b/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png Binary files differdeleted file mode 100644 index d2bc4fc7..00000000 --- a/source/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/muteButton.png b/source/assets/jwplayer/glow/controlbar/muteButton.png Binary files differdeleted file mode 100644 index 40c40ab2..00000000 --- a/source/assets/jwplayer/glow/controlbar/muteButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/muteButtonOver.png b/source/assets/jwplayer/glow/controlbar/muteButtonOver.png Binary files differdeleted file mode 100644 index 96fe7bb0..00000000 --- a/source/assets/jwplayer/glow/controlbar/muteButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/normalscreenButton.png b/source/assets/jwplayer/glow/controlbar/normalscreenButton.png Binary files differdeleted file mode 100644 index 22295074..00000000 --- a/source/assets/jwplayer/glow/controlbar/normalscreenButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png b/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png Binary files differdeleted file mode 100644 index 15db44d4..00000000 --- a/source/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/pauseButton.png b/source/assets/jwplayer/glow/controlbar/pauseButton.png Binary files differdeleted file mode 100644 index e399bf34..00000000 --- a/source/assets/jwplayer/glow/controlbar/pauseButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png b/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png Binary files differdeleted file mode 100644 index 409d89d2..00000000 --- a/source/assets/jwplayer/glow/controlbar/pauseButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/playButton.png b/source/assets/jwplayer/glow/controlbar/playButton.png Binary files differdeleted file mode 100644 index f8d9a007..00000000 --- a/source/assets/jwplayer/glow/controlbar/playButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/playButtonOver.png b/source/assets/jwplayer/glow/controlbar/playButtonOver.png Binary files differdeleted file mode 100644 index 3fe28484..00000000 --- a/source/assets/jwplayer/glow/controlbar/playButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png b/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png Binary files differdeleted file mode 100644 index 73b371ab..00000000 --- a/source/assets/jwplayer/glow/controlbar/timeSliderBuffer.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png b/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png Binary files differdeleted file mode 100644 index 72322171..00000000 --- a/source/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png b/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png Binary files differdeleted file mode 100644 index 626444a6..00000000 --- a/source/assets/jwplayer/glow/controlbar/timeSliderCapRight.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png b/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png Binary files differdeleted file mode 100644 index 132a8e7d..00000000 --- a/source/assets/jwplayer/glow/controlbar/timeSliderProgress.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/timeSliderRail.png b/source/assets/jwplayer/glow/controlbar/timeSliderRail.png Binary files differdeleted file mode 100644 index 27851dfd..00000000 --- a/source/assets/jwplayer/glow/controlbar/timeSliderRail.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/unmuteButton.png b/source/assets/jwplayer/glow/controlbar/unmuteButton.png Binary files differdeleted file mode 100644 index 3658453c..00000000 --- a/source/assets/jwplayer/glow/controlbar/unmuteButton.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png b/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png Binary files differdeleted file mode 100644 index 138ebb35..00000000 --- a/source/assets/jwplayer/glow/controlbar/unmuteButtonOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/display/background.png b/source/assets/jwplayer/glow/display/background.png Binary files differdeleted file mode 100644 index 391152f5..00000000 --- a/source/assets/jwplayer/glow/display/background.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/display/bufferIcon.png b/source/assets/jwplayer/glow/display/bufferIcon.png Binary files differdeleted file mode 100644 index a3819c1e..00000000 --- a/source/assets/jwplayer/glow/display/bufferIcon.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/display/muteIcon.png b/source/assets/jwplayer/glow/display/muteIcon.png Binary files differdeleted file mode 100644 index e0408bbd..00000000 --- a/source/assets/jwplayer/glow/display/muteIcon.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/display/playIcon.png b/source/assets/jwplayer/glow/display/playIcon.png Binary files differdeleted file mode 100644 index cb384278..00000000 --- a/source/assets/jwplayer/glow/display/playIcon.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/dock/button.png b/source/assets/jwplayer/glow/dock/button.png Binary files differdeleted file mode 100644 index 391152f5..00000000 --- a/source/assets/jwplayer/glow/dock/button.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/glow.xml b/source/assets/jwplayer/glow/glow.xml deleted file mode 100644 index 71bdced0..00000000 --- a/source/assets/jwplayer/glow/glow.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0"?> -<skin version="1.1" name="Glow" author="LongTail Video"> - - <settings> - <setting name="backcolor" value="0x000000" /> - <setting name="frontcolor" value="0xeeeeee" /> - <setting name="lightcolor" value="0xeeeeee" /> - <setting name="screencolor" value="0x000000" /> - </settings> - - <components> - <component name="controlbar"> - <settings> - <setting name="margin" value="0" /> - <setting name="fontsize" value="11" /> - <setting name="fontcolor" value="0xEEEEEE" /> - <setting name="buttoncolor" value="0xEEEEEE" /> - </settings> - - <layout> - <group position="left"> - <button name="play" /> - <text name="elapsed" /> - </group> - <group position="center"> - <slider name="time" /> - </group> - <group position="right"> - <text name="duration" /> - <button name="blank" /> - <button name="mute" /> - <button name="fullscreen" /> - </group> - </layout> - - <elements> - <element name="background" src="background.png" /> - <element name="capLeft" src="divider.png" /> - <element name="capRight" src="divider.png" /> - <element name="divider" src="divider.png" /> - <element name="blankButton" src="blankButton.png" /> - <element name="fullscreenButton" src="fullscreenButton.png" /> - <element name="fullscreenButtonOver" src="fullscreenButtonOver.png" /> - <element name="muteButton" src="muteButton.png" /> - <element name="muteButtonOver" src="muteButtonOver.png" /> - <element name="pauseButton" src="pauseButton.png" /> - <element name="pauseButtonOver" src="pauseButtonOver.png" /> - <element name="playButton" src="playButton.png" /> - <element name="playButtonOver" src="playButtonOver.png" /> - <element name="timeSliderBuffer" src="timeSliderBuffer.png" /> - <element name="timeSliderCapLeft" src="timeSliderCapLeft.png" /> - <element name="timeSliderCapRight" src="timeSliderCapRight.png" /> - <element name="timeSliderProgress" src="timeSliderProgress.png" /> - <element name="timeSliderRail" src="timeSliderRail.png" /> - <element name="normalscreenButton" src="normalscreenButton.png" /> - <element name="normalscreenButtonOver" src="normalscreenButtonOver.png" /> - <element name="unmuteButton" src="unmuteButton.png" /> - <element name="unmuteButtonOver" src="unmuteButtonOver.png" /> - <element name="volumeSliderRail" src="divider.png" /> - <element name="volumeSliderProgress" src="divider.png" /> - </elements> - </component> - - <component name="display"> - <settings> - <setting name="bufferinterval" value="250" /> - <setting name="bufferrotation" value="90" /> - </settings> - <elements> - <element name="background" src="background.png" /> - <element name="playIcon" src="playIcon.png" /> - <element name="muteIcon" src="muteIcon.png" /> - <element name="errorIcon" src="bufferIcon.png" /> - <element name="bufferIcon" src="bufferIcon.png" /> - </elements> - </component> - - <component name="dock"> - <settings> - <setting name="fontcolor" value="0xFFFFFF" /> - </settings> - <elements> - <element name="button" src="button.png" /> - </elements> - </component> - - <component name="playlist"> - <settings> - <setting name="fontcolor" value="0xEEEEEE" /> - <setting name="overcolor" value="0xFFFFFF" /> - <setting name="activecolor" value="0xFFFFFF" /> - <setting name="backgroundcolor" value="0x333333" /> - </settings> - <elements> - <element name="item" src="item.png" /> - <element name="itemOver" src="itemOver.png" /> - <element name="sliderCapBottom" src="sliderCapBottom.png" /> - <element name="sliderCapTop" src="sliderCapTop.png" /> - <element name="sliderRail" src="sliderRail.png" /> - <element name="sliderThumb" src="sliderThumb.png" /> - </elements> - </component> - - <component name="sharing"> - <elements> - <element name="embedIcon" src="embedIcon.png" /> - <element name="embedScreen" src="embedScreen.png" /> - <element name="shareIcon" src="shareIcon.png" /> - <element name="shareScreen" src="shareScreen.png" /> - </elements> - </component> - - </components> - -</skin>
\ No newline at end of file diff --git a/source/assets/jwplayer/glow/playlist/item.png b/source/assets/jwplayer/glow/playlist/item.png Binary files differdeleted file mode 100644 index 812592c3..00000000 --- a/source/assets/jwplayer/glow/playlist/item.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/playlist/itemOver.png b/source/assets/jwplayer/glow/playlist/itemOver.png Binary files differdeleted file mode 100644 index 549f3721..00000000 --- a/source/assets/jwplayer/glow/playlist/itemOver.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/playlist/sliderCapBottom.png b/source/assets/jwplayer/glow/playlist/sliderCapBottom.png Binary files differdeleted file mode 100644 index 048cc623..00000000 --- a/source/assets/jwplayer/glow/playlist/sliderCapBottom.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/playlist/sliderCapTop.png b/source/assets/jwplayer/glow/playlist/sliderCapTop.png Binary files differdeleted file mode 100644 index 65c463a0..00000000 --- a/source/assets/jwplayer/glow/playlist/sliderCapTop.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/playlist/sliderRail.png b/source/assets/jwplayer/glow/playlist/sliderRail.png Binary files differdeleted file mode 100644 index 121778af..00000000 --- a/source/assets/jwplayer/glow/playlist/sliderRail.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/playlist/sliderThumb.png b/source/assets/jwplayer/glow/playlist/sliderThumb.png Binary files differdeleted file mode 100644 index 118c3e03..00000000 --- a/source/assets/jwplayer/glow/playlist/sliderThumb.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/sharing/embedIcon.png b/source/assets/jwplayer/glow/sharing/embedIcon.png Binary files differdeleted file mode 100644 index 3394ac9c..00000000 --- a/source/assets/jwplayer/glow/sharing/embedIcon.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/sharing/embedScreen.png b/source/assets/jwplayer/glow/sharing/embedScreen.png Binary files differdeleted file mode 100644 index b4059754..00000000 --- a/source/assets/jwplayer/glow/sharing/embedScreen.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/sharing/shareIcon.png b/source/assets/jwplayer/glow/sharing/shareIcon.png Binary files differdeleted file mode 100644 index eae1d4e7..00000000 --- a/source/assets/jwplayer/glow/sharing/shareIcon.png +++ /dev/null diff --git a/source/assets/jwplayer/glow/sharing/shareScreen.png b/source/assets/jwplayer/glow/sharing/shareScreen.png Binary files differdeleted file mode 100644 index 695ec949..00000000 --- a/source/assets/jwplayer/glow/sharing/shareScreen.png +++ /dev/null diff --git a/source/assets/jwplayer/player.swf b/source/assets/jwplayer/player.swf Binary files differdeleted file mode 100644 index 0eee3797..00000000 --- a/source/assets/jwplayer/player.swf +++ /dev/null diff --git a/source/atom.xml b/source/atom.xml deleted file mode 100644 index 403328f3..00000000 --- a/source/atom.xml +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: null ---- -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> - - <title><![CDATA[{{ site.title | cdata_escape }}]]></title> - <link href="{{ site.url }}/atom.xml" rel="self"/> - <link href="{{ site.url }}/"/> - <updated>{{ site.time | date_to_xmlschema }}</updated> - <id>{{ site.url }}/</id> - <author> - <name><![CDATA[{{ site.author | strip_html }}]]></name> - {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %} - </author> - <generator uri="http://octopress.org/">Octopress</generator> - - {% for post in site.posts limit: 20 %} - <entry> - <title type="html"><![CDATA[{% if site.titlecase %}{{ post.title | titlecase | cdata_escape }}{% else %}{{ post.title | cdata_escape }}{% endif %}]]></title> - <link href="{{ site.url }}{{ post.url }}"/> - <updated>{{ post.date | date_to_xmlschema }}</updated> - <id>{{ site.url }}{{ post.id }}</id> - <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | cdata_escape }}]]></content> - </entry> - {% endfor %} -</feed> diff --git a/source/_posts/2014-10-20-hello-octopress.md b/source/blog/2014-10-20-hello-octopress.md index d359f401..d359f401 100644 --- a/source/_posts/2014-10-20-hello-octopress.md +++ b/source/blog/2014-10-20-hello-octopress.md diff --git a/source/_posts/2014-10-20-help-mou-hit-1-dot-0.md b/source/blog/2014-10-20-help-mou-hit-1-dot-0.md index 22587df4..22587df4 100644 --- a/source/_posts/2014-10-20-help-mou-hit-1-dot-0.md +++ b/source/blog/2014-10-20-help-mou-hit-1-dot-0.md diff --git a/source/_posts/2014-10-21-get-rolling.md b/source/blog/2014-10-21-get-rolling.md index bf8f040e..bf8f040e 100644 --- a/source/_posts/2014-10-21-get-rolling.md +++ b/source/blog/2014-10-21-get-rolling.md diff --git a/source/_posts/2014-10-23-ripping-copy-protected-dvd-with-mpv.md b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md index 4db51a86..4db51a86 100644 --- a/source/_posts/2014-10-23-ripping-copy-protected-dvd-with-mpv.md +++ b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md diff --git a/source/_posts/2014-10-24-charles-munger-donated-$65m-to-kitp.md b/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md index 9c37b99e..9c37b99e 100644 --- a/source/_posts/2014-10-24-charles-munger-donated-$65m-to-kitp.md +++ b/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md diff --git a/source/_posts/2014-10-25-os-x-package-receipts.md b/source/blog/2014-10-25-os-x-package-receipts.md index a3695600..a3695600 100644 --- a/source/_posts/2014-10-25-os-x-package-receipts.md +++ b/source/blog/2014-10-25-os-x-package-receipts.md diff --git a/source/_posts/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md b/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md index 7ff57bc8..7ff57bc8 100644 --- a/source/_posts/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md +++ b/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md diff --git a/source/_posts/2014-10-26-disk-visualizer-daisydisk.md b/source/blog/2014-10-26-disk-visualizer-daisydisk.md index 2de4201e..2de4201e 100644 --- a/source/_posts/2014-10-26-disk-visualizer-daisydisk.md +++ b/source/blog/2014-10-26-disk-visualizer-daisydisk.md diff --git a/source/_posts/2014-10-27-onedrive-goes-unlimited.md b/source/blog/2014-10-27-onedrive-goes-unlimited.md index 256b04e6..256b04e6 100644 --- a/source/_posts/2014-10-27-onedrive-goes-unlimited.md +++ b/source/blog/2014-10-27-onedrive-goes-unlimited.md diff --git a/source/_posts/2014-10-28-google-drive-no-selective-subfolder-sync.md b/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md index 2383a0da..2383a0da 100644 --- a/source/_posts/2014-10-28-google-drive-no-selective-subfolder-sync.md +++ b/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md diff --git a/source/_posts/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md b/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md index bec69ef7..bec69ef7 100644 --- a/source/_posts/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md +++ b/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md diff --git a/source/_posts/2014-10-29-fun.md b/source/blog/2014-10-29-fun.md index ce32a9b0..ce32a9b0 100644 --- a/source/_posts/2014-10-29-fun.md +++ b/source/blog/2014-10-29-fun.md diff --git a/source/_posts/2014-11-02-vobcopy-dvdbackup-etc.md b/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md index b8690912..b8690912 100644 --- a/source/_posts/2014-11-02-vobcopy-dvdbackup-etc.md +++ b/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md diff --git a/source/_posts/2014-11-05-apple-is-pushing-yosemite-hard.md b/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md index 0324c26c..0324c26c 100644 --- a/source/_posts/2014-11-05-apple-is-pushing-yosemite-hard.md +++ b/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md diff --git a/source/_posts/2014-11-05-list-youtube-playlist-with-youtube-dl.md b/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md index a0d8af7b..a0d8af7b 100644 --- a/source/_posts/2014-11-05-list-youtube-playlist-with-youtube-dl.md +++ b/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md diff --git a/source/_posts/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md b/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md index f68ea55d..f68ea55d 100644 --- a/source/_posts/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md +++ b/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md diff --git a/source/_posts/2014-11-07-interstellar.md b/source/blog/2014-11-07-interstellar.md index 8cd93b8f..8cd93b8f 100644 --- a/source/_posts/2014-11-07-interstellar.md +++ b/source/blog/2014-11-07-interstellar.md diff --git a/source/_posts/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md b/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md index 1bce5027..1bce5027 100644 --- a/source/_posts/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md +++ b/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md diff --git a/source/_posts/2014-11-11-re-encoding-everything-for-iphone-6-plus.md b/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md index 51d5ed37..51d5ed37 100644 --- a/source/_posts/2014-11-11-re-encoding-everything-for-iphone-6-plus.md +++ b/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md diff --git a/source/_posts/2014-11-19-convolution-of-irreducible-characters.md b/source/blog/2014-11-19-convolution-of-irreducible-characters.md index f3f3207e..f3f3207e 100644 --- a/source/_posts/2014-11-19-convolution-of-irreducible-characters.md +++ b/source/blog/2014-11-19-convolution-of-irreducible-characters.md diff --git a/source/_posts/2014-11-20-dropbot-for-geeks(r).md b/source/blog/2014-11-20-dropbot-for-geeks(r).md index ad075302..ad075302 100644 --- a/source/_posts/2014-11-20-dropbot-for-geeks(r).md +++ b/source/blog/2014-11-20-dropbot-for-geeks(r).md diff --git a/source/_posts/2014-11-24-iphone-photography-frustration.md b/source/blog/2014-11-24-iphone-photography-frustration.md index 1a375f25..1a375f25 100644 --- a/source/_posts/2014-11-24-iphone-photography-frustration.md +++ b/source/blog/2014-11-24-iphone-photography-frustration.md diff --git a/source/_posts/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md b/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md index 10f105d8..10f105d8 100644 --- a/source/_posts/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md +++ b/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md diff --git a/source/_posts/2014-11-25-i-got-16-gigs-of-ram.md b/source/blog/2014-11-25-i-got-16-gigs-of-ram.md index d55a642e..d55a642e 100644 --- a/source/_posts/2014-11-25-i-got-16-gigs-of-ram.md +++ b/source/blog/2014-11-25-i-got-16-gigs-of-ram.md diff --git a/source/_posts/2014-11-26-original-images-in-day-one-journal.md b/source/blog/2014-11-26-original-images-in-day-one-journal.md index c738699c..c738699c 100644 --- a/source/_posts/2014-11-26-original-images-in-day-one-journal.md +++ b/source/blog/2014-11-26-original-images-in-day-one-journal.md diff --git a/source/_posts/2014-11-28-given-infinite-time.md b/source/blog/2014-11-28-given-infinite-time.md index 833b4de4..833b4de4 100644 --- a/source/_posts/2014-11-28-given-infinite-time.md +++ b/source/blog/2014-11-28-given-infinite-time.md diff --git a/source/_posts/2014-11-28-going-diceware.md b/source/blog/2014-11-28-going-diceware.md index e649f374..e649f374 100644 --- a/source/_posts/2014-11-28-going-diceware.md +++ b/source/blog/2014-11-28-going-diceware.md diff --git a/source/_posts/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md b/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md index f76879f3..f76879f3 100644 --- a/source/_posts/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md +++ b/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md diff --git a/source/_posts/2014-12-05-distraction-free-writing.md b/source/blog/2014-12-05-distraction-free-writing.md index 122f6fc2..122f6fc2 100644 --- a/source/_posts/2014-12-05-distraction-free-writing.md +++ b/source/blog/2014-12-05-distraction-free-writing.md diff --git a/source/_posts/2014-12-05-python-3-and-unicode.md b/source/blog/2014-12-05-python-3-and-unicode.md index d7d871d8..d7d871d8 100644 --- a/source/_posts/2014-12-05-python-3-and-unicode.md +++ b/source/blog/2014-12-05-python-3-and-unicode.md diff --git a/source/_posts/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md b/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md index 4ee29d57..4ee29d57 100644 --- a/source/_posts/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md +++ b/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md diff --git a/source/_posts/2014-12-13-the-mac-like-evernote.md b/source/blog/2014-12-13-the-mac-like-evernote.md index 7eacfad3..7eacfad3 100644 --- a/source/_posts/2014-12-13-the-mac-like-evernote.md +++ b/source/blog/2014-12-13-the-mac-like-evernote.md diff --git a/source/_posts/2014-12-14-speeding-up-emacs-with-emacsclient.md b/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md index f82f63cf..f82f63cf 100644 --- a/source/_posts/2014-12-14-speeding-up-emacs-with-emacsclient.md +++ b/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md diff --git a/source/_posts/2014-12-14-the-google-chrome-comic-a-classic.md b/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md index b1fe01b5..b1fe01b5 100644 --- a/source/_posts/2014-12-14-the-google-chrome-comic-a-classic.md +++ b/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md diff --git a/source/_posts/2014-12-19-app-suggestion-dropzone-3.md b/source/blog/2014-12-19-app-suggestion-dropzone-3.md index 340828a5..340828a5 100644 --- a/source/_posts/2014-12-19-app-suggestion-dropzone-3.md +++ b/source/blog/2014-12-19-app-suggestion-dropzone-3.md diff --git a/source/_posts/2014-12-22-10k-images-on-imgur.md b/source/blog/2014-12-22-10k-images-on-imgur.md index a9a96bde..a9a96bde 100644 --- a/source/_posts/2014-12-22-10k-images-on-imgur.md +++ b/source/blog/2014-12-22-10k-images-on-imgur.md diff --git a/source/_posts/2014-12-23-mpv-launcher.md b/source/blog/2014-12-23-mpv-launcher.md index 1bb85b50..1bb85b50 100644 --- a/source/_posts/2014-12-23-mpv-launcher.md +++ b/source/blog/2014-12-23-mpv-launcher.md diff --git a/source/_posts/2015-01-01-os-x-system-ruby-encoding-annoyance.md b/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md index 2bef694d..2bef694d 100644 --- a/source/_posts/2015-01-01-os-x-system-ruby-encoding-annoyance.md +++ b/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md diff --git a/source/_posts/2015-01-10-fonts-why-chinese-web-design-is-hard.md b/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md index 7d6e5ee8..7d6e5ee8 100644 --- a/source/_posts/2015-01-10-fonts-why-chinese-web-design-is-hard.md +++ b/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md diff --git a/source/_posts/2015-01-21-web-design-microsoft-vs-apple.md b/source/blog/2015-01-21-web-design-microsoft-vs-apple.md index 5f8cb833..5f8cb833 100644 --- a/source/_posts/2015-01-21-web-design-microsoft-vs-apple.md +++ b/source/blog/2015-01-21-web-design-microsoft-vs-apple.md diff --git a/source/_posts/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md b/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md index 2f58e884..2f58e884 100644 --- a/source/_posts/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md +++ b/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md diff --git a/source/_posts/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md b/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md index 7342568d..7342568d 100644 --- a/source/_posts/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md +++ b/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md diff --git a/source/_posts/2015-02-20-my-dock-and-updated-omnifocus.md b/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md index 690b83e1..690b83e1 100644 --- a/source/_posts/2015-02-20-my-dock-and-updated-omnifocus.md +++ b/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md diff --git a/source/_posts/2015-02-21-all-is-not-lost.md b/source/blog/2015-02-21-all-is-not-lost.md index 75c1ede2..75c1ede2 100644 --- a/source/_posts/2015-02-21-all-is-not-lost.md +++ b/source/blog/2015-02-21-all-is-not-lost.md diff --git a/source/_posts/2015-02-24-the-new-onedrive-api.md b/source/blog/2015-02-24-the-new-onedrive-api.md index 28067c36..28067c36 100644 --- a/source/_posts/2015-02-24-the-new-onedrive-api.md +++ b/source/blog/2015-02-24-the-new-onedrive-api.md diff --git a/source/_posts/2015-03-22-back-up-os-x-app-icons.md b/source/blog/2015-03-22-back-up-os-x-app-icons.md index 7f9eec4b..7f9eec4b 100644 --- a/source/_posts/2015-03-22-back-up-os-x-app-icons.md +++ b/source/blog/2015-03-22-back-up-os-x-app-icons.md diff --git a/source/_posts/2015-04-26-using-python-3-with-emacs-jedi.md b/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md index 5a6f12ea..5a6f12ea 100644 --- a/source/_posts/2015-04-26-using-python-3-with-emacs-jedi.md +++ b/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md diff --git a/source/_posts/2015-05-03-why-oh-my-zsh-is-completely-broken.md b/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md index 3d682897..3d682897 100644 --- a/source/_posts/2015-05-03-why-oh-my-zsh-is-completely-broken.md +++ b/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md diff --git a/source/blog/archives/index.html b/source/blog/archives/index.html deleted file mode 100644 index f1d9cee3..00000000 --- a/source/blog/archives/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: Blog Archive -footer: false ---- - -<div id="blog-archives"> -{% for post in site.posts reverse %} -{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} -{% unless year == this_year %} - {% assign year = this_year %} - <h2>{{ year }}</h2> -{% endunless %} -<article> - {% include archive_post.html %} -</article> -{% endfor %} -</div> diff --git a/source/favicon.png b/source/favicon.png Binary files differdeleted file mode 100644 index 4d541df9..00000000 --- a/source/favicon.png +++ /dev/null diff --git a/source/images/bird_32_gray.png b/source/images/bird_32_gray.png Binary files differdeleted file mode 100644 index 574f210a..00000000 --- a/source/images/bird_32_gray.png +++ /dev/null diff --git a/source/images/bird_32_gray_fail.png b/source/images/bird_32_gray_fail.png Binary files differdeleted file mode 100644 index 8337d103..00000000 --- a/source/images/bird_32_gray_fail.png +++ /dev/null diff --git a/source/images/code_bg.png b/source/images/code_bg.png Binary files differdeleted file mode 100644 index a57bab56..00000000 --- a/source/images/code_bg.png +++ /dev/null diff --git a/source/images/dotted-border.png b/source/images/dotted-border.png Binary files differdeleted file mode 100644 index 57f99071..00000000 --- a/source/images/dotted-border.png +++ /dev/null diff --git a/source/images/email.png b/source/images/email.png Binary files differdeleted file mode 100644 index e55473fe..00000000 --- a/source/images/email.png +++ /dev/null diff --git a/source/images/line-tile.png b/source/images/line-tile.png Binary files differdeleted file mode 100644 index f67ee19f..00000000 --- a/source/images/line-tile.png +++ /dev/null diff --git a/source/images/noise.png b/source/images/noise.png Binary files differdeleted file mode 100644 index 432e05bf..00000000 --- a/source/images/noise.png +++ /dev/null diff --git a/source/images/rss.png b/source/images/rss.png Binary files differdeleted file mode 100644 index 151ae718..00000000 --- a/source/images/rss.png +++ /dev/null diff --git a/source/images/search.png b/source/images/search.png Binary files differdeleted file mode 100644 index 1220ff4e..00000000 --- a/source/images/search.png +++ /dev/null diff --git a/source/index.html b/source/index.html deleted file mode 100644 index 64b665e4..00000000 --- a/source/index.html +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: default ---- - -<div class="blog-index"> - {% assign index = true %} - {% for post in paginator.posts %} - {% assign content = post.content %} - <article> - {% include article.html %} - </article> - {% endfor %} - <div class="pagination"> - {% if paginator.next_page %} - <a class="prev" href="{{paginator.next_page_path}}">← Older</a> - {% endif %} - <a href="/blog/archives">Blog Archives</a> - {% if paginator.previous_page %} - <a class="next" href="{{paginator.previous_page_path}}">Newer →</a> - {% endif %} - </div> -</div> -<aside class="sidebar"> - {% if site.blog_index_asides.size %} - {% include_array blog_index_asides %} - {% else %} - {% include_array default_asides %} - {% endif %} -</aside> diff --git a/source/javascripts/github.js b/source/javascripts/github.js deleted file mode 100644 index fc2bb12c..00000000 --- a/source/javascripts/github.js +++ /dev/null @@ -1,32 +0,0 @@ -var github = (function(){ - function escapeHtml(str) { - return $('<div/>').text(str).html(); - } - function render(target, repos){ - var i = 0, fragment = '', t = $(target)[0]; - - for(i = 0; i < repos.length; i++) { - fragment += '<li><a href="'+repos[i].html_url+'">'+repos[i].name+'</a><p>'+escapeHtml(repos[i].description||'')+'</p></li>'; - } - t.innerHTML = fragment; - } - return { - showRepos: function(options){ - $.ajax({ - url: "https://api.github.com/users/"+options.user+"/repos?sort=pushed&callback=?" - , dataType: 'jsonp' - , error: function (err) { $(options.target + ' li.loading').addClass('error').text("Error loading feed"); } - , success: function(data) { - var repos = []; - if (!data || !data.data) { return; } - for (var i = 0; i < data.data.length; i++) { - if (options.skip_forks && data.data[i].fork) { continue; } - repos.push(data.data[i]); - } - if (options.count) { repos.splice(options.count); } - render(options.target, repos); - } - }); - } - }; -})(); diff --git a/source/javascripts/libs/jXHR.js b/source/javascripts/libs/jXHR.js deleted file mode 100644 index 6775655c..00000000 --- a/source/javascripts/libs/jXHR.js +++ /dev/null @@ -1,85 +0,0 @@ -// jXHR.js (JSON-P XHR) -// v0.1 (c) Kyle Simpson -// MIT License - -(function(global){ - var SETTIMEOUT = global.setTimeout, // for better compression - doc = global.document, - callback_counter = 0; - - global.jXHR = function() { - var script_url, - script_loaded, - jsonp_callback, - scriptElem, - publicAPI = null; - - function removeScript() { try { scriptElem.parentNode.removeChild(scriptElem); } catch (err) { } } - - function reset() { - script_loaded = false; - script_url = ""; - removeScript(); - scriptElem = null; - fireReadyStateChange(0); - } - - function ThrowError(msg) { - try { publicAPI.onerror.call(publicAPI,msg,script_url); } catch (err) { throw new Error(msg); } - } - - function handleScriptLoad() { - if ((this.readyState && this.readyState!=="complete" && this.readyState!=="loaded") || script_loaded) { return; } - this.onload = this.onreadystatechange = null; // prevent memory leak - script_loaded = true; - if (publicAPI.readyState !== 4) ThrowError("Script failed to load ["+script_url+"]."); - removeScript(); - } - - function fireReadyStateChange(rs,args) { - args = args || []; - publicAPI.readyState = rs; - if (typeof publicAPI.onreadystatechange === "function") publicAPI.onreadystatechange.apply(publicAPI,args); - } - - publicAPI = { - onerror:null, - onreadystatechange:null, - readyState:0, - open:function(method,url){ - reset(); - internal_callback = "cb"+(callback_counter++); - (function(icb){ - global.jXHR[icb] = function() { - try { fireReadyStateChange.call(publicAPI,4,arguments); } - catch(err) { - publicAPI.readyState = -1; - ThrowError("Script failed to run ["+script_url+"]."); - } - global.jXHR[icb] = null; - }; - })(internal_callback); - script_url = url.replace(/=\?/,"=jXHR."+internal_callback); - fireReadyStateChange(1); - }, - send:function(){ - SETTIMEOUT(function(){ - scriptElem = doc.createElement("script"); - scriptElem.setAttribute("type","text/javascript"); - scriptElem.onload = scriptElem.onreadystatechange = function(){handleScriptLoad.call(scriptElem);}; - scriptElem.setAttribute("src",script_url); - doc.getElementsByTagName("head")[0].appendChild(scriptElem); - },0); - fireReadyStateChange(2); - }, - setRequestHeader:function(){}, // noop - getResponseHeader:function(){return "";}, // basically noop - getAllResponseHeaders:function(){return [];} // ditto - }; - - reset(); - - return publicAPI; - }; -})(window); - diff --git a/source/javascripts/libs/jquery.min.js b/source/javascripts/libs/jquery.min.js deleted file mode 100644 index 32d50cb0..00000000 --- a/source/javascripts/libs/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery.min.map -*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); diff --git a/source/javascripts/libs/swfobject-dynamic.js b/source/javascripts/libs/swfobject-dynamic.js deleted file mode 100644 index b0216145..00000000 --- a/source/javascripts/libs/swfobject-dynamic.js +++ /dev/null @@ -1,298 +0,0 @@ -/*! SWFObject v2.2 <http://code.google.com/p/swfobject/> - is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - regObjArr = [], - objIdArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }() - - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { testPlayerVersion(); } - else { matchVersions(); } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += '<param name="' + j + '" value="' + parObj[j] + '" />'; - } - } - el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>'; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - callbackObj.success = true; - callbackObj.ref = obj; - } - if (callbackFn) { callbackFn(callbackObj); } - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - } - }; -}(); diff --git a/source/javascripts/modernizr-2.0.js b/source/javascripts/modernizr-2.0.js deleted file mode 100644 index 9dca7b0e..00000000 --- a/source/javascripts/modernizr-2.0.js +++ /dev/null @@ -1,5 +0,0 @@ -/* Modernizr 2.6.2 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-video-mq-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function A(a){j.cssText=a}function B(a,b){return A(m.join(a+";")+(b||""))}function C(a,b){return typeof a===b}function D(a,b){return!!~(""+a).indexOf(b)}function E(a,b){for(var d in a){var e=a[d];if(!D(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function F(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:C(f,"function")?f.bind(d||b):f}return!1}function G(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return C(b,"string")||C(b,"undefined")?E(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),F(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return w("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},y={}.hasOwnProperty,z;!C(y,"undefined")&&!C(y.call,"undefined")?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c};for(var H in q)z(q,H)&&(v=H.toLowerCase(),e[v]=q[H](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},A(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=x,e.testProp=function(a){return E([a])},e.testAllProps=G,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}; - diff --git a/source/javascripts/octopress.js b/source/javascripts/octopress.js deleted file mode 100644 index faaf3dbe..00000000 --- a/source/javascripts/octopress.js +++ /dev/null @@ -1,151 +0,0 @@ -function getNav() { - var mainNav = $('ul.main-navigation, ul[role=main-navigation]').before('<fieldset class="mobile-nav">') - var mobileNav = $('fieldset.mobile-nav').append('<select>'); - mobileNav.find('select').append('<option value="">Navigate…</option>'); - var addOption = function(i, option) { - mobileNav.find('select').append('<option value="' + this.href + '">» ' + $(this).text() + '</option>'); - } - mainNav.find('a').each(addOption); - $('ul.subscription a').each(addOption); - mobileNav.find('select').bind('change', function(event) { - if (event.target.value) { window.location.href = event.target.value; } - }); -} - -function addSidebarToggler() { - if(!$('body').hasClass('sidebar-footer')) { - $('#content').append('<span class="toggle-sidebar"></span>'); - $('.toggle-sidebar').bind('click', function(e) { - e.preventDefault(); - $('body').toggleClass('collapse-sidebar'); - }); - } - var sections = $('aside.sidebar > section'); - if (sections.length > 1) { - sections.each(function(index, section){ - if ((sections.length >= 3) && index % 3 === 0) { - $(section).addClass("first"); - } - var count = ((index +1) % 2) ? "odd" : "even"; - $(section).addClass(count); - }); - } - if (sections.length >= 3){ $('aside.sidebar').addClass('thirds'); } -} - -function testFeatures() { - var features = ['maskImage']; - $(features).map(function(i, feature) { - if (Modernizr.testAllProps(feature)) { - $('html').addClass(feature); - } else { - $('html').addClass('no-'+feature); - } - }); - if ("placeholder" in document.createElement("input")) { - $('html').addClass('placeholder'); - } else { - $('html').addClass('no-placeholder'); - } -} - -function addCodeLineNumbers() { - if (navigator.appName === 'Microsoft Internet Explorer') { return; } - $('div.gist-highlight').each(function(code) { - var tableStart = '<table><tbody><tr><td class="gutter">', - lineNumbers = '<pre class="line-numbers">', - tableMiddle = '</pre></td><td class="code">', - tableEnd = '</td></tr></tbody></table>', - count = $('.line', code).length; - for (var i=1;i<=count; i++) { - lineNumbers += '<span class="line-number">'+i+'</span>\n'; - } - var table = tableStart + lineNumbers + tableMiddle + '<pre>'+$('pre', code).html()+'</pre>' + tableEnd; - $(code).html(table); - }); -} - -function flashVideoFallback(){ - var flashplayerlocation = "/assets/jwplayer/player.swf", - flashplayerskin = "/assets/jwplayer/glow/glow.xml"; - $('video').each(function(i, video){ - video = $(video); - if (!Modernizr.video.h264 && swfobject.getFlashPlayerVersion() || window.location.hash.indexOf("flash-test") !== -1){ - video.children('source[src$=mp4]').first().map(i, function(source){ - var src = $(source).attr('src'), - id = 'video_'+Math.round(1 + Math.random()*(100000)), - width = video.attr('width'), - height = parseInt(video.attr('height'), 10) + 30; - video.after('<div class="flash-video"><div><div id='+id+'>'); - swfobject.embedSWF(flashplayerlocation, id, width, height + 30, "9.0.0", - { file : src, image : video.attr('poster'), skin : flashplayerskin } , - { movie : src, wmode : "opaque", allowfullscreen : "true" } - ); - }); - video.remove(); - } - }); -} - -function wrapFlashVideos() { - $('object').each(function(i, object) { - if( $(object).find('param[name=movie]').length ){ - $(object).wrap('<div class="flash-video">') - } - }); - $('iframe[src*=vimeo],iframe[src*=youtube]').wrap('<div class="flash-video">') -} - -function renderDeliciousLinks(items) { - var output = "<ul>"; - for (var i=0,l=items.length; i<l; i++) { - output += '<li><a href="' + items[i].u + '" title="Tags: ' + (items[i].t == "" ? "" : items[i].t.join(', ')) + '">' + items[i].d + '</a></li>'; - } - output += "</ul>"; - $('#delicious').html(output); -} - -$('document').ready(function() { - testFeatures(); - wrapFlashVideos(); - flashVideoFallback(); - addCodeLineNumbers(); - getNav(); - addSidebarToggler(); -}); - -// iOS scaling bug fix -// Rewritten version -// By @mathias, @cheeaun and @jdalton -// Source url: https://gist.github.com/901295 -(function(doc) { - var addEvent = 'addEventListener', - type = 'gesturestart', - qsa = 'querySelectorAll', - scales = [1, 1], - meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []; - function fix() { - meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]; - doc.removeEventListener(type, fix, true); - } - if ((meta = meta[meta.length - 1]) && addEvent in doc) { - fix(); - scales = [0.25, 1.6]; - doc[addEvent](type, fix, true); - } -}(document)); - -/*! SWFObject v2.2 modified by Brandon Mathis to contain only what is necessary to dynamically embed flash objects - * Uncompressed source in javascripts/libs/swfobject-dynamic.js - * <http://code.google.com/p/swfobject/> - released under the MIT License <http://www.opensource.org/licenses/mit-license.php> -*/ -var swfobject=function(){function s(a,b,d){var q,k=n(d);if(g.wk&&g.wk<312)return q;if(k){if(typeof a.id==l)a.id=d;if(g.ie&&g.win){var e="",c;for(c in a)if(a[c]!=Object.prototype[c])c.toLowerCase()=="data"?b.movie=a[c]:c.toLowerCase()=="styleclass"?e+=' class="'+a[c]+'"':c.toLowerCase()!="classid"&&(e+=" "+c+'="'+a[c]+'"');c="";for(var f in b)b[f]!=Object.prototype[f]&&(c+='<param name="'+f+'" value="'+b[f]+'" />');k.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+e+">"+c+ -"</object>";q=n(a.id)}else{f=i.createElement(o);f.setAttribute("type",m);for(var h in a)a[h]!=Object.prototype[h]&&(h.toLowerCase()=="styleclass"?f.setAttribute("class",a[h]):h.toLowerCase()!="classid"&&f.setAttribute(h,a[h]));for(e in b)b[e]!=Object.prototype[e]&&e.toLowerCase()!="movie"&&(a=f,c=e,h=b[e],d=i.createElement("param"),d.setAttribute("name",c),d.setAttribute("value",h),a.appendChild(d));k.parentNode.replaceChild(f,k);q=f}}return q}function n(a){var b=null;try{b=i.getElementById(a)}catch(d){}return b} -function t(a){var b=g.pv,a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0:!1}function u(a){return/[\\\"<>\.;]/.exec(a)!=null&&typeof encodeURIComponent!=l?encodeURIComponent(a):a}var l="undefined",o="object",m="application/x-shockwave-flash",v=window,i=document,j=navigator,g=function(){var a=typeof i.getElementById!=l&&typeof i.getElementsByTagName!=l&&typeof i.createElement!=l, -b=j.userAgent.toLowerCase(),d=j.platform.toLowerCase(),g=d?/win/.test(d):/win/.test(b),d=d?/mac/.test(d):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,k=!+"\u000b1",e=[0,0,0],c=null;if(typeof j.plugins!=l&&typeof j.plugins["Shockwave Flash"]==o){if((c=j.plugins["Shockwave Flash"].description)&&!(typeof j.mimeTypes!=l&&j.mimeTypes[m]&&!j.mimeTypes[m].enabledPlugin))k=!1,c=c.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),e[0]=parseInt(c.replace(/^(.*)\..*$/,"$1"), -10),e[1]=parseInt(c.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(c)?parseInt(c.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else if(typeof v.ActiveXObject!=l)try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(f&&(c=f.GetVariable("$version")))k=!0,c=c.split(" ")[1].split(","),e=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]}catch(h){}return{w3:a,pv:e,wk:b,ie:k,win:g,mac:d}}();return{embedSWF:function(a,b,d,i,k,e,c,f,h){var j={success:!1,id:b};if(g.w3&&!(g.wk&&g.wk<312)&& -a&&b&&d&&i&&k){d+="";i+="";var p={};if(f&&typeof f===o)for(var m in f)p[m]=f[m];p.data=a;p.width=d;p.height=i;a={};if(c&&typeof c===o)for(var n in c)a[n]=c[n];if(e&&typeof e===o)for(var r in e)typeof a.flashvars!=l?a.flashvars+="&"+r+"="+e[r]:a.flashvars=r+"="+e[r];if(t(k))b=s(p,a,b),j.success=!0,j.ref=b}h&&h(j)},ua:g,getFlashPlayerVersion:function(){return{major:g.pv[0],minor:g.pv[1],release:g.pv[2]}},hasFlashPlayerVersion:t,createSWF:function(a,b,d){if(g.w3)return s(a,b,d)},getQueryParamValue:function(a){var b= -i.location.search||i.location.hash;if(b){/\?/.test(b)&&(b=b.split("?")[1]);if(a==null)return u(b);for(var b=b.split("&"),d=0;d<b.length;d++)if(b[d].substring(0,b[d].indexOf("="))==a)return u(b[d].substring(b[d].indexOf("=")+1))}return""}}}(); - - diff --git a/source/javascripts/pinboard.js b/source/javascripts/pinboard.js deleted file mode 100644 index a97df03d..00000000 --- a/source/javascripts/pinboard.js +++ /dev/null @@ -1,56 +0,0 @@ -function pinboardNS_fetch_script(url) { - //document.writeln('<s'+'cript type="text/javascript" src="' + url + '"></s'+'cript>'); - (function(){ - var pinboardLinkroll = document.createElement('script'); - pinboardLinkroll.type = 'text/javascript'; - pinboardLinkroll.async = true; - pinboardLinkroll.src = url; - document.getElementsByTagName('head')[0].appendChild(pinboardLinkroll); - })(); -} - -function pinboardNS_show_bmarks(r) { - var lr = new Pinboard_Linkroll(); - lr.set_items(r); - lr.show_bmarks(); -} - -function Pinboard_Linkroll() { - var items; - - this.set_items = function(i) { - this.items = i; - } - this.show_bmarks = function() { - var lines = []; - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - var str = this.format_item(item); - lines.push(str); - } - document.getElementById(linkroll).innerHTML = lines.join("\n"); - } - this.cook = function(v) { - return v.replace('<', '<').replace('>', '>>'); - } - - this.format_item = function(it) { - var str = "<li class=\"pin-item\">"; - if (!it.d) { return; } - str += "<p><a class=\"pin-title\" href=\"" + this.cook(it.u) + "\">" + this.cook(it.d) + "</a>"; - if (it.n) { - str += "<span class=\"pin-description\">" + this.cook(it.n) + "</span>\n"; - } - if (it.t.length > 0) { - for (var i = 0; i < it.t.length; i++) { - var tag = it.t[i]; - str += " <a class=\"pin-tag\" href=\"https://pinboard.in/u:"+ this.cook(it.a) + "/t:" + this.cook(tag) + "\">" + this.cook(tag).replace(/^\s+|\s+$/g, '') + "</a> "; - } - } - str += "</p></li>\n"; - return str; - } -} -Pinboard_Linkroll.prototype = new Pinboard_Linkroll(); -pinboardNS_fetch_script("https://feeds.pinboard.in/json/v1/u:"+pinboard_user+"/?cb=pinboardNS_show_bmarks\&count="+pinboard_count); - diff --git a/source/javascripts/twitter.js b/source/javascripts/twitter.js deleted file mode 100644 index 3e2dd0d7..00000000 --- a/source/javascripts/twitter.js +++ /dev/null @@ -1,78 +0,0 @@ -// JSON-P Twitter fetcher for Octopress -// (c) Brandon Mathis // MIT License - -/* Sky Slavin, Ludopoli. MIT license. * based on JavaScript Pretty Date * Copyright (c) 2008 John Resig (jquery.com) * Licensed under the MIT license. */ -function prettyDate(time) { - if (navigator.appName === 'Microsoft Internet Explorer') { - return "<span>∞</span>"; // because IE date parsing isn't fun. - } - var say = { - just_now: " now", - minute_ago: "1m", - minutes_ago: "m", - hour_ago: "1h", - hours_ago: "h", - yesterday: "1d", - days_ago: "d", - last_week: "1w", - weeks_ago: "w" - }; - - var current_date = new Date(), - current_date_time = current_date.getTime(), - current_date_full = current_date_time + (1 * 60000), - date = new Date(time), - diff = ((current_date_full - date.getTime()) / 1000), - day_diff = Math.floor(diff / 86400); - - if (isNaN(day_diff) || day_diff < 0) { return "<span>∞</span>"; } - - return day_diff === 0 && ( - diff < 60 && say.just_now || - diff < 120 && say.minute_ago || - diff < 3600 && Math.floor(diff / 60) + say.minutes_ago || - diff < 7200 && say.hour_ago || - diff < 86400 && Math.floor(diff / 3600) + say.hours_ago) || - day_diff === 1 && say.yesterday || - day_diff < 7 && day_diff + say.days_ago || - day_diff === 7 && say.last_week || - day_diff > 7 && Math.ceil(day_diff / 7) + say.weeks_ago; -} - -function linkifyTweet(text, url) { - // Linkify urls, usernames, hashtags - text = text.replace(/(https?:\/\/)([\w\-:;?&=+.%#\/]+)/gi, '<a href="$1$2">$2</a>') - .replace(/(^|\W)@(\w+)/g, '$1<a href="https://twitter.com/$2">@$2</a>') - .replace(/(^|\W)#(\w+)/g, '$1<a href="https://search.twitter.com/search?q=%23$2">#$2</a>'); - - // Use twitter's api to replace t.co shortened urls with expanded ones. - for (var u in url) { - if(url[u].expanded_url != null){ - var shortUrl = new RegExp(url[u].url, 'g'); - text = text.replace(shortUrl, url[u].expanded_url); - var shortUrl = new RegExp(">"+(url[u].url.replace(/https?:\/\//, '')), 'g'); - text = text.replace(shortUrl, ">"+url[u].display_url); - } - } - return text -} - -function showTwitterFeed(tweets, twitter_user) { - var timeline = document.getElementById('tweets'), - content = ''; - - for (var t in tweets) { - content += '<li>'+'<p>'+'<a href="https://twitter.com/'+twitter_user+'/status/'+tweets[t].id_str+'">'+prettyDate(tweets[t].created_at)+'</a>'+linkifyTweet(tweets[t].text.replace(/\n/g, '<br>'), tweets[t].entities.urls)+'</p>'+'</li>'; - } - timeline.innerHTML = content; -} - -function getTwitterFeed(user, count, replies) { - count = parseInt(count, 10); - $.ajax({ - url: "https://api.twitter.com/1/statuses/user_timeline/" + user + ".json?trim_user=true&count=" + (count + 20) + "&include_entities=1&exclude_replies=" + (replies ? "0" : "1") + "&callback=?" - , type: 'jsonp' - , error: function (err) { $('#tweets li.loading').addClass('error').text("Twitter's busted"); } - , success: function(data) { showTwitterFeed(data.slice(0, count), user); } - }) -} |