aboutsummaryrefslogtreecommitdiff
path: root/themes/classic
diff options
context:
space:
mode:
authorBrandon Mathis <brandon@imathis.com>2011-06-27 15:59:21 -0400
committerBrandon Mathis <brandon@imathis.com>2011-06-27 15:59:21 -0400
commit353ccfd4ebec153a46b12faffff8ab2bba36efc8 (patch)
tree93eb860d1bbad2bb3f008ce1d37523254220a4b0 /themes/classic
parentef3ff431e5c3028b764d1938bb552a76c340799c (diff)
downloadmy_new_personal_website-353ccfd4ebec153a46b12faffff8ab2bba36efc8.tar.xz
my_new_personal_website-353ccfd4ebec153a46b12faffff8ab2bba36efc8.zip
1. Added Category support
2. Designed blog archives pages 3. Restructured Sass 4. Added Categories to rake post metadata 5. Some general style improvements
Diffstat (limited to 'themes/classic')
-rw-r--r--themes/classic/_plugins/category.rb65
-rw-r--r--themes/classic/_plugins/custom_filters.rb36
-rw-r--r--themes/classic/sass/core/_layout.scss134
-rw-r--r--themes/classic/sass/core/_theme.scss71
-rw-r--r--themes/classic/sass/core/_typography.scss130
-rw-r--r--themes/classic/sass/core/_utilities.scss21
-rw-r--r--themes/classic/sass/partials/_blog.scss164
-rw-r--r--themes/classic/sass/partials/_delicious.scss4
-rw-r--r--themes/classic/sass/partials/_footer.scss2
-rw-r--r--themes/classic/sass/partials/_header.scss2
-rw-r--r--themes/classic/sass/partials/_navigation.scss9
-rw-r--r--themes/classic/sass/partials/_page.scss6
-rw-r--r--themes/classic/sass/partials/_pinboard.scss12
-rw-r--r--themes/classic/sass/partials/_sidebar.scss63
-rw-r--r--themes/classic/sass/partials/_solarized.scss16
-rw-r--r--themes/classic/sass/partials/_syntax.scss13
-rw-r--r--themes/classic/sass/partials/_twitter.scss33
-rw-r--r--themes/classic/sass/screen.scss16
-rw-r--r--themes/classic/source/_includes/article.html7
-rw-r--r--themes/classic/source/_includes/navigation.html4
-rw-r--r--themes/classic/source/_includes/post_author.html4
-rw-r--r--themes/classic/source/_includes/post_date.html12
-rw-r--r--themes/classic/source/_layouts/post.html3
-rw-r--r--themes/classic/source/archive.html24
-rw-r--r--themes/classic/source/index.html4
25 files changed, 147 insertions, 708 deletions
diff --git a/themes/classic/_plugins/category.rb b/themes/classic/_plugins/category.rb
deleted file mode 100644
index b9accdec..00000000
--- a/themes/classic/_plugins/category.rb
+++ /dev/null
@@ -1,65 +0,0 @@
-module Jekyll
-
- class CategoryIndex < Page
- def initialize(site, base, dir, category)
- @site = site
- @base = base
- @dir = dir
- @name = 'index.html'
-
- self.process(@name)
- self.read_yaml(File.join(base, '_layouts'), 'category_index.html')
- self.data['category'] = category
-
- category_title_prefix = site.config['category_title_prefix'] || 'Category: '
- self.data['title'] = "#{category_title_prefix}#{category}"
- end
- end
-
- class CategoryList < Page
- def initialize(site, base, dir, categories)
- @site = site
- @base = base
- @dir = dir
- @name = 'index.html'
-
- self.process(@name)
- self.read_yaml(File.join(base, '_layouts'), 'category_list.html')
- self.data['categories'] = categories
- end
- end
-
- class CategoryGenerator < Generator
- safe true
-
- def generate(site)
- if site.layouts.key? 'category_index'
- dir = site.config['category_dir'] || 'categories'
- site.categories.keys.each do |category|
- write_category_index(site, File.join(dir, category.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), category)
- end
- end
-
- if site.layouts.key? 'category_list'
- dir = site.config['category_dir'] || 'categories'
- write_category_list(site, dir, site.categories.keys.sort)
- end
- end
-
- def write_category_index(site, dir, category)
- index = CategoryIndex.new(site, site.source, dir, category)
- index.render(site.layouts, site.site_payload)
- index.write(site.dest)
- site.static_files << index
- end
-
- def write_category_list(site, dir, categories)
- index = CategoryList.new(site, site.source, dir, categories)
- index.render(site.layouts, site.site_payload)
- index.write(site.dest)
- site.static_files << index
- end
- end
-
-end
-
diff --git a/themes/classic/_plugins/custom_filters.rb b/themes/classic/_plugins/custom_filters.rb
index d1fce0dd..f0db30ee 100644
--- a/themes/classic/_plugins/custom_filters.rb
+++ b/themes/classic/_plugins/custom_filters.rb
@@ -1,47 +1,64 @@
#custom filters for Octopress
module OctopressFilters
- def auto_exerpt(input, url, url_text="Read more &hellip;")
- if input.index(/<!--\s?more\s?-->/i)
- input.split(/<!--\s?more\s?-->/i)[0] + "<p><a rel='full-article' href='#{url}'>#{url_text}</a></p>"
+ # Used on the blog index to split posts on the <!--more--> marker
+ def exerpt(input)
+ if input.index(/<!--\s*more\s*-->/i)
+ input.split(/<!--\s*more\s*-->/i)[0]
else
input
end
end
- def exerpt(input)
- if input.index(/<!--\s*more\s*-->/i)
- input.split(/<!--\s*more\s*-->/i)[0]
+
+ # 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
+
+ # Replaces relative urls with full urls
def full_urls(input, url='')
input.gsub /(\s+(href|src)\s*=\s*["|']{1})(\/[^\"'>]+)/ do
$1+url+$3
end
end
+
+ # Returns a url without the http:// for use in as a search modifier eg. 'search terms site:website.com'
def search_url(input)
- input.gsub /(http:\/\/)(\S+)/ do
+ input.gsub /(https?:\/\/)(\S+)/ do
$2
end
end
+
+ # replaces primes with smartquotes using RubyPants
def smart_quotes(input)
require 'rubypants'
RubyPants.new(input).to_html
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
+
+ # Returns a datetime if the input is a string
def datetime(date)
if date.class == String
date = Time.parse(date)
end
date
end
+
+ # Returns an ordidinal date eg July 22 2007 -> July 22nd 2007
def ordinalize(date)
date = datetime(date)
"#{date.strftime('%b')} #{ordinal(date.strftime('%e').to_i)}, #{date.strftime('%Y')}"
end
+
+ # Returns an ordinal number. 13 -> 13th, 21 -> 21st etc.
def ordinal(number)
if (11..13).include?(number.to_i % 100)
"#{number}<span>th</span>"
@@ -54,10 +71,5 @@ module OctopressFilters
end
end
end
- #YearlyPost = Struct.new('YearlyPost', :year, :posts)
- def yearly_posts(site)
- #site.posts.reverse.group_by { |p| p.date.strftime("%Y") }.map { |k,v| YearlyPost.new(k,v) }
- site
- end
end
Liquid::Template.register_filter OctopressFilters
diff --git a/themes/classic/sass/core/_layout.scss b/themes/classic/sass/core/_layout.scss
deleted file mode 100644
index b24e1b29..00000000
--- a/themes/classic/sass/core/_layout.scss
+++ /dev/null
@@ -1,134 +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;
-
-.group { @include pie-clearfix; }
-
-body {
- -webkit-text-size-adjust: none;
- max-width: $max-width;
- position: relative;
- margin: 0 auto;
- > header, > nav, > footer, #articles > article, #articles > nav {
- @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;
- }
- }
- > header {
- font-size: 1em;
- padding-top: 1.5em;
- padding-bottom: 1.5em;
- }
-}
-
-.toggle-sidebar { display: none; }
-#articles { width: 100%;
- + aside {
- float: none;
- padding: 0 $pad-min 1px;
- background-color: $sidebar-bg;
- border-top: 1px solid $sidebar-border;
- }
-}
-
-@media only screen and (min-width: 550px) {
- body > header { font-size: 1em; }
-}
-@media only screen and (min-width: 768px) {
- body { -webkit-text-size-adjust: auto; }
- body > header { font-size: 1.2em; }
- body > nav {
- + div {
- @extend .group;
- padding: 0;
- margin: 0 auto;
- > div {
- @extend .group;
- margin-right: $sidebar-width-medium;
- }
- }
- }
- #articles {
- padding-top: $pad-medium/2;
- padding-bottom: $pad-medium/2;
- float: left;
- + aside {
- width: $sidebar-width-medium - $sidebar-pad-medium*2;
- padding: 0 $sidebar-pad-medium $sidebar-pad-medium;
- background: none;
- float: left;
- margin: 0 -100% 0 0;
- }
- }
- body > div > div { position: relative; }
-
- .collapse-sidebar {
- > div > div { margin-right: 10px; }
- #articles + aside {
- display: none;
- }
- .toggle-sidebar {
- right: -1px;
- background-color: $sidebar-bg;
- border-right-width: 0;
- text-indent: 2px;
- border-left: 1px solid $sidebar-border;
- @include border-bottom-right-radius(0);
- @include border-bottom-left-radius(.3em);
- @include link-colors(#aaa, #888);
- }
- }
-
- .toggle-sidebar {
- outline: none;
- position: absolute; right: -21px; top: 0;
- width: 20px;
- font-size: 1.2em;
- line-height: 1.1em;
- padding-bottom: .1em;
- text-indent: -1px;
- text-decoration: none;
- @include link-colors(#ccc, #999);
- @include border-bottom-right-radius(.3em);
- text-align: center;
- background: $main-bg;
- border-bottom: 1px solid $sidebar-border;
- border-right: 1px solid $sidebar-border;
- display: inline-block;
- }
-}
-
-@media only screen and (min-width: 992px) {
- body > header { font-size: 1.3em; }
- body > nav + div > div { margin-right: $sidebar-width-wide; }
- #articles {
- padding-top: $pad-wide/2;
- padding-bottom: $pad-wide/2;
- + aside {
- width: $sidebar-width-wide - $sidebar-pad-wide*2;
- padding: 1.2em $sidebar-pad-wide $sidebar-pad-wide;
- }
- }
-}
diff --git a/themes/classic/sass/core/_theme.scss b/themes/classic/sass/core/_theme.scss
deleted file mode 100644
index 7aac67e4..00000000
--- a/themes/classic/sass/core/_theme.scss
+++ /dev/null
@@ -1,71 +0,0 @@
-// Main Link Colors
-$link-color: lighten(#165b94, 3) !default;
-$link-color-hover: adjust-hue($link-color, -200) !default;
-$link-color-visited: darken(adjust_hue($link_color, 70), 10) !default;
-$link-color-active: darken($link-color-hover, 15) !default;
-
-// Main Section Colors
-$page-bg: #252525 !default;
-$article-border: #eeeeee !default;
-$main-bg: #f5f5f5 !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-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: #eee !default;
-$sidebar-link-color: $link-color !default;
-$sidebar-link-color-hover: $link-color-hover !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: darken($sidebar-bg, 7) !default;
-$sidebar-link-color-subdued: lighten($sidebar-color, 20) !default;
-$sidebar-link-color-subdued-hover: $sidebar-link-color-hover !default;
-$twitter-status-link: lighten($sidebar-link-color-subdued, 15) !default;
-
-$footer-color: #999999 !default;
-$footer-bg: #ccc !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;
-
-// Form Colors
-$fieldset-bg: #ececec;
-$fieldset-border: #c3c3c3;
-
-$textinput-color: #333333;
-$textinput-bg: #f4f4f4;
-$textinput-bg-focus: #fefeee;
-
-$textinput-border-top: #aaaaaa;
-$textinput-border-bottom: #c6c6c6;
-$textinput-border-left: #c3c3c3;
-$textinput-border-right: #c3c3c3;
-$textinput-border-focus: #989898;
-
-#articles a, #articles + aside a {
- @include link-colors($link-color, $hover: $link-color-hover, $focus: $link-color-hover, $visited: $link-color-visited, $active: $link-color-active);
-}
-a { @include transition(color, .5s); }
diff --git a/themes/classic/sass/core/_typography.scss b/themes/classic/sass/core/_typography.scss
deleted file mode 100644
index 8ab0e657..00000000
--- a/themes/classic/sass/core/_typography.scss
+++ /dev/null
@@ -1,130 +0,0 @@
-$blockquote: $type-border !default;
-$mono: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace;
-
-// Fonts
-.heading {
- font-family: "PT Serif", "Georgia", "Helvetica Neue", Arial, sans-serif;
-}
-.sans { font-family: "PT Sans", "Helvetica Neue", Arial, sans-serif; }
-.serif { font-family: "PT Serif", Georgia, Times, "Times New Roman", serif; }
-.mono { font-family: $mono; }
-
-body > header h1 {
- font-size: 2.6em;
- @extend .heading;
- font-weight: normal;
- line-height: 1.2em;
- margin-bottom: 0.6667em;
-}
-
-body {
- line-height: 1.5em;
- color: $text-color;
- @extend .serif;
-}
-
-#{headings()}{
- @extend .heading;
- text-rendering: optimizelegibility;
- margin-bottom: 1em;
- font-weight: bold;
-}
-h1 {
- font-size: 3.2em;
- line-height: 1.2em;
- @media only screen and (max-width: 768px) { font-size: 2.2em; }
-}
-
-
-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, blockquote, ul, ol { margin-bottom: 1.5em; }
-
-ul{ list-style-type: circle; }
-
-ol{ list-style-type: decimal; ol { list-style-type: lower-alpha; } }
-ul ul, ol ol { margin-left: 1.75em; }
-
-strong { font-weight: bold; }
-
-em { font-style: italic; }
-
-sup, sub { font-size: 0.8em; position: relative; display: inline-block; }
-sup { top: -.5em; }
-sub { bottom: -.5em; }
-
-q { font-style: italic;
- &:before { content: "\201C"; }
- &:after { content: "\201D"; }
-}
-
-em, dfn { font-style: italic; }
-
-strong, dfn { font-weight: bold; }
-
-del, s { text-decoration: line-through; }
-
-abbr, acronym { border-bottom: 1px dotted; cursor: help; }
-
-pre, code, tt { @extend .mono-font; }
-
-sub, sup { line-height: 0; }
-
-hr { margin-bottom: 0.2em; }
-
-small { font-size: .8em; }
-
-big { font-size: 1.2em; }
-
-blockquote {
- $bq-margin: 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: '–'; padding:{right: .3em; left: .3em;} color: $text-color-light; }
- }
- @media only screen and (min-width: 992px) {
- padding-left: 1.5em;
- border-left-width: 4px;
- }
-}
-
-.has-pullquote: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;
-}
-
diff --git a/themes/classic/sass/core/_utilities.scss b/themes/classic/sass/core/_utilities.scss
deleted file mode 100644
index 8b718cdc..00000000
--- a/themes/classic/sass/core/_utilities.scss
+++ /dev/null
@@ -1,21 +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 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/partials/_blog.scss b/themes/classic/sass/partials/_blog.scss
index 12f596a1..0cf11ae8 100644
--- a/themes/classic/sass/partials/_blog.scss
+++ b/themes/classic/sass/partials/_blog.scss
@@ -1,111 +1,107 @@
-$border: inline-image('dotted-border.png');
#articles {
overflow: hidden;
- @media only screen and (max-width: 768px) {
- ul, ol { margin-left: 1.4em; }
+ ul, ol { margin-left: 1.4em; }
+ @media only screen and (min-width: 768px) {
+ ul, ol { margin-left: 0; }
}
> article {
padding-bottom: 1em;
- &:last-child { margin-bottom: 0; border-bottom: none; }
+ &:last-child { margin-bottom: 0; }
h2 {
padding-top: 0.8em;
- background: $border top left repeat-x;
- &:first-child {
- background: none;
- padding-top: 0;
- }
+ background: $img-border top left repeat-x;
+ &:first-child { background: none; padding-top: 0; }
}
- .byline + time:before, time +time:before, .comments:before {
+ .byline + time:before, time +time:before, .comments:before, .byline ~ .categories:before {
@extend .separator;
}
- header {
- position: relative;
- padding-top: 2em;
- margin-bottom: 1.5em;
- padding-bottom: 1em;
- background: $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;
- @extend .sans;
- &.meta {
- text-transform: uppercase;
- position: absolute;
- top: 0;
- }
- }
- @media only screen and (max-width: 768px) {
- padding-bottom: 1em;
- margin-bottom: 1em;
- background: $border bottom left repeat-x;
- p.meta { position: static; }
+ }
+ 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;
+ @extend .sans;
+ &.meta {
+ text-transform: uppercase;
}
}
- h1.feature {
- padding-top: .5em;
- margin-bottom: 1em;
+ @media only screen and (min-width: 768px) {
+ margin-bottom: 1.5em;
padding-bottom: 1em;
- background: $border bottom left repeat-x;
- font-size: 2.0em; font-style: italic;
- line-height: 1.3em;
+ background: $img-border bottom left repeat-x;
+ p.meta { position: absolute; top: 0; }
}
- .entry-content {
- img, video { max-width: 100%; height: auto; }
- video {
- width: 100%; display: block; margin-bottom: 1.5em;
- padding: .8em; background: #fff; border: 1px solid #eee;
- @include box-sizing(border-box);
- }
- .flash-video {
- max-width: 100%;
- margin-bottom: 1.5em;
- @include box-sizing(border-box);
- padding: .8em; background: #fff; border: 1px solid #eee;
- > 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%;
- }
- }
- }
+ }
+ h1.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;
+ }
+ .entry-content {
+ img, video { max-width: 100%; height: auto; }
+ video {
+ width: 100%; display: block; margin-bottom: 1.5em;
+ padding: .8em; background: #fff; border: 1px solid #eee;
+ @include box-sizing(border-box);
}
- iframe.twitter-share-button {
+ }
+ .flash-video {
+ max-width: 100%;
+ margin-bottom: 1.5em;
+ @include box-sizing(border-box);
+ padding: .8em; background: #fff; border: 1px solid #eee;
+ > div {
position: relative;
- top: .3em;
- padding-left: .5em;
- }
- > footer {
- margin-top: 2em;
- padding-top: 1em;
- margin-bottom: 1.5em;
- background: $border top left repeat-x;
- time, .author { color: $text-color-light; @extend .sans; }
+ 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%;
+ }
}
}
+ iframe.twitter-share-button {
+ position: relative;
+ top: .3em;
+ padding-left: .5em;
+ }
+ > article > footer {
+ margin-top: 2em;
+ padding-top: 1em;
+ margin-bottom: 1.5em;
+ background: $img-border top left repeat-x;
+ @extend .sans;
+ }
+
}
article + article {
- background: $border top left repeat-x;
+ background: $img-border top left repeat-x;
}
#articles.blog-index {
article header { background: none; padding-bottom: 0; }
article h1 {
font-size: 2.2em;
- a { color: inherit; &:hover{ color: $link-color-hover; } }
+ a { color: inherit; &:hover { color: $link-color-hover; } }
}
a[rel=full-article] {
background: darken($main-bg, 5);
@@ -125,8 +121,6 @@ article + article {
footer {
@extend .sans;
margin-top: 1em;
- p.meta { color: $text-color-light; }
- a { color: inherit; &:hover{ color: $link-color-hover;} }
}
}
diff --git a/themes/classic/sass/partials/_delicious.scss b/themes/classic/sass/partials/_delicious.scss
deleted file mode 100644
index e962702e..00000000
--- a/themes/classic/sass/partials/_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/_footer.scss b/themes/classic/sass/partials/_footer.scss
index 019bc2a4..350c562d 100644
--- a/themes/classic/sass/partials/_footer.scss
+++ b/themes/classic/sass/partials/_footer.scss
@@ -4,7 +4,7 @@ body > footer {
color: $footer-color;
text-shadow: lighten($footer-bg, 5) 0 1px;
background-color: $footer-bg;
- @include background(linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)));
+ @include background(image-url('noise.png'), linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)));
border-top: 1px solid $footer-border-top;
position: relative;
padding-top: 1em;
diff --git a/themes/classic/sass/partials/_header.scss b/themes/classic/sass/partials/_header.scss
index 9cc4601f..8ae128b1 100644
--- a/themes/classic/sass/partials/_header.scss
+++ b/themes/classic/sass/partials/_header.scss
@@ -1,5 +1,5 @@
body > header {
- background-color: $header-bg;
+ background: $header-bg;
h1 {
display: inline-block;
margin: 0;
diff --git a/themes/classic/sass/partials/_navigation.scss b/themes/classic/sass/partials/_navigation.scss
index 2fa17a1a..be132561 100644
--- a/themes/classic/sass/partials/_navigation.scss
+++ b/themes/classic/sass/partials/_navigation.scss
@@ -1,13 +1,12 @@
body > nav {
position: relative;
background-color: $nav-bg;
- @include background(linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)));
+ @include background(image-url('noise.png'), linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)));
border: {
top: 1px solid $nav-border-top;
bottom: 1px solid $nav-border-bottom; }
padding-top: .35em;
padding-bottom: .35em;
- //position: absolute; left: 0; right: 0; top: 0;
form {
@include background-clip(padding-box);
margin: 0; padding: 0;
@@ -43,7 +42,7 @@ body > nav {
@include horizontal-list(0);
float: left;
display: block;
- padding-top: .25em;
+ padding-top: .15em;
}
ul[role=subscription] {
margin-left: .8em;
@@ -59,7 +58,7 @@ body > nav {
text-shadow: lighten($nav-bg, 12) 0 1px;
float: left;
text-decoration: none;
- font-size: 1em;
+ font-size: 1.1em;
padding: .1em 0;
line-height: 1.5em;
}
@@ -132,7 +131,7 @@ body > nav {
}
}
}
- ul[role=subscription] { li, a { border: 0; padding: 0; }}
+ ul[role=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/_page.scss b/themes/classic/sass/partials/_page.scss
index 99a07ebc..d8ff5449 100644
--- a/themes/classic/sass/partials/_page.scss
+++ b/themes/classic/sass/partials/_page.scss
@@ -1,12 +1,12 @@
html {
- background: $page-bg inline-image('line-tile.png') top left;
+ background: $page-bg image-url('line-tile.png') top left;
}
body {
> div {
- background-color: $sidebar-bg;
+ background: $sidebar-bg image-url('noise.png') top left;
border-bottom: 1px solid $page-border-bottom;
> div {
- background-color: $main-bg;
+ background: $main-bg image-url('noise.png') top left;
border-right: 1px solid $sidebar-border;
}
}
diff --git a/themes/classic/sass/partials/_pinboard.scss b/themes/classic/sass/partials/_pinboard.scss
deleted file mode 100644
index 9f9ab461..00000000
--- a/themes/classic/sass/partials/_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/partials/_sidebar.scss b/themes/classic/sass/partials/_sidebar.scss
index 8c38e2a6..ac790e04 100644
--- a/themes/classic/sass/partials/_sidebar.scss
+++ b/themes/classic/sass/partials/_sidebar.scss
@@ -1,59 +1,4 @@
-.side-shadow-border {
- @include box-shadow(lighten($sidebar-bg, 5) 0 1px);
-}
-#articles + aside {
- color: $sidebar-color;
- padding-top: 1.2em;
- text-shadow: lighten($sidebar-bg, 8) 0 1px;
- 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;
- }
- }
- }
- ul {
- margin-bottom: 0.5em;
- }
- 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, &:hover #tweets a { color: $sidebar-link-color;
- &:hover { color: $sidebar-link-color-hover; }
- }
- #recent_posts {
- time {
- text-transform: uppercase;
- font-size: .9em;
- color: #666;
- }
- }
- @import "twitter";
- @import "pinboard";
- @import "delicious";
-}
-.aside-alt-link {
- color: $sidebar-link-color-subdued;
- &:hover {
- color: $sidebar-link-color-subdued-hover;
- }
-}
+@import "sidebar/base";
+@import "sidebar/twitter";
+@import "sidebar/pinboard";
+@import "sidebar/delicious";
diff --git a/themes/classic/sass/partials/_solarized.scss b/themes/classic/sass/partials/_solarized.scss
deleted file mode 100644
index 4952120d..00000000
--- a/themes/classic/sass/partials/_solarized.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-$base03: #002b36; //darkest blue
-$base02: #073642; //dark blue
-$base01: #586e75; //darkest gray
-$base00: #657b83; //dark gray
-$base0: #839496; //medium gray
-$base1: #93a1a1; //medium light gray
-$base2: #eee8d5; //cream
-$base3: #fdf6e3; //white
-$yellow: #b58900;
-$orange: #cb4b16;
-$red: #dc322f;
-$magenta: #d33682;
-$violet: #6c71c4;
-$blue: #268bd2;
-$cyan: #2aa198;
-$green: #859900;
diff --git a/themes/classic/sass/partials/_syntax.scss b/themes/classic/sass/partials/_syntax.scss
index dc6472f2..b14b23bd 100644
--- a/themes/classic/sass/partials/_syntax.scss
+++ b/themes/classic/sass/partials/_syntax.scss
@@ -1,14 +1,16 @@
+$pre-bg: image-url('noise.png') top left;
.highlight, html .gist .gist-file .gist-syntax .gist-highlight {
.line-numbers {
text-align: right;
font-size: .8em;
line-height: 1.45em;
- background: $base02 !important;
+ background: $base02 $pre-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);
}
}
html .gist .gist-file {
@@ -30,7 +32,7 @@ html .gist .gist-file {
border: 1px solid lighten($base02, 2) !important;
color: $base01;
font-size: .7em !important;
- background: $base02;
+ background: $base02 $pre-bg;
@extend .sans;
line-height: 1.5em;
a {
@@ -51,14 +53,15 @@ html .gist .gist-file {
}
}
pre {
- background: #333;
+ background: $base03 $pre-bg;
@include border-radius(.4em);
@extend .mono;
+ border: 1px solid $base02;
line-height: 1.45em;
font-size: .8em;
margin-bottom: 1.5em;
padding: .8em 1em;
- color: #ccc;
+ color: $base1;
overflow: auto;
}
h3.filename {
@@ -88,7 +91,7 @@ p code {
padding: .8em !important;
overflow-x: auto;
line-height: 1.45em;
- background: $base03 !important;
+ background: $base03 $pre-bg !important;
color: $base1 !important;
span { color: $base1 !important; }
span { font-style: normal !important; font-weight: normal !important; }
diff --git a/themes/classic/sass/partials/_twitter.scss b/themes/classic/sass/partials/_twitter.scss
deleted file mode 100644
index 36c6f62b..00000000
--- a/themes/classic/sass/partials/_twitter.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-#tweets {
- .loading {
- background: inline-image('bird_32_gray.png') no-repeat center .5em;
- color: darken($sidebar-bg, 18);
- text-shadow: $main-bg 0 1px;
- text-align: center;
- padding: 2.5em 0 .5em;
- &.error {
- background: inline-image('bird_32_gray_fail.png') no-repeat center .5em;
- }
- }
- a { color: $sidebar-link-color-subdued; @include hover-link; }
- p {
- position: relative;
- padding-right: 1em;
- }
- a[href*=status]{
- color: $twitter-status-link;
- float: right;
- padding: 0 0 .1em 1em;
- position: relative; right: -1.3em;
- text-shadow: #fff 0 1px;
- font-size: .7em;
- span { font-size: 1.5em; }
- &:hover {
- color: $sidebar-link-color-subdued-hover;
- text-decoration: none;
- }
- }
- a[href*='twitter.com/search']{
- @extend .aside-alt-link;
- }
-}
diff --git a/themes/classic/sass/screen.scss b/themes/classic/sass/screen.scss
index a26f08e2..f08da4c2 100644
--- a/themes/classic/sass/screen.scss
+++ b/themes/classic/sass/screen.scss
@@ -2,20 +2,8 @@
@include global-reset;
@include reset-html5;
-@import "core/utilities";
-@import "partials/solarized";
@import "custom/colors";
-@import "core/theme";
@import "custom/layout";
-@import "core/layout";
-@import "core/typography";
-
-/* layout partials */
-@import "partials/header";
-@import "partials/navigation";
-@import "partials/page";
-@import "partials/sidebar";
-@import "partials/blog";
-@import "partials/footer";
-@import "partials/syntax";
+@import "base";
+@import "partials";
@import "custom/styles";
diff --git a/themes/classic/source/_includes/article.html b/themes/classic/source/_includes/article.html
index 7ed6430f..b458d732 100644
--- a/themes/classic/source/_includes/article.html
+++ b/themes/classic/source/_includes/article.html
@@ -1,7 +1,7 @@
{% unless page.no_header %}
<header>
{% if index %}
- <h1 class="entry-title"><a href="{{ page.url }}">{{ page.title | titlecase }}</a></h1>
+ <h1 class="entry-title"><a href="{{ post.url }}">{{ post.title | titlecase }}</a></h1>
{% else %}
<h1 class="entry-title">{{ page.title | titlecase }}</h1>
{% endif %}
@@ -10,12 +10,13 @@
{% endunless %}
{% if index %}
<div class="entry-content">{{ content | exerpt | smart_quotes }}</div>
- <p><a rel="full-article" href="{{ page.url }}">Read on &rarr;</a></p>
+ <p><a rel="full-article" href="{{ post.url }}">Read on &rarr;</a></p>
<footer>
<p class="meta">
{% include post_author.html %}
{% include post_date.html %}
- <span class="comments"><a rel="comments" href="{{ page.url }}#disqus_thread">Add a comment</a></span>
+ {% include post_categories.html %}
+ <span class="comments"><a rel="comments" href="{{ post.url }}#disqus_thread">Comments</a></span>
{% include sharing.html %}
</p>
</footer>
diff --git a/themes/classic/source/_includes/navigation.html b/themes/classic/source/_includes/navigation.html
index f941f1f1..e2827983 100644
--- a/themes/classic/source/_includes/navigation.html
+++ b/themes/classic/source/_includes/navigation.html
@@ -11,6 +11,6 @@
</fieldset>
</form>
<ul role="main-nav">
- <li><a href="/">Home</a></li>
- <li><a href="/archive.html">Archive</a></li>
+ <li><a href="/">Blog</a></li>
+ <li><a href="/archives.html">Archives</a></li>
</ul>
diff --git a/themes/classic/source/_includes/post_author.html b/themes/classic/source/_includes/post_author.html
index a62a68a8..b2db9043 100644
--- a/themes/classic/source/_includes/post_author.html
+++ b/themes/classic/source/_includes/post_author.html
@@ -1,5 +1,5 @@
-{% if page.author %}
- {% assign author = page.author %}
+{% if post.author %}
+ {% assign author = post.author %}
{% else %}
{% assign author = site.author %}
{% endif %}
diff --git a/themes/classic/source/_includes/post_date.html b/themes/classic/source/_includes/post_date.html
index e8455a60..f1ed4815 100644
--- a/themes/classic/source/_includes/post_date.html
+++ b/themes/classic/source/_includes/post_date.html
@@ -1,6 +1,10 @@
-{% if page.date %}
-<time datetime="{{ page.date | datetime }}" pubdate {% if page.updated %} updated {% endif %}>{{ page.date | ordinalize }}</time>
+{% capture date %}{{ page.date }}{{ post.date }}{% endcapture %}
+{% capture has_date %}{{ date | size }}{% endcapture %}
+{% capture updated %}{{ page.updated }}{{ post.updated }}{% endcapture %}
+{% capture was_updated %}{{ updated | size }}{% endcapture %}
+{% if has_date != '0' %}
+<time datetime="{{ date | datetime }}" pubdate {% if updated %} updated {% endif %}>{{ date | ordinalize }}</time>
{% endif %}
-{% if page.updated %}
-<time class="updated" datetime="{{ page.updated | datetime }}"></time>
+{% if was_updated != '0' %}
+<time class="updated" datetime="{{ updated | datetime }}"></time>
{% endif %}
diff --git a/themes/classic/source/_layouts/post.html b/themes/classic/source/_layouts/post.html
index 196bb4dd..5f55e89f 100644
--- a/themes/classic/source/_layouts/post.html
+++ b/themes/classic/source/_layouts/post.html
@@ -5,13 +5,16 @@ single: true
<article class="hentry">
{% include article.html %}
+ {% unless page.no_meta %}
<footer>
<p class="meta">
{% include post_author.html %}
{% include post_date.html %}
+ {% include post_categories.html %}
{% include sharing.html %}
</p>
</footer>
+ {% endunless %}
{% if site.disqus_short_name %}
<section>
<h1>Comments</h1>
diff --git a/themes/classic/source/archive.html b/themes/classic/source/archive.html
deleted file mode 100644
index e49c6b67..00000000
--- a/themes/classic/source/archive.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: post
-title: Blog Archive
-no_meta: true
----
-{% for post in site.posts reverse %}
- {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
- {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
- {% unless year == this_year %}
- {% unless forloop.first %}</ul>{% endunless %}
- {% assign year = this_year %}
- <h2>{{ year }}</h2>
- <ul class="blog_archives">
- {% endunless %}
- {% unless month == this_month %}
- {% assign month = this_month %}
- <li><h4>{{ month }}</h4></li>
- {% endunless %}
- <li>
- <time datetime="{{ post.date | datetime }}" pubdate>{{ post.date | date: "%d"}}</time>
- <a href="{{ post.url }}">{{post.title}}</a>
- </li>
- {% if forloop.last %}</ul>{% endif %}
-{% endfor %}
diff --git a/themes/classic/source/index.html b/themes/classic/source/index.html
index d6ff868e..47d848e3 100644
--- a/themes/classic/source/index.html
+++ b/themes/classic/source/index.html
@@ -3,8 +3,8 @@ layout: default
blog_index: true
---
{% assign index = true %}
-{% for page in paginator.posts %}
-{% assign content = page.content %}
+{% for post in paginator.posts %}
+{% assign content = post.content %}
<article>
{% include article.html %}
</article>