From 4c18e3c136bea49e3335ab594ae22d999892cf27 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 30 Dec 2011 14:17:44 -0800 Subject: [PATCH 001/124] version 0.0.1 --- .gitignore | 6 + 404.html | 1 + README.md | 41 ++ Rakefile | 29 + _config.yml | 18 + _includes/helpers/categories_list.html | 34 ++ _includes/helpers/liquid_raw.html | 29 + _includes/helpers/pages_list.html | 37 ++ _includes/helpers/posts_collate.html | 52 ++ _includes/helpers/tags_list.html | 30 + _includes/production/analytics.html | 5 + _includes/themes/mark-reid/default.html | 75 +++ _includes/themes/mark-reid/page.html | 6 + _includes/themes/mark-reid/post.html | 31 + _includes/themes/tom/default.html | 60 ++ _includes/themes/tom/page.html | 3 + _includes/themes/tom/post.html | 17 + _layouts/default.html | 4 + _layouts/page.html | 4 + _layouts/post.html | 4 + _plugins/debug.rb | 38 ++ .../2011-12-29-jekyll-introduction.md | 410 +++++++++++++ .../core-samples/api/2011-11-27-theme-api.md | 10 + .../api/2011-11-28-bootstrap-api.md | 65 +++ .../api/2011-11-29-jekyll-liquid-api.md | 38 ++ .../api/2011-11-30-template-data-api.md | 172 ++++++ .../helpers/2011-9-27-posts-collate.md | 34 ++ .../helpers/2011-9-28-categories-list.md | 49 ++ .../helpers/2011-9-29-pages-list.md | 43 ++ .../helpers/2011-9-30-tags-list.md | 50 ++ .../2011-10-28-deployment-and-hosting.md | 36 ++ .../usage/2011-10-29-configuring-urls.md | 26 + .../usage/2011-10-30-jekyll-theming.md | 31 + .../usage/2011-10-31-jekyll-quick-start.md | 81 +++ archive.html | 9 + assets/themes/mark-reid/css/screen.css | 549 ++++++++++++++++++ assets/themes/mark-reid/css/syntax.css | 60 ++ assets/themes/tom/css/screen.css | 197 +++++++ assets/themes/tom/css/syntax.css | 60 ++ categories.html | 21 + index.md | 45 ++ pages.html | 21 + sitemap.txt | 7 + tags.html | 20 + 44 files changed, 2558 insertions(+) create mode 100644 .gitignore create mode 100644 404.html create mode 100644 README.md create mode 100644 Rakefile create mode 100644 _config.yml create mode 100644 _includes/helpers/categories_list.html create mode 100644 _includes/helpers/liquid_raw.html create mode 100644 _includes/helpers/pages_list.html create mode 100644 _includes/helpers/posts_collate.html create mode 100644 _includes/helpers/tags_list.html create mode 100644 _includes/production/analytics.html create mode 100644 _includes/themes/mark-reid/default.html create mode 100644 _includes/themes/mark-reid/page.html create mode 100644 _includes/themes/mark-reid/post.html create mode 100644 _includes/themes/tom/default.html create mode 100644 _includes/themes/tom/page.html create mode 100644 _includes/themes/tom/post.html create mode 100644 _layouts/default.html create mode 100644 _layouts/page.html create mode 100644 _layouts/post.html create mode 100644 _plugins/debug.rb create mode 100644 _posts/core-samples/2011-12-29-jekyll-introduction.md create mode 100644 _posts/core-samples/api/2011-11-27-theme-api.md create mode 100644 _posts/core-samples/api/2011-11-28-bootstrap-api.md create mode 100644 _posts/core-samples/api/2011-11-29-jekyll-liquid-api.md create mode 100644 _posts/core-samples/api/2011-11-30-template-data-api.md create mode 100644 _posts/core-samples/helpers/2011-9-27-posts-collate.md create mode 100644 _posts/core-samples/helpers/2011-9-28-categories-list.md create mode 100644 _posts/core-samples/helpers/2011-9-29-pages-list.md create mode 100644 _posts/core-samples/helpers/2011-9-30-tags-list.md create mode 100644 _posts/core-samples/usage/2011-10-28-deployment-and-hosting.md create mode 100644 _posts/core-samples/usage/2011-10-29-configuring-urls.md create mode 100644 _posts/core-samples/usage/2011-10-30-jekyll-theming.md create mode 100644 _posts/core-samples/usage/2011-10-31-jekyll-quick-start.md create mode 100644 archive.html create mode 100644 assets/themes/mark-reid/css/screen.css create mode 100644 assets/themes/mark-reid/css/syntax.css create mode 100644 assets/themes/tom/css/screen.css create mode 100644 assets/themes/tom/css/syntax.css create mode 100644 categories.html create mode 100644 index.md create mode 100644 pages.html create mode 100644 sitemap.txt create mode 100644 tags.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d81823a --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +_site/* + +Thumbs.db +.DS_Store + +!.gitkeep diff --git a/404.html b/404.html new file mode 100644 index 0000000..6904bcd --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +Sorry this page does not exist =( diff --git a/README.md b/README.md new file mode 100644 index 0000000..67305ee --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Jekyll-Bootstrap + +This is a clean install of the core Jekyll Bootstrap framework you can clone and run your Jekyll blog with. + +Jekyll-bootstrap is the quickest and most hassle-free way to get your new Jekyll powered website up and running. +100% compatible with GitHub pages. + +## Usage + +For all usage and documentation please see: + +## Version + +0.0.1 - stable but not versioned. + +This version is stable and readily deployable to GitHub Pages and production Jekyll installs. +However, please expect fast updates that are not backwards compatible with older installs. +When development reaches 0.1.0, version compatibility between releases will be respected. + +## Development + +Development is active! + +## Contributing + +This repository tracks 2 projects: + +- **Jekyll-Bootstrap Framework.** + The framework for which users should clone and build their blog on top of is available in the master branch. + Please fork and contribute additions to the framework itself here. + +- **Jekyll-Bootstrap Documentation Website.** + The documentation website at is maintained in the gh-pages branch. + Please fork and contribute documentation additions to this branch only. + +The master and gh-pages branch do not share the same ancestry. Please treat them as completely separate git repositories! + + +## License + +[Creative Commons](http://creativecommons.org/licenses/by-nc-sa/3.0/) diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..bea3fd9 --- /dev/null +++ b/Rakefile @@ -0,0 +1,29 @@ +require "rubygems" +require 'rake' + +desc "Switch between Jekyll-bootstrap themes." +task :switch_theme, :theme do |t, args| + theme_path = File.join(File.dirname(__FILE__), "_includes", "themes", args.theme) + layouts_path = File.join(File.dirname(__FILE__), "_layouts") + + abort("rake aborted: './_includes/themes/#{args.theme}' directory not found.") unless Dir.exists?(theme_path) + abort("rake aborted: './_layouts' directory not found.") unless Dir.exists?(layouts_path) + + Dir.glob("#{theme_path}/*") do |filename| + puts "Generating '#{args.theme}' layout: #{File.basename(filename)}" + + open("#{layouts_path}/#{File.basename(filename)}", 'w') do |page| + if File.basename(filename, ".html").downcase == "default" + page.puts "---" + page.puts "---" + page.puts "{% assign theme_asset_path = \"/assets/themes/#{args.theme}\" %}" + else + page.puts "---" + page.puts "layout: default" + page.puts "---" + end + page.puts "{% include themes/#{args.theme}/#{File.basename(filename)} %}" + end + end +end # task :switch_theme + diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..47de579 --- /dev/null +++ b/_config.yml @@ -0,0 +1,18 @@ +# This is the default format. +# For more see: https://github.com/mojombo/jekyll/wiki/Permalinks +permalink: /:categories/:year/:month/:day/:title +auto: true +pygments: true +var: + archive_path: /archive.html + categories_path : /categories.html + tags_path : /tags.html + +production_url : http://username.github.com # or your custom domain name +title : My Blog =) + +author : + name : Name Lastname + email : blah@email.test + github : username + twitter : username diff --git a/_includes/helpers/categories_list.html b/_includes/helpers/categories_list.html new file mode 100644 index 0000000..2ced2d2 --- /dev/null +++ b/_includes/helpers/categories_list.html @@ -0,0 +1,34 @@ +{% comment %}{% endcomment %} + +{% if categories_list.first[0] == null %} + {% for category in categories_list %} +
  • + {{ category | join: "/" }} {{ site.categories[category].size }} +
  • + {% endfor %} +{% else %} + {% for category in categories_list %} +
  • + {{ category[0] | join: "/" }} {{ category[1].size }} +
  • + {% endfor %} +{% endif %} + +{% assign categories_list = null %} diff --git a/_includes/helpers/liquid_raw.html b/_includes/helpers/liquid_raw.html new file mode 100644 index 0000000..54a15e4 --- /dev/null +++ b/_includes/helpers/liquid_raw.html @@ -0,0 +1,29 @@ +{% comment%}{% endcomment%} + +
    {{text | replace:"|.", "{" | replace:".|", "}" | replace:">", ">" | replace:"<", "<" }}
    + +{% assign text = null %} \ No newline at end of file diff --git a/_includes/helpers/pages_list.html b/_includes/helpers/pages_list.html new file mode 100644 index 0000000..44c5279 --- /dev/null +++ b/_includes/helpers/pages_list.html @@ -0,0 +1,37 @@ +{% comment %}{% endcomment %} + + +{% for node in pages_list %} + {% if group == null or group == node.group %} + + {% if page.url == node.url %} +
  • {{node.title}}
  • + {% else %} +
  • {{node.title}}
  • + {% endif %} + + {% endif %} +{% endfor %} + +{% assign pages_list = null %} +{% assign group = null %} diff --git a/_includes/helpers/posts_collate.html b/_includes/helpers/posts_collate.html new file mode 100644 index 0000000..7e55554 --- /dev/null +++ b/_includes/helpers/posts_collate.html @@ -0,0 +1,52 @@ +{% comment %}{% endcomment %} + +{% for post in posts_collate %} + {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} + {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %} + {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %} + {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %} + + {% if forloop.first %} +

    {{this_year}}

    +

    {{this_month}}

    +
      + {% endif %} + +
    • {{ post.date | date: "%B %e, %Y" }} {{ post.title }}
    • + + {% if forloop.last %} +
    + {% else %} + {% if this_year != next_year %} + +

    {{next_year}}

    +

    {{next_month}}

    +
      + {% else %} + {% if this_month != next_month %} +
    +

    {{next_month}}

    +
      + {% endif %} + {% endif %} + {% endif %} +{% endfor %} + +{% assign posts_collate = null %} diff --git a/_includes/helpers/tags_list.html b/_includes/helpers/tags_list.html new file mode 100644 index 0000000..d2518e0 --- /dev/null +++ b/_includes/helpers/tags_list.html @@ -0,0 +1,30 @@ +{% comment %}{% endcomment %} + +{% if tags_list.first[0] == null %} + {% for tag in tags_list %} +
    • {{ tag }} {{ site.tags[tag].size }}
    • + {% endfor %} +{% else %} + {% for tag in tags_list %} +
    • {{ tag[0] }} {{ tag[1].size }}
    • + {% endfor %} +{% endif %} + +{% assign tags_list = null %} diff --git a/_includes/production/analytics.html b/_includes/production/analytics.html new file mode 100644 index 0000000..3f12c6a --- /dev/null +++ b/_includes/production/analytics.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/_includes/themes/mark-reid/default.html b/_includes/themes/mark-reid/default.html new file mode 100644 index 0000000..835a4bc --- /dev/null +++ b/_includes/themes/mark-reid/default.html @@ -0,0 +1,75 @@ + + + + + + {{ page.title }} ← {{ page.top }} + + + + + {% if page.keywords %} + + {% endif %} + + {% if page.feed %} + + {% endif %} + + + + + + + + + +
      + + + + {{ content }} + + + +
      + + +{% if site.safe %} + {% include production/analytics.html %} +{% endif %} + + diff --git a/_includes/themes/mark-reid/page.html b/_includes/themes/mark-reid/page.html new file mode 100644 index 0000000..05af78e --- /dev/null +++ b/_includes/themes/mark-reid/page.html @@ -0,0 +1,6 @@ +
      + +

      {{ page.title }}

      +{{ content }} + +
      diff --git a/_includes/themes/mark-reid/post.html b/_includes/themes/mark-reid/post.html new file mode 100644 index 0000000..76dd994 --- /dev/null +++ b/_includes/themes/mark-reid/post.html @@ -0,0 +1,31 @@ +
      + +

      {{ page.title }}

      +
        + {% assign tags_list = page.tags %} + {% include helpers/tags_list.html %} +
      + + {{ content }} + +
      + {{ site.author.name }} + {{ page.date | date_to_long_string }} + {{ page.location }} +
      + +
      + {% if page.next %} + + {% endif %} + {% if page.previous %} + + {% endif %} +
      + +
      + + +
      +

      Comment Section

      +
      diff --git a/_includes/themes/tom/default.html b/_includes/themes/tom/default.html new file mode 100644 index 0000000..2c43e6b --- /dev/null +++ b/_includes/themes/tom/default.html @@ -0,0 +1,60 @@ + + + + + {{ page.title }} + + + + + + + + + + + + + + + +
      + + + {{ content }} + + +
      + Fork me on GitHub + +{% if site.safe %} + {% include production/analytics.html %} +{% endif %} + + diff --git a/_includes/themes/tom/page.html b/_includes/themes/tom/page.html new file mode 100644 index 0000000..8c753b9 --- /dev/null +++ b/_includes/themes/tom/page.html @@ -0,0 +1,3 @@ +
      +{{ content }} +
      diff --git a/_includes/themes/tom/post.html b/_includes/themes/tom/post.html new file mode 100644 index 0000000..fc94e5e --- /dev/null +++ b/_includes/themes/tom/post.html @@ -0,0 +1,17 @@ +
      +

      {{ page.title }}

      +

      + {{ page.date | date_to_long_string }} + {% if page.location %}{{ page.location }}{% endif %} +

      + {{ content }} +
      + + \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..2391b67 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,4 @@ +--- +--- +{% assign theme_asset_path = "/assets/themes/tom" %} +{% include themes/tom/default.html %} diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..7985e03 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,4 @@ +--- +layout: default +--- +{% include themes/tom/page.html %} diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..66490a9 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,4 @@ +--- +layout: default +--- +{% include themes/tom/post.html %} diff --git a/_plugins/debug.rb b/_plugins/debug.rb new file mode 100644 index 0000000..e1dde39 --- /dev/null +++ b/_plugins/debug.rb @@ -0,0 +1,38 @@ +# A simple way to inspect liquid template variables. +# Usage: +# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages) +# {{ site | debug }} +# {{ site.posts | debug }} +# +require 'pp' +module Jekyll + # Need to overwrite the inspect method here because the original + # uses < > to encapsulate the psuedo post/page objects in which case + # the output is taken for HTML tags and hidden from view. + # + class Post + def inspect + "#Jekyll:Post @id=#{self.id.inspect}" + end + end + + class Page + def inspect + "#Jekyll:Page @name=#{self.name.inspect}" + end + end + +end # Jekyll + +module Jekyll + module DebugFilter + + def debug(obj, stdout=false) + puts obj.pretty_inspect if stdout + "
      #{obj.class}\n#{obj.pretty_inspect}
      " + end + + end # DebugFilter +end # Jekyll + +Liquid::Template.register_filter(Jekyll::DebugFilter) \ No newline at end of file diff --git a/_posts/core-samples/2011-12-29-jekyll-introduction.md b/_posts/core-samples/2011-12-29-jekyll-introduction.md new file mode 100644 index 0000000..7f92150 --- /dev/null +++ b/_posts/core-samples/2011-12-29-jekyll-introduction.md @@ -0,0 +1,410 @@ +--- +layout: post +category : lessons +tags : [intro, beginner, jekyll, tutorial] +--- + +This Jekyll introduction will outline specifically what Jekyll is and why you would want to use it. +Directly following the intro we'll learn exactly _how_ Jekyll does what it does. + +## Overview + +### What is Jekyll? + +Jekyll is a parsing engine bundled as a ruby gem used to build static websites from +dynamic components such as templates, partials, liquid code, markdown, etc. Jekyll is known as "a simple, blog aware, static site generator". + +### Examples + +This website is created with Jekyll. [Other Jekyll websites](https://github.com/mojombo/jekyll/wiki/Sites). + + + +### What does Jekyll Do? + +Jekyll is a ruby gem you install on your local system. +Once there you can call `jekyll --server` on a directory and provided that directory +is setup in a way jekyll expects, it will do magic stuff like parse markdown/textile files, +compute categories, tags, permalinks, and construct your pages from layout templates and partials. + +Once parsed, Jekyll stores the result in a self-contained static `_site` folder. +The intention here is that you can serve all contents in this folder statically from a plain static web-server. + +You can think of Jekyll as a normalish dynamic blog but rather than parsing content, templates, and tags +on each request, Jekyll does this once _beforehand_ and caches the _entire website_ in a folder for serving statically. + +### Jekyll is Not Blogging Software + +**Jekyll is a parsing engine.** + +Jekyll does not come with any content nor does it have any templates or design elements. +This is a common source of confusion when getting started. +Jekyll does not come with anything you actually use or see on your website - you have to make it. + +### Why Should I Care? + +Jekyll is very minimalistic and very efficient. +The most important thing to realize about Jekyll is that it creates a static representation of your website requiring only a static web-server. +Traditional dynamic blogs like Wordpress require a database and server-side code. +Heavily trafficked dynamic blogs must employ a caching layer that ultimately performs the same job Jekyll sets out to do; serve static content. + +Therefore if you like to keep things simple and you prefer the command-line over an admin panel UI then give Jekyll a try. + +**Developers like Jekyll because we can write content like we write code:** + +- Ability to write content in markdown or textile in your favorite text-editor. +- Ability to write and preview your content via localhost. +- No internet connection required. +- Ability to publish via git. +- Ability to host your blog on a static web-server. +- Ability to host freely on GitHub Pages. +- No database required. + +# How Jekyll Works + +The following is a complete but concise outline of exactly how Jekyll works. + +Be aware that core concepts are introduced in rapid succession without code examples. +This information is not intended to specifically teach you how to do anything, rather it +is intended to give you the _full picture_ relative to what is going on in Jekyll-world. + +Learning these core concepts should help you avoid common frustrations and ultimately +help you better understand the code examples contained throughout Jekyll-Bootstrap. + + +## Initial Setup + +After [installing jekyll](/index.html#start-now) you'll need to format your website directory in a way jekyll expects. +Jekyll-bootstrap conveniently provides the base directory format. + +### The Jekyll Application Base Format + +Jekyll expects your website directory to be laid out like so: + + . + |-- _config.yml + |-- _includes + |-- _layouts + | |-- default.html + | |-- post.html + |-- _posts + | |-- 20011-10-25-open-source-is-good.markdown + | |-- 20011-04-26-hello-world.markdown + |-- _site + |-- index.html + |-- assets + |-- css + |-- style.css + |-- javascripts + + +- **\_config.yml** + Stores configuration data. + +- **\_includes** + This folder is for partial views. + +- **\_layouts** + This folder is for the main templates your content will be inserted into. + You can have different layouts for different pages or page sections. + +- **\_posts** + This folder contains your dynamic content/posts. + the naming format is required to be `@YEAR-MONTH-DATE-title.MARKUP@`. + +- **\_site** + This is where the generated site will be placed once Jekyll is done transforming it. + +- **assets** + This folder is not part of the standard jekyll structure. + The assets folder represents _any generic_ folder you happen to create in your root directory. + Directories and files not properly formatted for jekyll will be left untouched for you to serve normally. + +(read more: ) + + +### Jekyll Configuration + +Jekyll supports various configuration options that are fully outlined here: + + + + + +## Content in Jekyll + +Content in Jekyll is either a post or a page. +These content "objects" get inserted into one or more templates to build the final output for its respective static-page. + +### Posts and Pages + +Both posts and pages should be written in markdown, textile, or HTML and may also contain Liquid templating syntax. +Both posts and pages can have meta-data assigned on a per-page basis such as title, url path, as well as arbitrary custom meta-data. + +### Working With Posts + +**Creating a Post** +Posts are created by properly formatting a file and placing it the `_posts` folder. + +**Formatting** +A post must have a valid filename in the form `YEAR-MONTH-DATE-title.MARKUP` and be placed in the `_posts` directory. +If the data format is invalid Jekyll will not recognize the file as a post. The date and title are automatically parsed from the filename of the post file. +Additionally, each file must have [YAML Front-Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter) prepended to its content. +YAML Front-Matter is a valid YAML syntax specifying meta-data for the given file. + +**Order** +Ordering is an important part of Jekyll but it is hard to specify a custom ordering strategy. +Only reverse chronological and chronological ordering is supported in Jekyll. + +Since the date is hard-coded into the filename format, to change the order, you must change the dates in the filenames. + +**Tags** +Posts can have tags associated with them as part of their meta-data. +Tags may be placed on posts by providing them in the post's YAML front matter. +You have access to the post-specific tags in the templates. These tags also get added to the sitewide collection. + +**Categories** +Posts may be categorized by providing one or more categories in the YAML front matter. +Categories offer more significance over tags in that they can be reflected in the URL path to the given post. +Note categories in Jekyll work in a specific way. +If you define more than one category you are defining a category hierarchy "set". +Example: + + --- + title : Hello World + categories : [lessons, beginner] + --- + +This defines the category hierarchy "lessons/beginner". Note this is _one category_ node in Jekyll. +You won't find "lessons" and "beginner" as two separate categories unless you define them elsewhere as singular categories. + +### Working With Pages + +**Creating a Page** +Pages are created by properly formatting a file and placing it anywhere in the root directory or subdirectories that do _not_ start with an underscore. + +**Formatting** +In order to register as a Jekyll page the file must contain [YAML Front-Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter). +Registering a page means 1) that Jekyll will process the page and 2) that the page object will be available in the `site.pages` array for inclusion into your templates. + +**Categories and Tags** +Pages do not compute categories nor tags so defining them will have no effect. + +**Sub-Directories** +If pages are defined in sub-directories, the path to the page will be reflected in the url. +Example: + + . + |-- people + |-- bob + |-- essay.html + +This page will be available at `http://yourdomain.com/people/bob/essay.html` + + +**Recommended Pages** + +- **index.html** + You will always want to define the root index.html page as this will display on your root URL. +- **404.html** + Create a root 404.html page and GitHub Pages will serve it as your 404 response. +- **sitemap.html** + Generating a sitemap is good practice for SEO. +- **about.html** + A nice about page is easy to do and gives the human perspective to your website. + + +## Templates in Jekyll + +Templates are used to contain a page's or post's content. +All templates have access to a global site object variable: `site` as well as a page object variable: `page`. +The site variable holds all accessible content and metadata relative to the site. +The page variable holds accessible data for the given page or post being rendered at that point. + +**Create a Template** +Templates are created by properly formatting a file and placing it in the `_layouts` directory. + +**Formatting** +Templates should be coded in HTML and contain YAML Front Matter. +All templates can contain Liquid code to work with your site's data. + +**Rending Page/Post Content in a Template** +There is a special variable in all templates named : `content`. +The `content` variable holds the page/post content including any sub-template content previously defined. +Render the content variable wherever you want your main content to be injected into your template: + +{% capture text %}... + + +
      + |.{content}.| +
      + +...{% endcapture %} +{% include helpers/liquid_raw.html %} + +### Sub-Templates + +Sub-templates are exactly templates with the only difference being they +define another "root" layout/template within their YAML Front Matter. +This essentially means a template will render inside of another template. + +### Includes +In Jekyll you can define include files by placing them in the `_includes` folder. +Includes are NOT templates, rather they are just code snippets that get included into templates. +In this way, you can treat the code inside includes as if it was native to the parent template. + +Any valid template code may be used in includes. + + +## Using Liquid for Templating + +Templating is perhaps the most confusing and frustrating part of Jekyll. +This is mainly due to the fact that Jekyll templates must use the Liquid Templating Language. + +### What is Liquid? + +[Liquid](https://github.com/Shopify/liquid) is a secure templating language developed by [Shopify](http://shopify.com). +Liquid is designed for end-users to be able to execute logic within template files +without imposing any security risk on the hosting server. + +Jekyll uses Liquid to generate the post content within the final page layout structure and as the primary interface for working with +your site and post/page data. + +### Why Do We Have to Use Liquid? + +GitHub uses Jekyll to power [GitHub Pages](http://pages.github.com/). +GitHub cannot afford to run arbitrary code on their servers so they lock developers down via Liquid. + +### Liquid is Not Programmer-Friendly. + +The short story is liquid is not real code and its not intended to execute real code. +The point being you can't do jackshit in liquid that hasn't been allowed explicitly by the implementation. +What's more you can only access data-structures that have been explicitly passed to the template. + +In Jekyll's case it is not possible to alter what is passed to Liquid without hacking the gem or running custom plugins. +Both of which cannot be supported by GitHub Pages. + +As a programmer - this is very frustrating. + +But rather than look a gift horse in the mouth we are going to +suck it up and view it as an opportunity to work around limitations and adopt client-side solutions when possible. + +**Aside** +My personal stance is to not invest time trying to hack liquid. It's really unnecessary +_from a programmer's_ perspective. That is to say if you have the ability to run custom plugins (i.e. run arbitrary ruby code) +you are better off sticking with ruby. Toward that end I've built [Mustache-with-Jekyll](http://github.com/plusjade/mustache-with-jekyll) + + +## Static Assets + +Static assets are any file in the root or non-underscored subfolders that are not pages. +That is they have no valid YAML Front Matter and are thus not treated as Jekyll Pages. + +Static assets should be used for images, css, and javascript files. + + + + +## How Jekyll Parses Files + +Remember Jekyll is a processing engine. There are two main types of parsing in Jekyll. + +- **Content parsing.** + This is done with textile or markdown. +- **Template parsing.** + This is done with the liquid templating language. + +And thus there are two main types of file formats needed for this parsing. + +- **Post and Page files.** + All content in Jekyll is either a post or a page so valid posts and pages are parsed with markdown or textile. +- **Template files.** + These files go in `_layouts` folder and contain your blogs **templates**. They should be made in HTML with the help of Liquid syntax. + Since include files are simply injected into templates they are essentially parsed as if they were native to the template. + +**Arbitrary files and folders.** +Files that _are not_ valid pages are treated as static content and pass through +Jekyll untouched and reside on your blog in the exact structure and format they originally existed in. + +### Formatting Files for Parsing. + +We've outlined the need for valid formatting using **YAML Front Matter**. +Templates, posts, and pages all need to provide valid YAML Front Matter even if the Matter is empty. +This is the only way Jekyll knows you want the file processed. + +YAML Front Matter must be prepended to the top of template/post/page files: + + --- + layout: post + category : pages + tags : [how-to, jekyll] + --- + + ... contents ... + +Three hyphens on a new line start the Front-Matter block and three hyphens on a new line end the block. +The data inside the block must be valid YAML. + +Configuration parameters for YAML Front-Matter is outlined here: +[A comprehensive explanation of YAML Front Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter) + +#### Defining Layouts for Posts and Templates Parsing. + +The `layout` parameter in the YAML Front Matter defines the template file for which the given post or template should be injected into. +If a template file specifies its own layout, it is effectively being used as a `sub-template.` +That is to say loading a post file into a template file that refers to another template file with work in the way you'd expect; as a nested sub-template. + + + + + +## How Jekyll Generates the Final Static Files. + +Ultimately, Jekyll's job is to generate a static representation of your website. +The following is an outline of how that's done: + +1. **Jekyll collects data.** + Jekyll scans the posts directory and collects all posts files as post objects. It then scans the layout assets and collects those and finally scans other directories in search of pages. + +2. **Jekyll computes data.** + Jekyll takes these objects, computes metadata (permalinks, tags, categories, titles, dates) from them and constructs one + big `site` object that holds all the posts, pages, layouts, and respective metadata. + At this stage your site is one big computed ruby object. + +3. **Jekyll liquifies posts and templates.** + Next jekyll loops through each post file and converts (through markdown or textile) and **liquifies** the post inside of its respective layout(s). + Once the post is parsed and liquified inside the the proper layout structure, the layout itself is "liquified". + **Liquification** is defined as follows: Jekyll initiates a Liquid template, and passes a simpler hash representation of the ruby site object as well as a simpler + hash representation of the ruby post object. These simplified data structures are what you have access to in the templates. + +3. **Jekyll generates output.** + Finally the liquid templates are "rendered", thereby processing any liquid syntax provided in the templates + and saving the final, static representation of the file. + +**Notes.** +Because Jekyll computes the entire site in one fell swoop, each template is given access to +a global `site` hash that contains useful data. It is this data that you'll iterate through and format +using the Liquid tags and filters in order to render it onto a given page. + +Remember, in Jekyll you are an end-user. Your API has only two components: + +1. The manner in which you setup your directory. +2. The liquid syntax and variables passed into the liquid templates. + +All the data objects available to you in the templates via Liquid are outlined in the **API Section** of Jekyll-Bootstrap. +You can also read the original documentation here: + +## Conclusion + +I hope this paints a clearer picture of what Jekyll is doing and why it works the way it does. +As noted, our main programming constraint is the fact that our API is limited to what is accessible via Liquid and Liquid only. + +Jekyll-bootstrap is intended to provide helper methods and strategies aimed at making it more intuitive and easier to work with Jekyll =) + +**Thank you** for reading this far. + +## Next Steps + +Please take a look at [{{ site.categories.api.first.title }}]({{ site.categories.api.first.url }}) +or jump right into [Usage]({{ site.categories.usage.first.url }}) if you'd like. \ No newline at end of file diff --git a/_posts/core-samples/api/2011-11-27-theme-api.md b/_posts/core-samples/api/2011-11-27-theme-api.md new file mode 100644 index 0000000..c754907 --- /dev/null +++ b/_posts/core-samples/api/2011-11-27-theme-api.md @@ -0,0 +1,10 @@ +--- +layout : post +categories : api +tags : api +--- + +The Jekyll Bootstrap Theme API documents how themes should be formatted +in order to be plugged into jekyll-bootstrap. + +## Philosophy diff --git a/_posts/core-samples/api/2011-11-28-bootstrap-api.md b/_posts/core-samples/api/2011-11-28-bootstrap-api.md new file mode 100644 index 0000000..bfdb5c0 --- /dev/null +++ b/_posts/core-samples/api/2011-11-28-bootstrap-api.md @@ -0,0 +1,65 @@ +--- +layout : post +categories : api +tags : api +--- + +The Jekyll Bootstrap API consists of custom includes and development +strategies meant to provide a more modular and sensible coding experience +when working with Liquid and Jekyll. + +## Philosophy + +Jekyll-bootstrap uses an 'include' helper strategy to encapsulate frequently used +code logic. This makes for more modular and DRY code. + +The 'include' helper is the same concept as rails' view helper modules, +just obviously much more constrained due to Liquid. + +## Include-helper Strategy + +### Define a new "method" + +The include helper strategy is meant to emulate a ruby method. +First encapsulate your liquid code logic in a Jekyll include file. +example: `helpers/tags_list.html` which is a helper to list tags and their total counts. + +{% capture text %}|.% for tag in tags_list %.| +
    • |.{ tag[0] }.| |.{tag[1].size}.|
    • +|.% endfor %.| + +|.% assign tags_list = null %.|{% endcapture %} +{% include helpers/liquid_raw.html %} + +In order to emulate passing arguments to the method, your include should reference localized variables whenever possible. +Now we can pass in arguments by defining the local variables immediately before calling the include file: + +### Invoking the Method. + +{% capture text %}
        + |.% assign tags_list = site.tags %.| + |.% include helpers/tags_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +You can define as many "arguments" as you want, just remember to nullify them all at the end of your include to preserve modularity. + +### Gotchas + +In Liquid, it is impossible to inline assign a variable to anything other than a string. +This means you can't pass in arrays, hashes, etc. +However, as shown above, you can pass-by-reference, and assign local variables to variables that already exist. + +So to pass in data-structures, you need to define them in your YAML Front Matter, or \_config.html file first, then pass them in by reference. + +## Contibuting + +If you have a good idea for another helper, please follow the outlines above, +then submit a pull request to [Jekyll-Bootstrap](http://github.com/plusjade/jekyll-bootstrap) and I'll include it. + +## Current Jekyll-Bootstrap Helpers + +
        + {% assign pages_list = site.categories.helpers %} + {% include helpers/pages_list.html %} +
      diff --git a/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md b/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md new file mode 100644 index 0000000..ac1bafd --- /dev/null +++ b/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md @@ -0,0 +1,38 @@ +--- +layout : post +categories : api +tags : api +--- + +Here we'll get familiar with the Liquid syntax and learn about all the methods and logic available to us. + +## Introduction + +Jekyll uses the standard Liquid templating language package and includes a few other helpful extensions of its own. + +Jekyll-bootstrap does not support plugin development so only the standard filters and logic will be available to us. + +Remember we are the end-users! + +## Liquid Crash Course + +The following link contains a comprehensive course in everything available in Liquid. +The standard library is also available in Jekyll. + + + +## Liquid Extensions Provided With Jekyll + +Jekyll introduces a few other filters and tags as outlined here: + + + +## Examples + +Finally we take a look out the included helper examples and their source to see +how we can display our post and site information in a more strategic manner. + +
        +{% assign pages_list = site.categories.helpers %} +{% include helpers/pages_list.html %} +
      diff --git a/_posts/core-samples/api/2011-11-30-template-data-api.md b/_posts/core-samples/api/2011-11-30-template-data-api.md new file mode 100644 index 0000000..a12b597 --- /dev/null +++ b/_posts/core-samples/api/2011-11-30-template-data-api.md @@ -0,0 +1,172 @@ +--- +layout : post +categories : api +tags : [templating, liquid] +--- + +The Template data API is a comprehensive list of all data accessible in templates through using the Liquid templating language. +The next lesson will focus on [accessing Jekyll data via Liquid]({{page.previous.url}}) + +## Global Page/Post Data + +Every content file that Jekyll processes is either a page or a post. +In both cases the data relative to the specific page or post being rendered +within the template is accessible through the `page` variable. +The page variable is a globally accessible variable available to all templates, posts, pages, and includes being rendered +for the given post/page instance. + + + /* The following format represents a Jekyll::Post or Jekyll::Page object. Jekyll::Post and Jekyll::Page objects may be nested in other variables in which case you can expect this same format: */ + page = { + "layout"=>"post", + "categories"=>["lessons"], + "title"=>"Jekyll Liquid Api", + "url"=>"/lessons/jekyll-liquid-api.html", + "date"=>2011-01-27 00:00:00 -0800, + "id"=>"/lessons/jekyll-liquid-api", + "next"=> #Jekyll:Post @id="/lessons/template-data-api", + "previous"=> #Jekyll:Post @id="/lessons/configuring-urls", + "tags"=>["tagname1", "tagname2"], + "custom_variable"=> ["a", "custom", "defined", "data-structure"], + "content"=>"... this is the unparsed raw html page/post content ..." + } + + +### Setting Custom Data + +You can set custom variables through the post or page Yaml Front matter and they will be included +in the page hash. + +One important thing to note is that each Jekyll "rendering" instance is treating as a page/post object. +ALL YAML Front matter is merged into the current page/post instance. +So if you define custom data in the post file, then define custom data in the sub-template, +and also in the root template, all data will merge into the same page hash. + + +## Content Data + +Jekyll uses a special variable named `content` to refer to the current page/post content. + +The difference between `content` and `page.content` is the former is parsed with markdown or textile while the latter is raw. + +The `content` variable is only accessible in template files and include files provided the include is included into a template. + +### Content in Primary Templates. + +When calling `content` in a primary template the content includes any sub-templates +previously rendered by the page/post. + +### Content in Sub-Templates. + +When calling `content` in a sub-template `content` includes any sub-sub-templates +previously rendered by the page/post. If there are none, `content` just reflects +the page/post as processed by markdown or textile. + + +## Global Site Data + +This data is available anywhere liquid is available. This includes templates, posts, pages, and includes. + + + site = { + "related_posts"=> + [...(Array of liquified Jekyll::Post objects)...], + "safe"=>false, + "auto"=>true, + "server"=>true, + "server_port"=>4000, + "source"=>"/Users/jade/Dropbox/github/jekyll-bootstrap", + "destination"=>"/Users/jade/Dropbox/github/jekyll-bootstrap/_site", + "plugins"=>"/Users/jade/Dropbox/github/jekyll-bootstrap/_plugins", + "future"=>true, + "lsi"=>false, + "pygments"=>false, + "markdown"=>"maruku", + "permalink"=>"/:categories/:title.html", + "markdown_ext"=>"markdown,mkd,mkdn,md", + "textile_ext"=>"textile", + "maruku"=> + { + "use_tex"=>false, + "use_divs"=>false, + "png_engine"=>"blahtex", + "png_dir"=>"images/latex", + "png_url"=>"/images/latex" + }, + "rdiscount"=> + { + "extensions"=>[] + }, + "redcarpet"=> + { + "extensions"=>[] + }, + "kramdown"=> + { + "auto_ids"=>true, + "footnote_nr"=>1, + "entity_output"=>"as_char", + "toc_levels"=>"1..6", + "use_coderay"=>false, + "coderay"=> + { + "coderay_wrap"=>"div", + "coderay_line_numbers"=>"inline", + "coderay_line_number_start"=>1, + "coderay_tab_width"=>4, + "coderay_bold_every"=>10, + "coderay_css"=>"style" + } + }, + "time"=>2011-12-20 14:03:53 -0800, + "posts"=> + [...(Array of liquified Jekyll::Post objects)...], + "pages"=> + [...(Array of liquified Jekyll::Page objects)...], + "html_pages"=> + [...(Array of liquified Jekyll::Page objects)...], + "categories"=> + {"examples"=> + [...(Array of liquified Jekyll::Post objects)...], + "lessons"=> + [...(Array of liquified Jekyll::Post objects)...], + "tags"=> + { + "permalinks"=> + [...(Array of liquified Jekyll::Post objects)...], + "urls"=> + [...(Array of liquified Jekyll::Post objects)...], + "templating"=> + [...(Array of liquified Jekyll::Post objects)...], + "liquid"=> + [...(Array of liquified Jekyll::Post objects)...], + "posts"=> + [...(Array of liquified Jekyll::Post objects)...] + } + } + + + +### Sitewide Custom Data + +Set sitewide custom data using the config file. + +Variables held in the config file get merged into the site variable. + + + + + +## Categories + +Categories may only be applied to posts and are available on a per-post basis as well as aggregated +in a sitewide global variable, i.e. all categories available for the website. + +When iterating over categories the order is alpha descending + +## Tags + +Tags may only be applied to posts and are available on a per-post basis as well as aggregated +in a sitewide global variable, i.e. all tags available for the website. + +When iterating over tags the order is alpha descending. diff --git a/_posts/core-samples/helpers/2011-9-27-posts-collate.md b/_posts/core-samples/helpers/2011-9-27-posts-collate.md new file mode 100644 index 0000000..299f6cb --- /dev/null +++ b/_posts/core-samples/helpers/2011-9-27-posts-collate.md @@ -0,0 +1,34 @@ +--- +layout : post +categories : helpers +--- + +The posts collate helper organizes and lists posts in month/year clusters. +The posts collate helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. + +## Usage + +### Collate All Posts in Reverse Chronological Order + +By default all posts are organized in reverse-chronological order - newest to oldest. + +{% capture text %}|.% assign posts_collate = site.posts %.| +|.% include helpers/posts_collate.html %.|{% endcapture %} +{% include helpers/liquid_raw.html %} + + +### Collate a Sub-Set of Posts + +To collate a sub-set of posts, just pass in the sub-set. +Bellow, only posts tagged "jekyll" will be collated: + +{% capture text %}|.% assign posts_collate = site.tags.jekyll %.| +|.% include helpers/posts_collate.html %.|{% endcapture %} +{% include helpers/liquid_raw.html %} + + +## Source + +The source code is available at: + + ./_includes/helpers/posts_collate.html diff --git a/_posts/core-samples/helpers/2011-9-28-categories-list.md b/_posts/core-samples/helpers/2011-9-28-categories-list.md new file mode 100644 index 0000000..a831980 --- /dev/null +++ b/_posts/core-samples/helpers/2011-9-28-categories-list.md @@ -0,0 +1,49 @@ +--- +layout : post +categories : helpers +--- + +The categories list helper provides a convenient way to list categories. +The categories list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. + +## Usage + +### List Sitewide Categories + +List site-wide categories by passing in the `site.categories` variable: + +{% capture text %}
        + |.% assign categories_list = site.categories %.| + |.% include helpers/categories_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +### List Categories for a Specific Post + +You can also list categories specific to a post: + +{% capture text %}
        + |.% assign categories_list = page.categories %.| + |.% include helpers/categories_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +### List Categories Per Post Iteratively + +Finally let's iterate through all posts: + +{% capture text %}|.% for post in site.posts %.| +

      Categories for: |.{post.title}.|

      +
        + |.% assign categories_list = post.categories %.| + |.% include helpers/categories_list.html %.| +
      +|.% endfor %.|{% endcapture %} +{% include helpers/liquid_raw.html %} + + +## Source + +The source code is available at: + + ./_includes/helpers/categories_list.html \ No newline at end of file diff --git a/_posts/core-samples/helpers/2011-9-29-pages-list.md b/_posts/core-samples/helpers/2011-9-29-pages-list.md new file mode 100644 index 0000000..dcdc4e0 --- /dev/null +++ b/_posts/core-samples/helpers/2011-9-29-pages-list.md @@ -0,0 +1,43 @@ +--- +layout : post +categories : helpers +--- + +The pages list helper provides a convenient way to list pages. +The pages list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. + +## Usage + +### List All Pages + +{% capture text %}
        + |.% assign pages_list = site.pages %.| + |.% include helpers/pages_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +### List Pages From a Sub-Group + +Pages cannot have categories. However we can setup a similar functionality +by manually associating a page to a "group". Do this in the page's yaml front matter: + + --- + layout: default + title: A Nice Title + group: project + --- + +You then pass the group name to the pages\_list helper: + +{% capture text %}
        + |.% assign pages_list = site.pages %.| + |.% assign group = 'project' %.| + |.% include helpers/pages_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +## Source + +The source code is available at: + + ./_includes/helpers/pages_list.html diff --git a/_posts/core-samples/helpers/2011-9-30-tags-list.md b/_posts/core-samples/helpers/2011-9-30-tags-list.md new file mode 100644 index 0000000..9ddaf53 --- /dev/null +++ b/_posts/core-samples/helpers/2011-9-30-tags-list.md @@ -0,0 +1,50 @@ +--- +layout : post +categories : helpers +--- + +The tag list helper lists tags and their total counts. +The tag list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. + +## Usage + +### List Sitewide Tags + +You can list sitewide tags by passing in the `site.tags` variable: + +{% capture text %}
        + |.% assign tags_list = site.tags %.| + |.% include helpers/tags_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +### List Tags for a Specific Post + +You can also list tags specific to a post: + +{% capture text %}
        + |.% assign tags_list = page.tags %.| + |.% include helpers/tags_list.html %.| +
      {% endcapture %} +{% include helpers/liquid_raw.html %} + +### List Tags Per Post Iteratively + +Finally let's iterate through all posts: + +{% capture text %}|.% for post in site.posts %.| +

      Tags for: |.{post.title}.|

      +
        + |.% assign tags_list = post.tags %.| + |.% include helpers/tags_list.html %.| +
      +|.% endfor %.|{% endcapture %} +{% include helpers/liquid_raw.html %} + +## Source + +The source code is available at: + + ./_includes/helpers/tags_list.html + + diff --git a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md new file mode 100644 index 0000000..64bb0b4 --- /dev/null +++ b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md @@ -0,0 +1,36 @@ +--- +layout: page +categories : usage +--- + +Deploying a jekyll-based website comes in two flavors. +You can deploy to GitHub Pages or you can deploy to your own custom server. + +## Deploy Jekyll to GitHub Pages + +You can deploy Jekyll to your GitHub account and GitHub will parse your repo through Jekyll and host the result on username.github.com +This is very nice of GitHub and the most convenient strategy. +However you cannot extend jekyll via plugins with this version because GitHub will not run them for security reasons. + +[GitHub Pages](http://pages.github.com) provides a comprehension tutorial to deploying your Jekyll repository to GitHub Pages. + + +### Jekyll-Bootstrap is Built to Run on GitHub Pages. + itself, is running via GitHub pages. +You can see that this website is also available at: . + +If you follow the development practices outlined in Jekyll-bootstrap all you have to do is +clone the jekyll-bootstrap framework, clear out the posts and pages and add in your own content. +Then push this to github as per the [GitHub Pages](http://pages.github.com) tutorial. + +Please [contact me](http://plusjade.com) if you run into any trouble. + + +## Deploy Jekyll to Your Custom Server + +The main reason you'd want to host your website yourself is because you can then run custom plugins and customize Jekyll to your heart's content. + +Please see the original docs for [custom Jekyll deployment strategies](https://github.com/mojombo/jekyll/wiki/Deployment). + + + diff --git a/_posts/core-samples/usage/2011-10-29-configuring-urls.md b/_posts/core-samples/usage/2011-10-29-configuring-urls.md new file mode 100644 index 0000000..efc9140 --- /dev/null +++ b/_posts/core-samples/usage/2011-10-29-configuring-urls.md @@ -0,0 +1,26 @@ +--- +layout : post +categories : usage +tags : [permalinks, urls] +--- + +URL configuration is an important aspect of Jekyll as users usually require +total control over how links to their content are handled. Fortunately Jekyll provides extensive customization options as to how your permalinks will be generated: + +[Jekyll Permalinks](https://github.com/mojombo/jekyll/wiki/Permalinks) + +## Jekyll-Bootstrap's URL Configuration + +A peek into `_config.yml` notes that Jekyll-bootrap uses this configuration: + + permalink: /:categories/:title.html + + +This means any category specified on a post will be included within the url, followed by the post title. + +Traditionally a blog will namespace its post by date, for example: + + permalink: /:categories/:year/:month/:day/:title/ + + +Play around with what url configuration works best for you. \ No newline at end of file diff --git a/_posts/core-samples/usage/2011-10-30-jekyll-theming.md b/_posts/core-samples/usage/2011-10-30-jekyll-theming.md new file mode 100644 index 0000000..c22616d --- /dev/null +++ b/_posts/core-samples/usage/2011-10-30-jekyll-theming.md @@ -0,0 +1,31 @@ +--- +layout: post +categories : usage +--- + + +## Creating Your Layout + +Jekyll-bootstrap uses [twitter bootstrap](http://twitter.github.com/bootstrap) to provide the layout structure. +This is because I am not a designer. (designers please contribute themes to Jekyll-bootstrap!) + +To get up and running the fastest you might just take a peak at the twitter bootstrap design elements +and setup a quick template that you are happy with. + + +### Static Assets + +The `assets` folder follows a logical structure: +`css` folder contain css, `javascripts` folder contain javascript files etc. +You can link to these static assets following the logical directory path. + +### Create a Base Template + +The base template in Jekyll-bootstrap is at: `/_layouts/default.html` +You can see how the global layout is defined and how assets are linked to. + +### Create a Post Template + +The post template in Jekyll-bootstrap is at: `/_layouts/post.html` +This template is a sub-template that all posts refer to. You can see the post template defines +the default template its parent layout. diff --git a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md new file mode 100644 index 0000000..e09e07c --- /dev/null +++ b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md @@ -0,0 +1,81 @@ +--- +layout: post +categories : usage +--- + + +## 1. Install Jekyll-Bootstrap-Core + +[Install Jekyll-Bootsrap-Core](/index.html#start-now) if you haven't already. +Jekyll-bootstrap-core is a clean base framework for your blog. +It includes two themes, some useful pages, and bootstrap include-helpers. + +## 2. Run Jekyll Locally + +In order to preview your blog locally you'll need to install the jekyll gem. Note gem dependencies will also be installed. + + $ gem install jekyll + +If you run into a problem please consult the original [Jekyll installation documentation](https://github.com/mojombo/jekyll/wiki/Install). +You can also [contact me](http://github.com/plusjade) through github. + +Once the gem is installed you can navigate to your Jekyll-bootstrap-core directory +and run jekyll: + + $ cd jekyll-bootstrap + $ jekyll --server + +Your blog is now available at: [http://localhost:4000/](http://localhost:4000/). + + +## 2. Choose a Theme + +Jekyll-bootstrap-core has a basic theming system that I'll be steadily improving. +You can read about how to choose and customize a theme in the [Theming](/usages/theming.html) section. + +## 3. Create Some Content + +### Create a Post + +Create a file with valid date and title in the filename and place it into the `_posts` folder. +Jekyll-bootstrap provides many post files for you to copy from to better understand the formatting requirements. + +### Create a Page + +Create a file anywhere in the root directory, for example `/about.md` and remember to provide +valid YAML Front Matter so Jekyll recognizes the file as a page. + +Jekyll-bootstrap provides many page examples for reference. +You can study the source and customize it for your own needs. + +
        +{% assign pages_list = site.pages %} +{% assign group = "example-page" %} +{% include helpers/pages_list.html %} +
      + + +## 4. Publish + +After you've added posts or made changes to your theme or other files, simply commit them to your git repo and push the commits up to GitHub. + +A GitHub post-commit hook will automatically deploy your changes to your hosted blog. You will receive a success or failure notice for every commit you make to your blog. + +## 5. Customize + +Jekyll-bootstrap-core can be used as-is as a basic blogging platform with little need +to understand what's going on under the hood. + +However I'm betting you want to get your hands dirty. +The following outlines the deeper Jekyll-Bootstrap documentation. + +### Jekyll Introduction + +The [{{site.categories.lessons.first.title}}]({{site.categories.lessons.first.url}}) is meant for core understanding of how and why Jekyll works the way it does. +You must start with this in order to understand everything else in Jekyll-Bootstrap. + +### The API Section + +The API pages document main data-structures and design strategies used in Jekyll and Jekyll-Bootstrap. + + diff --git a/archive.html b/archive.html new file mode 100644 index 0000000..3e622e7 --- /dev/null +++ b/archive.html @@ -0,0 +1,9 @@ +--- +layout: page +title : Archive +header : Post Archive +group: example-page +--- + +{% assign posts_collate = site.posts %} +{% include helpers/posts_collate.html %} \ No newline at end of file diff --git a/assets/themes/mark-reid/css/screen.css b/assets/themes/mark-reid/css/screen.css new file mode 100644 index 0000000..494c382 --- /dev/null +++ b/assets/themes/mark-reid/css/screen.css @@ -0,0 +1,549 @@ +/* @override http://mark.reid.dev/files/css/screen.css */ + +/* @override + http://mark.reid.dev/files/css/screen.css + http://mark.reid.name/files/css/screen.css +*/ + +/* screen.css + * + * A clean, simple stylesheet that aims for + * a consistent vertical rhythm. + * + * Base font height: 16px + * Base line length: 24px + * + * AUTHOR: Mark Reid + */ + +/* @group Reset */ +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,abbr { margin:0; padding:0;} +/* @end */ + +body { + font-family: Palatino, georgia, "times new roman", serif; + background-color: whitesmoke; + background-position: center -18em; + background-repeat: repeat-x; +} + +/* Hack via Joel Spolsky to make image rescaling nicer in IE */ +img { -ms-interpolation-mode:bicubic; } + +/* IE6 ignores this and uses default size of 16pt */ +html>body { font-size:16px; } +p { margin: 0 0 1.5em 0; text-align: justify; } + +a { text-decoration: none; color: #339; } +a:hover { text-decoration: underline; color: #33f; } +a.pdf:before { + margin-right: 1em; + content: url(/files/css/icon_pdf.gif); } + +h1,h2,h3,h4 { + line-height:1em; + font-size:1.5em; + font-weight: normal; + clear: left; + font-family: 'lucida grande', sans-serif; +} +h1 { margin-bottom: 1em; } +h2 { + font-size: 100%; + line-height: 1.5em; + margin:1.5em 0 1.5em 0; + font-weight:bold; +} + +hr { + border-top: 1px solid silver; + border-bottom: none; + padding: 0; + margin: 1.46em 0 0 0; +} + +sup { line-height: 1ex; } + +#site { + max-width: 46em; + margin: 1.5em auto 3em auto; + line-height:1.5em; +} + +#page, #disqus_thread { + background: white; +/* background-image: url(grid.png); */ + padding: 3em 3em 1.5em 3em; + border: 1px solid #ccc; +} + +/* More experimental CSS3 features */ +#page, #disqus_thread { + box-shadow: 2px 2px 8px #aaa; + -webkit-box-shadow: 2px 2px 8px #aaa; + -moz-box-shadow: 2px 2px 8px #aaa; +} + +#disqus_thread { padding-top: 0; } + +/* TODO +#page { counter-reset: section; } +#page h2:before { + margin-left: -3.5ex; + color: silver; + content: "§" counter(section) ". "; + counter-increment: section 2; +} +*/ + +/* @group FancyFirst */ +.emphnext + p:first-letter, p.emphfirst:first-letter { + font-size: 48px; + padding: 0 0.15em 0 0; + margin: 0.05em 0 -0.15em 0; + line-height: 1em; + float: left; +} + +.emphnext + p:first-line, p.emphfirst:first-line { + font-variant: small-caps; + font-size: larger; +} +/* @end */ + +.right { float: right; clear: left; } +.left { float: left; clear: right; } +.inset { + border: 1px solid silver; + padding: 2px; + margin: 0em 0.8em 0.8em 0.8em; +} +.right.inset { margin-right: 0 !important; } +.left.inset { margin-left: 0 !important; } +.quiet { + color: grey; + font-size: 0.875em; + line-height: 1.714em; +} +blockquote { + padding: 0 2.8em; + margin: 1.714em 0; + color: #444; + font-size: 0.875em; + line-height: 1.714em; +} + +.note { + padding-top: 0.5em; + background-color: #fafaff; + border-top: 1px solid silver; + border-bottom: 1px solid silver; +} +/* @group Table */ +table.neat { + width: 80%; + margin: 1.5em auto 1.5em auto; + table-layout: fixed; + border-spacing: 0; +} +table.neat tr { text-align: center; } +table.neat th { font-weight: normal; background-color: #eeeeee; } +table.neat td { background-color: white; } +table.neat th.title { border-bottom: 1px solid gray; border-top: 1px solid gray; vertical-align: bottom; background-color: lightgrey; } +caption { + color: #333; + font-size: 0.875em; + margin: 0.875em auto 0 auto; + line-height: 1.14em; + text-align: justify; +} + +/* @end */ + +/* @group Lists */ +ul { + margin-top: 1.5em; + margin-bottom: 1.5em; + line-height: 1.5em; + padding-left: 1.5em; +} +ul li { + list-style-type: square; + list-style-position: outside; +} +ol li { + list-style-type: decimal; + list-style-position: inside; +} +dt { font-weight: bold;} +dd { margin: 0 0 1.5em 0; text-align: justify; } + +ul.compact { margin: 0; padding: 0;} +ul.compact li { list-style: ; + list-style-type: square; + list-style-position: inside; +} +ul.compact li span.date { + display: none; + color: grey; + width: 20%; +} +ul.compact li a { + width: 70%; +} +/* @end */ + +/* @group Header */ +#header, #header a { color: silver; } +#header .hover { color: transparent; } +#header:hover a { color: black; text-shadow: #aaa 2px 2px 3px;} +#header:hover a:hover { text-decoration: none; } +#header a:hover .hover { color: silver; } +#header { + position: relative; + font-variant: small-caps; + line-height: 1em; + margin-top: .5em; + margin-bottom: 0; +} +#header h1 { + font-family: Palatino, georgia, "times new roman", serif; + margin-bottom: 0; + line-height: 0.9em; + display: block; + font-weight: normal; +} + +#header ul { + position: absolute; + top: 0; + right: 0; + font-size: 100%; + line-height: 1.6em; + display: block; + margin: 0; + width: 50%; + text-align: right; +} +#header ul li { display: inline; } +#header ul li a { + padding: 0.4em 0.3em 0 0.3em; + display: inline; +} +#header ul li a:hover { + color: blue; + border-bottom: 2px solid blue; +} +#header .byline { + color: silver; + font-size: 10pt; + line-height: 75% +} +#header:hover .byline a { color: silver; text-shadow: none; } +#header:hover .byline a:hover { color: black; text-shadow: #aaa 1px 1px 2px;} + +/* @group Twitter */ +#twitter_update_list { display: inline; margin: 0; } +#twitter_update_list li { display: inline; margin: 0;} +.twitter-title { display: inline; margin: 0; } +.twitter-title a { display: inline; } +/* @end */ + +body#Work #header a.work, +body#Home #header a.home, +body#Play #header a.play, +body#Info #header a.info, +body#Code #header a.code, +body#Past #header a.past, +body#Kith #header a.kith +{ + border-bottom: 2px solid silver; +} + +/* @end */ + +/* @group Footnotes */ +.footnotes { color: grey; } +.footnotes:hover { color: black; } +.footnotes ol li { + list-style-type: decimal; + list-style-position: inside; + font-size: 75%; + line-height: 1.5em; +} +.footnotes ol li > a { display: none; } +/* @end */ + +/* @group Sections */ +.section { + font-size: 87.5%; + line-height: 1.43em; + margin-bottom: 1.43em; + margin-top: 1.43em; + margin-left: 7.5em; + padding-right: 3em; +} +.section h1 { + font-family: Palatino, georgia, serif; + font-size: 100%; + line-height: 1.43em; + position: absolute; + width: 6em; + max-width: 6em; + margin-left: -7.5em; + font-weight: bold; + font-variant: small-caps; +} +.section p { margin-bottom: 1.43em; } + +/* @end */ + +.list .title { font-weight: bold; } +p.line { position: relative; margin: 0; } +p.excerpt { margin: 0; } +.comments { font-size: smaller; position: absolute; color: silver; right: 0; top: 0; } +.excerpt { color: black; } + +/* @group Signature */ +.signature { + margin-top: 3em; + position: relative; +} +.signature .author { + font-variant: small-caps; + font-style: normal; + color: black; + display: block; + margin-bottom: 1.5em; +} +.signature .date { + font-size: 87.5%; + line-height: 1.5em; + display: block; + font-variant: small-caps; + font-style: normal; + position: absolute; + right: 0; + top: 0; +} +.signature .location { + display: block; + font-size: 87.5%; + line-height: 1.5em; + position: absolute; + right: 0; + top: 1.5em; +} +/* @end */ + +/* @group Code */ +pre { + margin: 1em 0 1.5em 0; + font-size: 0.75em; /* Hack to make code look same size as body font */ + line-height: 1.5em; + color: #111; + background: #fffff0; + border: 1px solid #ddc; + padding: 0.5em 1em; + overflow: hidden; + + /* Experimental CSS3 stuff */ + box-shadow: 1px 1px 6px #ccc; + -webkit-box-shadow: 1px 1px 6px #ccc; + -moz-box-shadow: 1px 1px 6px #ccc; +} +pre:hover { + border-right: none; + overflow: visible; +} +code { + font-size: 1em; + background-color: #f7f7ff; + line-height: 1.4em; +} +pre > code { + background-color: transparent; +} +/* @end */ + + +/* @group Disqus */ +#disqus_thread { + margin-top: 2.93em; +} +.dsq-comment-body { + text-align: justify; + line-height: 1.29em; +} +.dsq-comment { + padding-top: 0 !important; + margin-top: 1.7em !important; + margin-bottom: 1.9em !important; + background-image: none !important; +} +.dsq-comment-message { + line-height: 1.714em; +} +.dsq-comment-header { + background-color: whitesmoke !important; + border-top: 1px solid silver !important; + border-bottom: 1px solid silver !important; + margin-bottom: 1.15em !important; +} +.dsq-header-time { margin-left: 0 !important; } +.dsq-comment-header cite { + font-variant: small-caps; + margin-left: 0 !important; +} +.dsq-comment-footer { + font-size: 75% !important; + margin-top: 1px !important; +} +#dsq-options { + background: whitesmoke; + border-bottom: 1px solid silver; + border-top: 1px solid silver; + padding: 0 0 0 1em; +} +#dsq-comments-count { + margin-top: 0.8em !important; + margin-bottom: 1.2em !important; +} +#dsq-extra-links { padding-left: 0 !important; } +#dsq-extra-links li img { display: none; } +#dsq-options-toggle { color: silver; font-size: 75% !important;} +#dsq-add-new-comment { + margin-top: 1.19em !important; + margin-bottom: 1.25em !important; +} +/* The following position, width and height ensure + * that none of the body in the iframe shows through. + */ +form#comment { + position: absolute; + height: 100%; + width: 100%; + background-color: white !important; +} +/* @end */ + +/* @group LibraryThing */ +span.LTtitle { display: none; } +div.LTitem { display: inline; margin-right: 0.7em; } +div.LTprovided { display: none; } +/* @end */ + +/* @group Last.fm */ +#lastfm a { margin-right: 0.7em; } +/* @end */ + +/* @group Delicious */ +.delicious-posts { } +.delicious-posts ul, .delicious-posts li, .delicious-banner { margin: 0; padding: 0 } +.delicious-posts li { list-style-position: outside; margin-bottom: 1em; margin-left: 1em; text-align: justify; } +.delicious-post { } +.delicious-banner { display: none; } +.delicious-posts a:hover { } +.delicious-posts a { } +.delicious-post a { font-weight: bold; } +p.delicious-extended { font-size: 100%; display: inline; } +p.delicious-extended:before { content: ' — '; } +/* @end */ + +/* @group Footer */ +#footer { + margin-top: 0; + color: grey; + font-size: 87.5%; + line-height: 1.3em; +} +#footer address { + position: relative; + margin: .5em 0 0 0; + text-align: right; +} +#footer a { + font-variant: small-caps; + font-style: normal; + color: #77d; + text-decoration: none; +} +#footer .copyright { + position: absolute; + left: 0; + text-align: left; + display: block; +} +#footer .engine { + position: absolute; + text-align: right; + display: block; + right: 0; +} +/* @end */ + + +/* @group Figures and images */ +dl.figure { + margin-top: 1.5em; + margin-bottom: 1.5em; + text-align: center; +} + +dl.figure dd { + color: #333; + font-size: 0.875em; + margin: 0.875em auto 0 auto; + line-height: 1.14em; + text-align: justify; + width: 85%; +} +/* @end */ + +/* @group Equations */ +div.maruku-equation { display: block ;text-align: center; } +div.maruku-equation img.maruku-png { position: relative; top: -0.75em;} +span.maruku-inline { } +img.maruku-png { } +/* @end */ + +/* .prev-next */ +.prev-next { + position:relative; +} +.prev-next .next{ + float:right; +} + +/* tag_box ======================================================== */ +.tag_box { + list-style:none; + margin:0; + padding:5px 0 ; + overflow:hidden; +} +.tag_box li { + list-style:none; + line-height:1.8em; +} +.tag_box.inline li { + float:left; +} +.tag_box a { + padding: 3px 6px; + margin: 2px; + background: #eee; + border-radius: 3px; + border:1px dashed #ccc; + text-decoration:none; +} +.tag_box a span{ + vertical-align:super; + font-size:0.8em; +} +.tag_box a.active { + background:#57A957; + border:1px solid #4C964D; + color:#FFF; +} + diff --git a/assets/themes/mark-reid/css/syntax.css b/assets/themes/mark-reid/css/syntax.css new file mode 100644 index 0000000..2774b76 --- /dev/null +++ b/assets/themes/mark-reid/css/syntax.css @@ -0,0 +1,60 @@ +.highlight { background: #ffffff; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/assets/themes/tom/css/screen.css b/assets/themes/tom/css/screen.css new file mode 100644 index 0000000..810e5a1 --- /dev/null +++ b/assets/themes/tom/css/screen.css @@ -0,0 +1,197 @@ +/*****************************************************************************/ +/* +/* Common +/* +/*****************************************************************************/ + +/* Global Reset */ + +* { + margin: 0; + padding: 0; +} + +html, body { + height: 100%; +} + +body { + background-color: white; + font: 13.34px helvetica, arial, clean, sans-serif; + *font-size: small; + text-align: center; +} + +h1, h2, h3, h4, h5, h6 { + font-size: 100%; +} + +h1 { + margin-bottom: 1em; +} + +p { + margin: 1em 0; +} + +a { + color: #00a; +} + +a:hover { + color: black; +} + +a:visited { + color: #a0a; +} + +table { + font-size: inherit; + font: 100%; +} + +/*****************************************************************************/ +/* +/* Home +/* +/*****************************************************************************/ + +ul.posts { + list-style-type: none; + margin-bottom: 2em; +} + + ul.posts li { + line-height: 1.75em; + } + + ul.posts span { + color: #aaa; + font-family: Monaco, "Courier New", monospace; + font-size: 80%; + } + +/*****************************************************************************/ +/* +/* Site +/* +/*****************************************************************************/ + +.site { + font-size: 110%; + text-align: justify; + width: 40em; + margin: 3em auto 2em auto; + line-height: 1.5em; +} + +.title { + color: #a00; + font-weight: bold; + margin-bottom: 2em; +} + + .site .title a { + color: #a00; + text-decoration: none; + } + + .site .title a:hover { + color: black; + } + + .site .title a.extra { + color: #aaa; + text-decoration: none; + margin-left: 1em; + } + + .site .title a.extra:hover { + color: black; + } + + .site .meta { + color: #aaa; + } + + .site .footer { + font-size: 80%; + color: #666; + border-top: 4px solid #eee; + margin-top: 2em; + overflow: hidden; + } + + .site .footer .contact { + float: left; + margin-right: 3em; + } + + .site .footer .contact a { + color: #8085C1; + } + + .site .footer .rss { + margin-top: 1.1em; + margin-right: -.2em; + float: right; + } + + .site .footer .rss img { + border: 0; + } + +/*****************************************************************************/ +/* +/* Posts +/* +/*****************************************************************************/ + +#post { + +} + + /* standard */ + + #post pre { + border: 1px solid #ddd; + background-color: #eef; + padding: 0 .4em; + } + + #post ul, + #post ol { + margin-left: 1.35em; + } + + #post code { + border: 1px solid #ddd; + background-color: #eef; + font-size: 85%; + padding: 0 .2em; + } + + #post pre code { + border: none; + } + + /* terminal */ + + #post pre.terminal { + border: 1px solid black; + background-color: #333; + color: white; + } + + #post pre.terminal code { + background-color: #333; + } + +#related { + margin-top: 2em; +} + + #related h2 { + margin-bottom: 1em; + } \ No newline at end of file diff --git a/assets/themes/tom/css/syntax.css b/assets/themes/tom/css/syntax.css new file mode 100644 index 0000000..2774b76 --- /dev/null +++ b/assets/themes/tom/css/syntax.css @@ -0,0 +1,60 @@ +.highlight { background: #ffffff; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/categories.html b/categories.html new file mode 100644 index 0000000..529a345 --- /dev/null +++ b/categories.html @@ -0,0 +1,21 @@ +--- +layout: page +title: Categories +header: Posts By Category +group: example-page +--- + +
        + {% assign categories_list = site.categories %} + {% include helpers/categories_list.html %} +
      + + +{% for category in site.categories %} +

      {{ category[0] | join: "/" }}

      +
        + {% assign pages_list = category[1] %} + {% include helpers/pages_list.html %} +
      +{% endfor %} + diff --git a/index.md b/index.md new file mode 100644 index 0000000..14f94fe --- /dev/null +++ b/index.md @@ -0,0 +1,45 @@ +--- +layout: page +title: Hello from Jekyll-Bootstrap-Core +header: This is Jekyll-Bootstrap +--- + +Read [Jekyll Quick Start](http://jekyllbootstrap.com/jekyll-quick-start.html) + +Complete usage and documentation available at: [Jekyll Bootstrap](http://jekyllboostrap.com) + +## Update Author Attributes + +In `_config.yml` remember to specify your own data: + + title : My Blog =) + + author : + name : Name Lastname + email : blah@email.test + github : username + twitter : username + +The theme should reference these variables whenever needed. + +## Sample Posts + +This blog contains sample posts which help stage pages and blog data. +When you don't need the samples anymore just delete the `_posts/core-samples` folder. + + $ rm -rf _posts/core-samples + +Here's a sample "posts list". + +
        + {% for post in site.posts %} +
      • {{ post.date | date_to_string }} » {{ post.title }}
      • + {% endfor %} +
      + +## To-Do + +This theme is still unfinished. If you'd like to be added as a contributor, [please fork](http://github.com/plusjade/jekyll-bootstrap)! +We need to clean up the themes, make theme usage guides with theme-specific markup examples. + + diff --git a/pages.html b/pages.html new file mode 100644 index 0000000..91c6c96 --- /dev/null +++ b/pages.html @@ -0,0 +1,21 @@ +--- +layout: page +title: Pages +header: Pages +group: example-page +--- + +

      All Pages

      +{% assign pages_list = site.pages %} +{% include helpers/pages_list.html %} + + +

      Pages in group: project

      +{% assign pages_list = site.pages %} +{% assign group = 'project' %} +{% include helpers/pages_list.html %} + +

      Pages in group: example-page

      +{% assign pages_list = site.pages %} +{% assign group = 'example-page' %} +{% include helpers/pages_list.html %} diff --git a/sitemap.txt b/sitemap.txt new file mode 100644 index 0000000..59367c5 --- /dev/null +++ b/sitemap.txt @@ -0,0 +1,7 @@ +--- +# Remember to set production_url in your _config.yml file! +--- +{% for page in site.pages %} +{{site.production_url}}{{ page.url }}{% endfor %} +{% for post in site.posts %} +{{site.production_url}}{{ post.url }}{% endfor %} \ No newline at end of file diff --git a/tags.html b/tags.html new file mode 100644 index 0000000..fa36a9c --- /dev/null +++ b/tags.html @@ -0,0 +1,20 @@ +--- +layout: page +title: Tags +header: Posts By Tag +group: example-page +--- + +
        + {% assign tags_list = site.tags %} + {% include helpers/tags_list.html %} +
      + + +{% for tag in site.tags %} +

      {{ tag[0] }}

      +
        + {% assign pages_list = tag[1] %} + {% include helpers/pages_list.html %} +
      +{% endfor %} From 486d099e96e09efff776681503b558956300871a Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Thu, 12 Jan 2012 10:28:22 +0900 Subject: [PATCH 002/124] add .rbenv-version --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index d81823a..d7a8f1a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ Thumbs.db .DS_Store !.gitkeep + +.rbenv-version From 223a9ca6a2da0cf571d343c5832510162a279bf5 Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Thu, 12 Jan 2012 17:41:52 +0900 Subject: [PATCH 003/124] add rake preview for development --- Rakefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Rakefile b/Rakefile index bea3fd9..1087d90 100644 --- a/Rakefile +++ b/Rakefile @@ -27,3 +27,7 @@ task :switch_theme, :theme do |t, args| end end # task :switch_theme +desc "Launch preview environment" +task :preview do + system "jekyll --auto --server" +end From dc6bc0d912974a7a7be6b360ccba2f535c3f5679 Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Thu, 12 Jan 2012 17:42:50 +0900 Subject: [PATCH 004/124] add feedbuner url --- _config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 47de579..442bf60 100644 --- a/_config.yml +++ b/_config.yml @@ -9,10 +9,13 @@ var: tags_path : /tags.html production_url : http://username.github.com # or your custom domain name -title : My Blog =) +title : the_minimum author : name : Name Lastname email : blah@email.test github : username twitter : username + feedbuder : feedname + +exclude: .rbenv-version From 66a3d569c4c035ba9737affe4d8e31e6a555cebb Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Thu, 12 Jan 2012 17:43:18 +0900 Subject: [PATCH 005/124] the_minimum theme is ready --- _includes/themes/the-minimum/default.html | 84 ++ _includes/themes/the-minimum/page.html | 28 + _includes/themes/the-minimum/post.html | 68 ++ assets/themes/the-minimum/css/_layout.less | 382 +++++++++ assets/themes/the-minimum/css/_less-base.less | 189 ++++ assets/themes/the-minimum/css/base.css | 153 ++++ assets/themes/the-minimum/css/helper.css | 48 ++ assets/themes/the-minimum/css/module.css | 71 ++ assets/themes/the-minimum/css/style.css | 804 ++++++++++++++++++ assets/themes/the-minimum/css/style.less | 228 +++++ .../the-minimum/css/syntaxhighlighter.css | 68 ++ .../the-minimum/font/Junction-webfont.eot | Bin 0 -> 23668 bytes .../the-minimum/font/Junction-webfont.svg | 177 ++++ .../the-minimum/font/Junction-webfont.ttf | Bin 0 -> 23464 bytes .../the-minimum/font/Junction-webfont.woff | Bin 0 -> 15548 bytes assets/themes/the-minimum/readme.markdown | 34 + .../the-minimum/skin/100-90-5-monochrome.png | Bin 0 -> 22346 bytes 17 files changed, 2334 insertions(+) create mode 100644 _includes/themes/the-minimum/default.html create mode 100644 _includes/themes/the-minimum/page.html create mode 100644 _includes/themes/the-minimum/post.html create mode 100644 assets/themes/the-minimum/css/_layout.less create mode 100644 assets/themes/the-minimum/css/_less-base.less create mode 100644 assets/themes/the-minimum/css/base.css create mode 100644 assets/themes/the-minimum/css/helper.css create mode 100644 assets/themes/the-minimum/css/module.css create mode 100644 assets/themes/the-minimum/css/style.css create mode 100644 assets/themes/the-minimum/css/style.less create mode 100644 assets/themes/the-minimum/css/syntaxhighlighter.css create mode 100755 assets/themes/the-minimum/font/Junction-webfont.eot create mode 100755 assets/themes/the-minimum/font/Junction-webfont.svg create mode 100755 assets/themes/the-minimum/font/Junction-webfont.ttf create mode 100755 assets/themes/the-minimum/font/Junction-webfont.woff create mode 100644 assets/themes/the-minimum/readme.markdown create mode 100644 assets/themes/the-minimum/skin/100-90-5-monochrome.png diff --git a/_includes/themes/the-minimum/default.html b/_includes/themes/the-minimum/default.html new file mode 100644 index 0000000..548b2a9 --- /dev/null +++ b/_includes/themes/the-minimum/default.html @@ -0,0 +1,84 @@ + + + + + + + + + {{ page.title }} + + + + + + + +
      +
      +
      +
      + + +
      +
      +
      +
      +
      +
      +
      + {{ content }} +
      +
      +
      +
      + +
      + + +{% if site.safe %} + {% include production/analytics.html %} +{% endif %} + + diff --git a/_includes/themes/the-minimum/page.html b/_includes/themes/the-minimum/page.html new file mode 100644 index 0000000..7c92f28 --- /dev/null +++ b/_includes/themes/the-minimum/page.html @@ -0,0 +1,28 @@ +
      +
      +
      +
      +
      +
      +

      {{ page.title }}

      +
      +
      +
      + +
      +
      + {{ content }} +
      +
      + + + +
      +
      +
      diff --git a/_includes/themes/the-minimum/post.html b/_includes/themes/the-minimum/post.html new file mode 100644 index 0000000..cf5712e --- /dev/null +++ b/_includes/themes/the-minimum/post.html @@ -0,0 +1,68 @@ +
      +
      +
      +
      +
      +
      +

      {{ page.title }}

      +
      +
      +
      + +
      +
      + {{ content }} +
      +

      + Published: + + {{ page.date | date: '%B' }} + {{ page.date | date: '%d' }} + {{ page.date | date: '%Y' }} + +

      +
        +
      • category:
      • + {% assign categories_list = page.categories %} + {% include helpers/categories_list.html %} +
      +
        +
      • tags:
      • + {% assign tags_list = page.tags %} + {% include helpers/tags_list.html %} +
      +
      +
      +
      + +
      +
      + + +
      +
      +
      diff --git a/assets/themes/the-minimum/css/_layout.less b/assets/themes/the-minimum/css/_layout.less new file mode 100644 index 0000000..f1733c1 --- /dev/null +++ b/assets/themes/the-minimum/css/_layout.less @@ -0,0 +1,382 @@ +// GO MOBILE FIRST! +.the-header { + .unit-inner { + width: @3cols; + margin-top: @line-height / @em; + margin-bottom: @line-height / @em; + margin-left: auto; + margin-right: auto; + } + .logo a { + font-size: 32px; + line-height: 42px; + } +} // the-header + +.unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { + width: @3cols; + margin-left: auto; + margin-right: auto; + } + + .unit-head-inner { + .meta { margin-bottom: @line-height / @em; } + } + +} // .the-article + +.layout-page { + + .unit-body { + .unit-body-inner { + width: @3cols; + margin-left: auto; + margin-right: auto; + } + .article-list { + .meta { margin-bottom: @line-height / @em; } + } + } + +} // .layout-page + +.the-footer { + + .unit-foot { + width: @3cols; + margin-left: auto; + margin-right: auto; + } + +} // .the-footer + +/* + IE +*/ + +.ie { + .the-header { + .unit-inner { + width: @11cols; + margin-top: @line-height / @em; + margin-bottom: @line-height / @em; + margin-left: auto; + margin-right: auto; + } + .logo { + width: @5cols; + float: left; + } + .nav-global { + margin-top: 50px; + text-align: right; + width: @5cols; + float: right; + } + } // the-header + + .unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { + width: @11cols; + margin-left: auto; + margin-right: auto; + } + .unit-head-inner, .entry-content, .misc-content { + h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { + margin-right: 210px; + } + } + + .unit-head-inner { + .meta { + width: @4cols; + float: right; + } + } + + } // .unit-article + + .layout-page { + + .unit-body { + .unit-body-inner{ + width: @8cols; + margin-left: auto; + margin-right: auto; + } + .article-list { + width: @8cols; + .meta { + width: @4cols; + float: right; + } + } + } + + } // layout-page + + .the-footer { + + .unit-foot { + width: @11cols; + margin-left: auto; + margin-right: auto; + } + + } // .the-footer + +} // .ie + +/* + Smartphone +*/ + +@media only screen and (min-width: 320px) and (max-width: 767px) { + img { max-width: 100%; } +} + +/* + Wide Smartphone +*/ + +@media only screen and (min-width: 480px) { + + .the-header { + .unit-inner { width: @5cols; } + .logo a { + font-size: 42px; + line-height: 52px; + letter-spacing: -1px; + } + .nav-global { + margin-top: @line-height / @em; + letter-spacing: -0.31em; + *letter-spacing: normal; + word-spacing: -0.43em; + list-style: none; + padding-left: 0; + .home:after { + margin-left: 16px; + content: "/"; + } + li { + display: inline-block; + *display: inline; + zoom: 1; + line-height: normal; + letter-spacing: normal; + margin-right: 16px; + word-spacing: normal; + vertical-align: middle; + &:last-child { margin-right: 0; } + } + } + } // the-header + + .unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @5cols; } + .unit-foot { + .gotop { margin-top: @line-height / @em; } + } + + } // .unit-article + + .layout-page { + + .unit-body { + .unit-body-inner { width: @5cols; } + .article-list { width: @5cols; } + } + + } // .layout-page + + .the-footer { + + .unit-foot { width: @5cols; } + + } // .the-footer + +} // min-width: 480px + +/* + Tablet +*/ + +@media only screen and (min-width: 768px) { + + .the-header { + .unit-inner { width: @8cols; } + } // the-header + + .unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @8cols; } + + .unit-head-inner { + .meta { + margin-bottom: 0; + text-align: right; + width: @4cols; + float: right; + } + } + + } // .the-article + + .layout-page { + + .unit-body { + .unit-body-inner { width: @8cols; } + .article-list { + width: @8cols; + .meta { + margin-bottom: 0; + text-align: right; + width: @4cols; + float: right; + } + } + } + + } // .layout-page + + .the-footer { + + .unit-foot { width: @8cols; } + + } // the-footer + +} // min-width: 768px + +/* + Not that old computer layout +*/ + +@media only screen and (min-width: 1280px) { + + .the-header { + .unit-inner { width: @11cols; } + .logo { + width: @5cols; + float: left; + } + .nav-global { + margin-top: 21px; + text-align: right; + width: @5cols; + float: right; + } + } // the-header + + .unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @11cols; } + .unit-head-inner, .entry-content, .misc-content { + h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { margin-right: 270px; } + } + + .unit-head-inner { + .meta { + margin-bottom: 0; + width: @4cols; + } + } + + .unit-foot { + .pagination { + float: left; + width: @7cols; + } + .gotop { + float: right; + margin-top: 0; + text-align: right; + width: @4cols; + } + } + + } // .unit-article + + .layout-page { + + .unit-body { + .unit-body-inner { width: @8cols; } + .article-list { + width: @8cols; + .meta { width: @4cols; } + } + } + + } // .layout-page + + .the-footer { + + .unit-foot { width: @11cols; } + + } // .the-footer + +} // min-width: 1280px + +/* + Huge-screen layout +*/ + +@media only screen and (min-width: 1410px) { + + .the-header { + .unit-inner { width: @16cols; } + .logo { width: @8cols; } + .nav-global { width: @8cols; } + } // the-header + + .unit-article { + + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @16cols; } + .unit-head-inner, .entry-content, .misc-content { + h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { + margin-left: 360px; + margin-right: 360px; + } + img.huge { margin-left: -360px; } + } + + .unit-head-inner { + .meta { width: @4cols; } + } + + .unit-foot { + .pagination { width: @10cols; } + .gotop { width: @6cols; } + } + + } // .unit-article + + .layout-page { + + .unit-body { + .unit-body-inner { width: @8cols; } + .article-list { + width: @8cols; + .meta { width: @4cols; } + } + } + + } // .layout-page + + .the-footer { + + .unit-foot { width: @16cols; } + .unit-inner { + h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { + margin-left: 360px; + margin-right: 360px; + } + } + + } // .the-footer + +} // min-width: 1410px diff --git a/assets/themes/the-minimum/css/_less-base.less b/assets/themes/the-minimum/css/_less-base.less new file mode 100644 index 0000000..07dcecd --- /dev/null +++ b/assets/themes/the-minimum/css/_less-base.less @@ -0,0 +1,189 @@ +/* +Frameless +by Joni Korpi +licensed under CC0 + +No styleguide reference. +*/ + +@font-size: 16; // Your base font-size in pixels +@line-height: 26; // Your base line-height in pixels +@em: @font-size*1em; // Shorthand for outputting ems, e.g. "12/@em" + +@column: 60; // The column-width of your grid in pixels +@gutter: 30; // The gutter-width of your grid in pixels + +// Column-widths in variables, in ems + + @1cols: ( 1 * (@column + @gutter) - @gutter) / @em; @1col: @1cols; // 60px + @2cols: ( 2 * (@column + @gutter) - @gutter) / @em; // 150px + @3cols: ( 3 * (@column + @gutter) - @gutter) / @em; // 240px + @4cols: ( 4 * (@column + @gutter) - @gutter) / @em; // 330px + @5cols: ( 5 * (@column + @gutter) - @gutter) / @em; // 420px + @6cols: ( 6 * (@column + @gutter) - @gutter) / @em; // 510px + @7cols: ( 7 * (@column + @gutter) - @gutter) / @em; // 600px + @8cols: ( 8 * (@column + @gutter) - @gutter) / @em; // 690px + @9cols: ( 9 * (@column + @gutter) - @gutter) / @em; // 780px +@10cols: (10 * (@column + @gutter) - @gutter) / @em; // 870px +@11cols: (11 * (@column + @gutter) - @gutter) / @em; // 960px +@12cols: (12 * (@column + @gutter) - @gutter) / @em; // 1050px +@13cols: (13 * (@column + @gutter) - @gutter) / @em; // 1140px +@14cols: (14 * (@column + @gutter) - @gutter) / @em; // 1230px +@15cols: (15 * (@column + @gutter) - @gutter) / @em; // 1320px +@16cols: (16 * (@column + @gutter) - @gutter) / @em; // 1410px + +// Column-widths in a function, in ems + +.width (@cols:1) { width: (@cols * (@column + @gutter) - @gutter) / @em; } + +/* +Font families + +No styleguide reference. +*/ + +@font-stack: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, "MS PGothic", Osaka, Sans-Serif; +@webfont: junctionregularRegular, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, "MS PGothic", Osaka, Sans-Serif; + +/* +Base font size should be larger than 16px. +Calculation should be done via http://j.mp/rNg5uA + +No styleguide reference. +*/ + +body { + font-family: @font-stack; + font-size: @font-size / 16*1em; + line-height: @line-height / @em; +} + +/* +Font size setting +Using Golden ratio section (Caliculated via http://j.mp/sB6oxM): +109.657 6.854 843.515 * h1 +82.241 5.14 632.623 +67.773 4.236 521.331 +50.829 3.177 390.992 +41.887 2.618 322.208 * h2 +31.415 1.963 241.654 +25.888 1.618 199.138 * h3 +19.416 1.214 149.354 * h4 +16.000 1 123.077 * Base font size +12.000 0.75 92.308 * Minimum font size +Vertical Rhythm is caluculated via http://j.mp/sUvKuN + +No styleguide reference. +*/ + +h1, h2, h3, h4, h5, h6 { + font-family: @webfont; + font-weight: bold; +} + +h1, .h1 { + font-size: 42px; + line-height: 52px; + margin-top: 52px; + margin-bottom: 26px; + letter-spacing: -1px; +} +h2, .h2 { + font-size: 42px; + line-height: 52px; + margin-top: 52px; + margin-bottom: 26px; + letter-spacing: -1px; +} +h3, .h3 { + font-size: 26px; + line-height: 26px; + margin-top: 26px; + margin-bottom: 26px; +} +h4, .h4 { + font-size: 20px; + line-height: 26px; + margin-top: 26px; + margin-bottom: 26px; +} +p, ul, ol, dl, img { + margin-top: 0; + margin-bottom: @line-height / @em; +} +small, .small, aside { font-size: 0.75 * (@font-size / @em); } +.font-size-default { font-size: @font-size / @em; } + +blockquote { font-weight: bold; } +blockquote cite { font-weight: normal; } +strong { font-weight: bold; } +em { font-weight: bold; } + +/* +Color schemes + +No styleguide reference. +*/ + +/* solarized - http://j.mp/s9Xuw9 + +@base03: #002b36; +@base02: #073642; +@base01: #586e75; +@base00: #657b83; +@base0: #839496; +@base1: #93a1a1; +@base2: #eee8d5; +@base3: #fdf6e3; +@yellow: #b58900; +@orange: #cb4b16; +@red: #dc322f; +// @magenta: #d33682; +@violet: #6c71c4; +@blue: #268bd2; +@cyan: #2aa198; +@green: #859900; + +*/ + +// Tomorrow Night - http://j.mp/wvO4U4 + +@base03: #2d2d2d; +@base02: #393939; +@base01: #515151; +@base0: #cccccc; +@subtle: #999999; +@yellow: #ffcc66; +@orange: #f99157; +@red: #f2777a; +@violet: #cc99cc; +@blue: #6699cc; +@cyan: #66cccc; +@green: #99cc99; + +// Texture + +@noise-100-90-5: "/assets/themes/the-minimum/skin/100-90-5-monochrome.png"; // http://noisepng.com/ +@cross-hair: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAR0lEQVQYGYVOQQoAIAizHuJXpafqR4wFCw9Ggji2OSbubpkp3UI7Qmcidz9JIKniAYITEQasqovcJHhelquxFf9LVjfTeKFtWPOYLQ+xHqUAAAAASUVORK5CYII="; // http://ptrn.it/AmYV5d + +/* Junction Font + * http://www.theleagueofmoveabletype.com/ + * Using for Logo and headers +*/ + +@font-face { + font-family: 'junctionregularRegular'; + src: url('/assets/themes/the-minimum/font/Junction-webfont.eot'); + src: url('/assets/themes/the-minimum/font/Junction-webfont.eot?#iefix') format('embedded-opentype'), + url('/assets/themes/the-minimum/font/Junction-webfont.woff') format('woff'), + url('/assets/themes/the-minimum/font/Junction-webfont.ttf') format('truetype'), + url('/assets/themes/the-minimum/font/Junction-webfont.svg#junctionregularRegular') format('svg'); + font-weight: normal !important; + font-style: normal; +} + +/* +LESS helper + +No styleguide reference. +*/ diff --git a/assets/themes/the-minimum/css/base.css b/assets/themes/the-minimum/css/base.css new file mode 100644 index 0000000..4af02b8 --- /dev/null +++ b/assets/themes/the-minimum/css/base.css @@ -0,0 +1,153 @@ +/* +HTML5 display definitions from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } +audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } +audio:not([controls]) { display: none; } +[hidden] { display: none; } + +/* +Base from [HTML5 Boilerplate](http://j.mp/rP0wmY) +- Correct text resizing oddly in IE6/7 when body font-size is set using em units +- Force vertical scrollbar in non-IE +- Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g +- Remove text-shadow in selection highlight: h5bp.com/i +- These selection declarations have to be separate +- Also: hot pink! (or customize the background color to match your design) + +No styleguide reference. +*/ + +html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } +body { margin: 0; font-size: 1em; line-height: 1.4; -webkit-tap-highlight-color: rgba(255,0,0, 0.62); } +body, button, input, select, textarea { font-family: sans-serif; } +::-moz-selection { background: #073642; color: #fff; text-shadow: none; } +::selection { background: #073642; color: #fff; text-shadow: none; } + +/* +Links from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +a { color: #00e; } +a:visited { color: #551a8b; } +a:hover { color: #06e; } +a:focus { outline: thin dotted; } +a:hover, a:active { outline: 0; } + +/* +Typography from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +abbr[title] { border-bottom: 1px dotted; } +b, strong { font-weight: bold; } +blockquote { margin: 1em 40px; } +dfn { font-style: italic; } +hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } +ins { background: #ff9; color: #000; text-decoration: none; } +mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } +/* Redeclare monospace font family: h5bp.com/j */ +pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; } +/* Improve readability of pre-formatted text in all browsers */ +pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } +q { quotes: none; } +q:before, q:after { content: ""; content: none; } +small { font-size: 85%; } +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } +sup { top: -0.5em; } +sub { bottom: -0.25em; } + +/* +Lists from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +ul, ol { margin: 0; padding: 0 0 0 40px; } +dd { margin: 0 0 0 40px; } +nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } + +/* +Embedded content from [HTML5 Boilerplate](http://j.mp/rP0wmY) +- Improve image quality when scaled in IE7: h5bp.com/d +- Remove the gap between images and borders on image containers: h5bp.com/e + +No styleguide reference. +*/ + +img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } +svg:not(:root) { overflow: hidden; } /* Correct overflow not hidden in IE9 */ + +/* +Figures from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +figure { margin: 0; } + +/* +Forms from [HTML5 Boilerplate](http://j.mp/rP0wmY) +See inline comments for detail + +No styleguide reference. +*/ + +form { margin: 0; } +fieldset { border: 0; margin: 0; padding: 0; } +/* Indicate that 'label' will shift focus to the associated form element */ +label { cursor: pointer; } +/* + * 1. Correct color not inheriting in IE6/7/8/9 + * 2. Correct alignment displayed oddly in IE6/7 + */ +legend { border: 0; *margin-left: -7px; padding: 0; } +/* + * 1. Correct font-size not inheriting in all browsers + * 2. Remove margins in FF3/4 S5 Chrome + * 3. Define consistent vertical alignment display in all browsers + */ +button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } +/* + * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet) + */ +button, input { line-height: normal; } +/* + * 1. Display hand cursor for clickable form elements + * 2. Allow styling of clickable form elements in iOS + * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6) + */ +button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; } +/* + * Consistent box sizing and appearance + */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } +input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } +input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } +/* + * Remove inner padding and border in FF3/4: h5bp.com/l + */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } +/* + * 1. Remove default vertical scrollbar in IE6/7/8/9 + * 2. Allow only vertical resizing + */ +textarea { overflow: auto; vertical-align: top; resize: vertical; } +/* Colors for form validity */ +input:valid, textarea:valid { } +input:invalid, textarea:invalid { background-color: #f0dddd; } + +/* +Tables from [HTML5 Boilerplate](http://j.mp/rP0wmY) + +No styleguide reference. +*/ + +table { border-collapse: collapse; border-spacing: 0; } +td { vertical-align: top; } diff --git a/assets/themes/the-minimum/css/helper.css b/assets/themes/the-minimum/css/helper.css new file mode 100644 index 0000000..c4a4555 --- /dev/null +++ b/assets/themes/the-minimum/css/helper.css @@ -0,0 +1,48 @@ +--- +--- + +/* +helper.css contains non-semantic helper classes +This must be the last file to import + +No styleguide reference. +*/ + +/* For image replacement */ +.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; } +.ir br { display: none; } +/* Hide from both screenreaders and browsers: h5bp.com/u */ +.hidden { display: none !important; visibility: hidden; } +/* Hide only visually, but have it available for screenreaders: h5bp.com/v */ +.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } +/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */ +.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } +/* Hide visually and from screenreaders, but maintain layout */ +.invisible { visibility: hidden; } +/* Firefox had different box-sizing for hr. See: http://jsfiddle.net/sFgt7/ */ +hr { -moz-box-sizing: content-box; } +/* Contain floats: h5bp.com/q */ +.clearfix:before, +.clearfix:after, +.cf:before, +.cf:after, +.hasGrid:before, +.hasGrid:after, +.unit-inner:before, +.unit-inner:after { content: ""; display: table; } +.clearfix:after, +.cf:after, +.hasGrid:after, +.unit-inner:after { clear: both; } +.clearfix, +.cf, +.hasGrid, +.unit-inner { *zoom: 1; } +.left { + *display: inline; + float: left; +} +.right { + *display: inline; + float: right; +} diff --git a/assets/themes/the-minimum/css/module.css b/assets/themes/the-minimum/css/module.css new file mode 100644 index 0000000..507a140 --- /dev/null +++ b/assets/themes/the-minimum/css/module.css @@ -0,0 +1,71 @@ +/* +Base .mod module from http://j.mp/svs81k + +HTML should look like this and .bd is required: +
      +
      +
      +
      +
      +
      +
      + +No styleguide reference. +*/ + +.mod .inner { position:relative; } +.mod .bd, .mod .ft, .mod .hd { overflow:hidden; *overflow:visible; zoom:1; } + +/* +.media module from http://j.mp/tQCTa8 +Since .media uses overflow: hidden, box-shadow needs padding to render correctly. +Using dropdown or pop over should be problematic. Anything try to go outside of this module box should have problem. +HTML should look like this and .media-left or .media-right and .bd is required: + +
      + + +
      +
      + +No styleguide reference. +*/ + +.media { overflow:hidden; *overflow:visible; zoom:1; } +.media .media-left { float:left; margin-right: 14px; } +.media .img img { display:block; } +.media .media-right { float:right; margin-left: 14px; } +.media .bd, .media .ft, .media .hd { overflow:hidden; *overflow:visible; zoom:1; } + +/* +List modules + +.list-linear - list line up horizontally +HTML: +
        +
      • +
      • +
      • +
      + +No styleguide reference. +*/ + +.list-linear { + letter-spacing: -0.31em; + *letter-spacing: normal; + word-spacing: -0.43em; + list-style: none; + padding-left: 0; +} +.list-linear li { + display: inline-block; + *display: inline; + zoom: 1; + line-height: normal; + letter-spacing: normal; + margin-right: 16px; + word-spacing: normal; + vertical-align: middle; +} +.list-linear li:last-child { margin-right: 0; } diff --git a/assets/themes/the-minimum/css/style.css b/assets/themes/the-minimum/css/style.css new file mode 100644 index 0000000..aed76c6 --- /dev/null +++ b/assets/themes/the-minimum/css/style.css @@ -0,0 +1,804 @@ +@import "base.css"; + +@import "module.css"; + +@import "syntaxhighlighter.css"; + +@import "helper.css"; +/* +Frameless +by Joni Korpi +licensed under CC0 + +No styleguide reference. +*/ +/* +Font families + +No styleguide reference. +*/ +/* +Base font size should be larger than 16px. +Calculation should be done via http://j.mp/rNg5uA + +No styleguide reference. +*/ +body { + font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, "MS PGothic", Osaka, Sans-Serif; + font-size: 1em; + line-height: 1.625em; +} +/* +Font size setting +Using Golden ratio section (Caliculated via http://j.mp/sB6oxM): +109.657 6.854 843.515 * h1 +82.241 5.14 632.623 +67.773 4.236 521.331 +50.829 3.177 390.992 +41.887 2.618 322.208 * h2 +31.415 1.963 241.654 +25.888 1.618 199.138 * h3 +19.416 1.214 149.354 * h4 +16.000 1 123.077 * Base font size +12.000 0.75 92.308 * Minimum font size +Vertical Rhythm is caluculated via http://j.mp/sUvKuN + +No styleguide reference. +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: junctionregularRegular, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, "MS PGothic", Osaka, Sans-Serif; + font-weight: bold; +} +h1, .h1 { + font-size: 42px; + line-height: 52px; + margin-top: 52px; + margin-bottom: 26px; + letter-spacing: -1px; +} +h2, .h2 { + font-size: 42px; + line-height: 52px; + margin-top: 52px; + margin-bottom: 26px; + letter-spacing: -1px; +} +h3, .h3 { + font-size: 26px; + line-height: 26px; + margin-top: 26px; + margin-bottom: 26px; +} +h4, .h4 { + font-size: 20px; + line-height: 26px; + margin-top: 26px; + margin-bottom: 26px; +} +p, +ul, +ol, +dl, +img { + margin-top: 0; + margin-bottom: 1.625em; +} +small, .small, aside { + font-size: 0.75em; +} +.font-size-default { + font-size: 1em; +} +blockquote { + font-weight: bold; +} +blockquote cite { + font-weight: normal; +} +strong { + font-weight: bold; +} +em { + font-weight: bold; +} +/* +Color schemes + +No styleguide reference. +*/ +/* solarized - http://j.mp/s9Xuw9 + +@base03: #002b36; +@base02: #073642; +@base01: #586e75; +@base00: #657b83; +@base0: #839496; +@base1: #93a1a1; +@base2: #eee8d5; +@base3: #fdf6e3; +@yellow: #b58900; +@orange: #cb4b16; +@red: #dc322f; +// @magenta: #d33682; +@violet: #6c71c4; +@blue: #268bd2; +@cyan: #2aa198; +@green: #859900; + +*/ +/* Junction Font + * http://www.theleagueofmoveabletype.com/ + * Using for Logo and headers +*/ +@font-face { + font-family: 'junctionregularRegular'; + src: url('/assets/themes/the-minimum/font/Junction-webfont.eot'); + src: url('/assets/themes/the-minimum/font/Junction-webfont.eot?#iefix') format('embedded-opentype'), url('/assets/themes/the-minimum/font/Junction-webfont.woff') format('woff'), url('/assets/themes/the-minimum/font/Junction-webfont.ttf') format('truetype'), url('/assets/themes/the-minimum/font/Junction-webfont.svg#junctionregularRegular') format('svg'); + font-weight: normal !important; + font-style: normal; +} +/* +LESS helper + +No styleguide reference. +*/ +/* LESS VARIABLES +--------------------------------------------------------------------------------- */ +/* GLOBAL +--------------------------------------------------------------------------------- */ +html { + background-color: #ffffff; + color: #2d2d2d; +} +/* LINK */ +a:link { + color: #2d2d2d; + text-decoration: none; +} +a:visited { + color: #141414; + text-decoration: none; +} +a:hover { + color: #474747; + text-decoration: none; +} +/* HIGHLIGHTER */ +pre { + margin-bottom: 1.625em; +} +pre { + color: #f2f2f2; + background-color: #2d2d2d; + border: 1px solid #2d2d2d; + font-family: "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + margin-left: 0; + margin-right: 0; + padding: 1.625em; + overflow: auto; +} +/* meta */ +/* HEADER +--------------------------------------------------------------------------------- */ +.the-header .logo { + font-family: junctionregularRegular, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, "MS PGothic", Osaka, Sans-Serif; + margin: 0; +} +.the-header .logo a:visited { + color: #2d2d2d; +} +.the-header .nav-global { + text-transform: uppercase; +} +.the-header .nav-global .forkme { + position: relative; + top: 2px; +} +/* MAIN +--------------------------------------------------------------------------------- */ +.unit-article .unit-article-inner header { + background: url('/assets/themes/the-minimum/skin/100-90-5-monochrome.png'); + background-repeat: repeat; + background-position: 0 0; + background-color: #BADA55; + margin-bottom: 1.625em; + padding-top: 1.625em; + padding-bottom: 1.625em; +} +.unit-article .unit-article-inner header h1 { + color: #2d2d2d; + margin-top: 0; + margin-bottom: 0; +} +.unit-article .unit-article-inner .entry-content h2, +.unit-article .unit-article-inner .entry-content h3, +.unit-article .unit-article-inner .entry-content h4, +.unit-article .unit-article-inner .entry-content h5, +.unit-article .unit-article-inner .entry-content h6 { + color: #2d2d2d; +} +.unit-article .unit-article-inner .entry-content h2 a:link, +.unit-article .unit-article-inner .entry-content h3 a:link, +.unit-article .unit-article-inner .entry-content h4 a:link, +.unit-article .unit-article-inner .entry-content h5 a:link, +.unit-article .unit-article-inner .entry-content h6 a:link { + color: #2d2d2d; + border: 0; +} +.unit-article .unit-article-inner .entry-content h2 a:visited, +.unit-article .unit-article-inner .entry-content h3 a:visited, +.unit-article .unit-article-inner .entry-content h4 a:visited, +.unit-article .unit-article-inner .entry-content h5 a:visited, +.unit-article .unit-article-inner .entry-content h6 a:visited { + color: #141414; + border: 0; +} +.unit-article .unit-article-inner .entry-content h2 a:hover, +.unit-article .unit-article-inner .entry-content h3 a:hover, +.unit-article .unit-article-inner .entry-content h4 a:hover, +.unit-article .unit-article-inner .entry-content h5 a:hover, +.unit-article .unit-article-inner .entry-content h6 a:hover { + color: #474747; + border: 0; +} +.unit-article .unit-article-inner .entry-content:first-child h2, +.unit-article .unit-article-inner .entry-content:first-child h3, +.unit-article .unit-article-inner .entry-content:first-child h4, +.unit-article .unit-article-inner .entry-content:first-child h5, +.unit-article .unit-article-inner .entry-content:first-child h6 { + margin-top: 0; +} +.unit-article .unit-article-inner a:link { + border-bottom: 1px dotted #99cc99; +} +.unit-article .unit-article-inner a:visited { + border-bottom: 1px dotted #77bb77; +} +.unit-article .unit-article-inner a:hover { + border-bottom: 1px dotted #bbddbb; +} +.unit-article .unit-article-inner blockquote { + border-left: 1em solid rgba(21, 25, 25, 0.8); + padding-left: 1em; +} +.unit-article .unit-article-inner blockquote p { + margin-left: 0; + margin-right: 0; +} +.unit-article .unit-article-inner ul, .unit-article .unit-article-inner ol, .unit-article .unit-article-inner dl { + padding-left: 0; +} +.unit-article .unit-article-inner ul { + list-style: square; +} +.unit-article .unit-article-inner ol { + list-style: decimal; +} +.unit-article .unit-article-inner li h1, +.unit-article .unit-article-inner dt h1, +.unit-article .unit-article-inner dd h1, +.unit-article .unit-article-inner li h2, +.unit-article .unit-article-inner dt h2, +.unit-article .unit-article-inner dd h2, +.unit-article .unit-article-inner li h3, +.unit-article .unit-article-inner dt h3, +.unit-article .unit-article-inner dd h3, +.unit-article .unit-article-inner li h4, +.unit-article .unit-article-inner dt h4, +.unit-article .unit-article-inner dd h4, +.unit-article .unit-article-inner li h5, +.unit-article .unit-article-inner dt h5, +.unit-article .unit-article-inner dd h5, +.unit-article .unit-article-inner li p, +.unit-article .unit-article-inner dt p, +.unit-article .unit-article-inner dd p, +.unit-article .unit-article-inner li ul, +.unit-article .unit-article-inner dt ul, +.unit-article .unit-article-inner dd ul, +.unit-article .unit-article-inner li ol, +.unit-article .unit-article-inner dt ol, +.unit-article .unit-article-inner dd ol, +.unit-article .unit-article-inner li dl, +.unit-article .unit-article-inner dt dl, +.unit-article .unit-article-inner dd dl, +.unit-article .unit-article-inner li blockquote, +.unit-article .unit-article-inner dt blockquote, +.unit-article .unit-article-inner dd blockquote, +.unit-article .unit-article-inner li .hasGrid, +.unit-article .unit-article-inner dt .hasGrid, +.unit-article .unit-article-inner dd .hasGrid { + margin-left: 0; + margin-right: 0; +} +.unit-article .unit-article-inner p code, .unit-article .unit-article-inner li code { + margin: 0 2px; + padding: 2px 5px; + white-space: nowrap; + border: 1px solid #CCC; + background-color: #F8F8F8; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.unit-article .unit-article-inner img { + display: block; + margin-left: auto; + margin-left: auto; +} +.unit-article .unit-article-inner img.left { + margin-right: 16px; +} +.unit-article .unit-article-inner img.right { + margin-left: 16px; +} +.unit-article .unit-article-inner img.huge { + position: relative; +} +.unit-article .unit-article-inner .date-publish { + margin-bottom: 0; +} +.unit-article .unit-article-inner .list-linear .list-head { + margin-right: 4px; +} +.unit-article .unit-article-inner .list-category { + margin-bottom: 0; + text-transform: capitalize; +} +.unit-article .unit-article-inner .list-tag { + text-transform: capitalize; +} +.unit-article .unit-article-inner .unit-foot { + background: #4d4d4d; + color: #fafafa; + padding-top: 1.625em; + padding-bottom: 1.625em; + position: relative; +} +.unit-article .unit-article-inner .unit-foot a:link { + color: #fafafa; +} +.unit-article .unit-article-inner .unit-foot a:visited { + color: #fafafa; +} +.unit-article .unit-article-inner .unit-foot a:hover { + color: #ffffff; +} +.unit-article .unit-article-inner .unit-foot nav ul { + list-style: none; +} +.unit-article .unit-article-inner .unit-foot nav ul li { + display: inline; +} +.unit-article .unit-article-inner .unit-foot .gotop { + margin-bottom: 0; +} +/* post & page */ +/* FOOTER +----------------------------------------------- */ +.the-footer { + background-color: #1a1a1a; + background-color: rgba(21, 25, 25, 0.8); + color: #fafafa; + color: rgba(250, 250, 250, 0.8); + padding-bottom: 1.625em; +} +.the-footer a:link { + color: #99cc99; + border: 0; +} +.the-footer a:visited { + color: #77bb77; + border: 0; +} +.the-footer a:hover { + color: #bbddbb; + border: 0; +} +.the-footer ul { + list-style: square; + padding-left: 1em; +} +.the-footer address { + font-style: normal; +} +.the-footer .license { + clear: both; +} +.the-footer .license p { + margin-bottom: 0; +} +.the-header .unit-inner { + width: 15em; + margin-top: 1.625em; + margin-bottom: 1.625em; + margin-left: auto; + margin-right: auto; +} +.the-header .logo a { + font-size: 32px; + line-height: 42px; +} +.unit-article .unit-head-inner, +.unit-article .entry-content, +.unit-article .misc-content, +.unit-article .unit-foot-inner { + width: 15em; + margin-left: auto; + margin-right: auto; +} +.unit-article .unit-head-inner .meta { + margin-bottom: 1.625em; +} +.layout-page .unit-body .unit-body-inner { + width: 15em; + margin-left: auto; + margin-right: auto; +} +.layout-page .unit-body .article-list .meta { + margin-bottom: 1.625em; +} +.the-footer .unit-foot { + width: 15em; + margin-left: auto; + margin-right: auto; +} +/* + IE +*/ +.ie .the-header .unit-inner { + width: 60em; + margin-top: 1.625em; + margin-bottom: 1.625em; + margin-left: auto; + margin-right: auto; +} +.ie .the-header .logo { + width: 26.25em; + float: left; +} +.ie .the-header .nav-global { + margin-top: 50px; + text-align: right; + width: 26.25em; + float: right; +} +.ie .unit-article .unit-head-inner, +.ie .unit-article .entry-content, +.ie .unit-article .misc-content, +.ie .unit-article .unit-foot-inner { + width: 60em; + margin-left: auto; + margin-right: auto; +} +.ie .unit-article .unit-head-inner h1, +.ie .unit-article .entry-content h1, +.ie .unit-article .misc-content h1, +.ie .unit-article .unit-head-inner h2, +.ie .unit-article .entry-content h2, +.ie .unit-article .misc-content h2, +.ie .unit-article .unit-head-inner h3, +.ie .unit-article .entry-content h3, +.ie .unit-article .misc-content h3, +.ie .unit-article .unit-head-inner h4, +.ie .unit-article .entry-content h4, +.ie .unit-article .misc-content h4, +.ie .unit-article .unit-head-inner h5, +.ie .unit-article .entry-content h5, +.ie .unit-article .misc-content h5, +.ie .unit-article .unit-head-inner p, +.ie .unit-article .entry-content p, +.ie .unit-article .misc-content p, +.ie .unit-article .unit-head-inner ul, +.ie .unit-article .entry-content ul, +.ie .unit-article .misc-content ul, +.ie .unit-article .unit-head-inner ol, +.ie .unit-article .entry-content ol, +.ie .unit-article .misc-content ol, +.ie .unit-article .unit-head-inner dl, +.ie .unit-article .entry-content dl, +.ie .unit-article .misc-content dl, +.ie .unit-article .unit-head-inner blockquote, +.ie .unit-article .entry-content blockquote, +.ie .unit-article .misc-content blockquote { + margin-right: 210px; +} +.ie .unit-article .unit-head-inner .meta { + width: 20.625em; + float: right; +} +.ie .layout-page .unit-body .unit-body-inner { + width: 43.125em; + margin-left: auto; + margin-right: auto; +} +.ie .layout-page .unit-body .article-list { + width: 43.125em; +} +.ie .layout-page .unit-body .article-list .meta { + width: 20.625em; + float: right; +} +.ie .the-footer .unit-foot { + width: 60em; + margin-left: auto; + margin-right: auto; +} +/* + Smartphone +*/ +@media only screen and (min-width: 320px) and (max-width: 767px) { + img { + max-width: 100%; + } +} +/* + Wide Smartphone +*/ +@media only screen and (min-width: 480px) { + .the-header .unit-inner { + width: 26.25em; + } + .the-header .logo a { + font-size: 42px; + line-height: 52px; + letter-spacing: -1px; + } + .the-header .nav-global { + margin-top: 1.625em; + letter-spacing: -0.31em; + *letter-spacing: normal; + word-spacing: -0.43em; + list-style: none; + padding-left: 0; + } + .the-header .nav-global .home:after { + margin-left: 16px; + content: "/"; + } + .the-header .nav-global li { + display: inline-block; + *display: inline; + zoom: 1; + line-height: normal; + letter-spacing: normal; + margin-right: 16px; + word-spacing: normal; + vertical-align: middle; + } + .the-header .nav-global li:last-child { + margin-right: 0; + } + .unit-article .unit-head-inner, + .unit-article .entry-content, + .unit-article .misc-content, + .unit-article .unit-foot-inner { + width: 26.25em; + } + .unit-article .unit-foot .gotop { + margin-top: 1.625em; + } + .layout-page .unit-body .unit-body-inner { + width: 26.25em; + } + .layout-page .unit-body .article-list { + width: 26.25em; + } + .the-footer .unit-foot { + width: 26.25em; + } +} +/* + Tablet +*/ +@media only screen and (min-width: 768px) { + .the-header .unit-inner { + width: 43.125em; + } + .unit-article .unit-head-inner, + .unit-article .entry-content, + .unit-article .misc-content, + .unit-article .unit-foot-inner { + width: 43.125em; + } + .unit-article .unit-head-inner .meta { + margin-bottom: 0; + text-align: right; + width: 20.625em; + float: right; + } + .layout-page .unit-body .unit-body-inner { + width: 43.125em; + } + .layout-page .unit-body .article-list { + width: 43.125em; + } + .layout-page .unit-body .article-list .meta { + margin-bottom: 0; + text-align: right; + width: 20.625em; + float: right; + } + .the-footer .unit-foot { + width: 43.125em; + } +} +/* + Not that old computer layout +*/ +@media only screen and (min-width: 1280px) { + .the-header .unit-inner { + width: 60em; + } + .the-header .logo { + width: 26.25em; + float: left; + } + .the-header .nav-global { + margin-top: 21px; + text-align: right; + width: 26.25em; + float: right; + } + .unit-article .unit-head-inner, + .unit-article .entry-content, + .unit-article .misc-content, + .unit-article .unit-foot-inner { + width: 60em; + } + .unit-article .unit-head-inner h1, + .unit-article .entry-content h1, + .unit-article .misc-content h1, + .unit-article .unit-head-inner h2, + .unit-article .entry-content h2, + .unit-article .misc-content h2, + .unit-article .unit-head-inner h3, + .unit-article .entry-content h3, + .unit-article .misc-content h3, + .unit-article .unit-head-inner h4, + .unit-article .entry-content h4, + .unit-article .misc-content h4, + .unit-article .unit-head-inner h5, + .unit-article .entry-content h5, + .unit-article .misc-content h5, + .unit-article .unit-head-inner p, + .unit-article .entry-content p, + .unit-article .misc-content p, + .unit-article .unit-head-inner ul, + .unit-article .entry-content ul, + .unit-article .misc-content ul, + .unit-article .unit-head-inner ol, + .unit-article .entry-content ol, + .unit-article .misc-content ol, + .unit-article .unit-head-inner dl, + .unit-article .entry-content dl, + .unit-article .misc-content dl, + .unit-article .unit-head-inner blockquote, + .unit-article .entry-content blockquote, + .unit-article .misc-content blockquote { + margin-right: 270px; + } + .unit-article .unit-head-inner .meta { + margin-bottom: 0; + width: 20.625em; + } + .unit-article .unit-foot .pagination { + float: left; + width: 37.5em; + } + .unit-article .unit-foot .gotop { + float: right; + margin-top: 0; + text-align: right; + width: 20.625em; + } + .layout-page .unit-body .unit-body-inner { + width: 43.125em; + } + .layout-page .unit-body .article-list { + width: 43.125em; + } + .layout-page .unit-body .article-list .meta { + width: 20.625em; + } + .the-footer .unit-foot { + width: 60em; + } +} +/* + Huge-screen layout +*/ +@media only screen and (min-width: 1410px) { + .the-header .unit-inner { + width: 88.125em; + } + .the-header .logo { + width: 43.125em; + } + .the-header .nav-global { + width: 43.125em; + } + .unit-article .unit-head-inner, + .unit-article .entry-content, + .unit-article .misc-content, + .unit-article .unit-foot-inner { + width: 88.125em; + } + .unit-article .unit-head-inner h1, + .unit-article .entry-content h1, + .unit-article .misc-content h1, + .unit-article .unit-head-inner h2, + .unit-article .entry-content h2, + .unit-article .misc-content h2, + .unit-article .unit-head-inner h3, + .unit-article .entry-content h3, + .unit-article .misc-content h3, + .unit-article .unit-head-inner h4, + .unit-article .entry-content h4, + .unit-article .misc-content h4, + .unit-article .unit-head-inner h5, + .unit-article .entry-content h5, + .unit-article .misc-content h5, + .unit-article .unit-head-inner p, + .unit-article .entry-content p, + .unit-article .misc-content p, + .unit-article .unit-head-inner ul, + .unit-article .entry-content ul, + .unit-article .misc-content ul, + .unit-article .unit-head-inner ol, + .unit-article .entry-content ol, + .unit-article .misc-content ol, + .unit-article .unit-head-inner dl, + .unit-article .entry-content dl, + .unit-article .misc-content dl, + .unit-article .unit-head-inner blockquote, + .unit-article .entry-content blockquote, + .unit-article .misc-content blockquote { + margin-left: 360px; + margin-right: 360px; + } + .unit-article .unit-head-inner img.huge, .unit-article .entry-content img.huge, .unit-article .misc-content img.huge { + margin-left: -360px; + } + .unit-article .unit-head-inner .meta { + width: 20.625em; + } + .unit-article .unit-foot .pagination { + width: 54.375em; + } + .unit-article .unit-foot .gotop { + width: 31.875em; + } + .layout-page .unit-body .unit-body-inner { + width: 43.125em; + } + .layout-page .unit-body .article-list { + width: 43.125em; + } + .layout-page .unit-body .article-list .meta { + width: 20.625em; + } + .the-footer .unit-foot { + width: 88.125em; + } + .the-footer .unit-inner h1, + .the-footer .unit-inner h2, + .the-footer .unit-inner h3, + .the-footer .unit-inner h4, + .the-footer .unit-inner h5, + .the-footer .unit-inner p, + .the-footer .unit-inner ul, + .the-footer .unit-inner ol, + .the-footer .unit-inner dl, + .the-footer .unit-inner blockquote { + margin-left: 360px; + margin-right: 360px; + } +} diff --git a/assets/themes/the-minimum/css/style.less b/assets/themes/the-minimum/css/style.less new file mode 100644 index 0000000..9b9a3d7 --- /dev/null +++ b/assets/themes/the-minimum/css/style.less @@ -0,0 +1,228 @@ +@import "base.css"; +@import "module.css"; +@import "_less-base.less"; + +/* LESS VARIABLES +--------------------------------------------------------------------------------- */ +@main-bg: #ffffff; +@subtle-bg: @base01; +@main-font-color: @base03; +@accent-color: @green; + +/* GLOBAL +--------------------------------------------------------------------------------- */ +html { + background-color: @main-bg; + color: @main-font-color; +} + +/* LINK */ +a { + &:link { + color: @main-font-color; + text-decoration: none; + } + &:visited { + color: darken(@main-font-color, 10%); + text-decoration: none; + } + &:hover { + color: lighten(@main-font-color, 10%); + text-decoration: none; + } +} + +/* HIGHLIGHTER */ +pre { margin-bottom: @line-height / @em; } +pre { + color: #f2f2f2; + background-color: @base03; + border: 1px solid fadein(@base03, 30%); + font-family: "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + margin-left: 0; + margin-right: 0; + padding: @line-height / @em; + overflow: auto; +} + +/* meta */ +.meta {} + + +/* HEADER +--------------------------------------------------------------------------------- */ +.the-header { + .logo { + font-family: @webfont; + margin: 0; + a:visited { color: @main-font-color; } + } + .nav-global { + text-transform: uppercase; + .forkme { + position: relative; + top: 2px; + } + } +} // .the-header + +/* MAIN +--------------------------------------------------------------------------------- */ +.unit-article { + .unit-article-inner { + + header { + background: url('@{noise-100-90-5}'); + background-repeat: repeat; + background-position: 0 0; + background-color: #BADA55; + margin-bottom: @line-height / @em; + padding-top: (@line-height / @em); + padding-bottom: (@line-height / @em) ; + h1 { + color: @main-font-color; + margin-top: 0; + margin-bottom: 0; + } + } // .article-inner header + + .entry-content { + h2, h3, h4, h5, h6 { + color: @main-font-color; + a { + &:link { + color: @main-font-color; + border: 0; + } + &:visited { + color: darken(@main-font-color, 10%); + border: 0; + } + &:hover { + color: lighten(@main-font-color, 10%); + border: 0; + } + } + } + } // .article-inner .entry-content + + .entry-content:first-child h2, + .entry-content:first-child h3, + .entry-content:first-child h4, + .entry-content:first-child h5, + .entry-content:first-child h6 { margin-top: 0; } // Canceling header margin since there is margin on header + + a { + &:link { border-bottom: 1px dotted @accent-color; } + &:visited { border-bottom: 1px dotted darken(@accent-color, 10%); } + &:hover { border-bottom: 1px dotted lighten(@accent-color, 10%); } + } + + blockquote { + border-left: 1em solid rgba(21, 25, 25, 0.8); + padding-left: 1em; + p { + margin-left: 0; + margin-right: 0; + } + } + ul, ol, dl { padding-left: 0; } + ul { list-style: square; } + ol { list-style: decimal; } + li, dt, dd { + h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote, .hasGrid { margin-left: 0; margin-right: 0; } + } + p code, li code { + margin: 0 2px; + padding: 2px 5px; + white-space: nowrap; + border: 1px solid #CCC; + background-color: #F8F8F8; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; + } + + img { + display: block; + margin-left: auto; + margin-left: auto; + } + img.left { margin-right: 16px; } + img.right { margin-left: 16px; } + img.huge { position: relative; } + + .date-publish { margin-bottom: 0; } + .list-linear .list-head { margin-right: 4px; } + .list-category { + margin-bottom: 0; + text-transform: capitalize; + + } + .list-tag { + text-transform: capitalize; + } + + .unit-foot { + background: #4d4d4d; + color: #fafafa; + a { + &:link { color: #fafafa; } + &:visited { color: #fafafa; } + &:hover { color: #ffffff; } + } + padding-top: @line-height / @em; + padding-bottom: @line-height / @em; + position: relative; + nav ul { + list-style: none; + li { display: inline; } + } + .gotop { margin-bottom: 0; } + } // .article-inner .unit-foot + + } // .article-inner +} // .the-article + +/* post & page */ +.page-post { + +} // .page-post + +/* FOOTER +----------------------------------------------- */ +.the-footer { + background-color: #1a1a1a; + background-color: rgba(21, 25, 25, 0.8); + color: #fafafa; + color: rgba(250, 250, 250, 0.8); + padding-bottom: @line-height / @em; + a { + &:link { + color: @accent-color; + border: 0; + } + &:visited { + color: darken(@accent-color, 10%); + border: 0; + } + &:hover { + color: lighten(@accent-color, 10%); + border: 0; + } + } + ul { + list-style: square; + padding-left: 1em; + } + address { font-style: normal; } + .license { + clear: both; + p { margin-bottom: 0; } + } +} + +@import "_layout.less"; +@import "syntaxhighlighter.css"; +@import "helper.css"; diff --git a/assets/themes/the-minimum/css/syntaxhighlighter.css b/assets/themes/the-minimum/css/syntaxhighlighter.css new file mode 100644 index 0000000..dda10da --- /dev/null +++ b/assets/themes/the-minimum/css/syntaxhighlighter.css @@ -0,0 +1,68 @@ +pre .c { color: #999999; font-style: italic } /* Comment */ +pre .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +pre .g { color: #d0d0d0 } /* Generic */ +pre .k { color: #6ab825; font-weight: bold } /* Keyword */ +pre .l { color: #d0d0d0 } /* Literal */ +pre .n { color: #d0d0d0 } /* Name */ +pre .o { color: #d0d0d0 } /* Operator */ +pre .x { color: #d0d0d0 } /* Other */ +pre .p { color: #d0d0d0 } /* Punctuation */ +pre .cm { color: #999999; font-style: italic } /* Comment.Multiline */ +pre .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */ +pre .c1 { color: #999999; font-style: italic } /* Comment.Single */ +pre .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +pre .gd { color: #d22323 } /* Generic.Deleted */ +pre .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +pre .gr { color: #d22323 } /* Generic.Error */ +pre .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +pre .gi { color: #589819 } /* Generic.Inserted */ +pre .go { color: #cccccc } /* Generic.Output */ +pre .gp { color: #aaaaaa } /* Generic.Prompt */ +pre .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +pre .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +pre .gt { color: #d22323 } /* Generic.Traceback */ +pre .kc { color: #6ab825; font-weight: bold } /* Keyword.Constant */ +pre .kd { color: #6ab825; font-weight: bold } /* Keyword.Declaration */ +pre .kn { color: #6ab825; font-weight: bold } /* Keyword.Namespace */ +pre .kp { color: #6ab825 } /* Keyword.Pseudo */ +pre .kr { color: #6ab825; font-weight: bold } /* Keyword.Reserved */ +pre .kt { color: #6ab825; font-weight: bold } /* Keyword.Type */ +pre .ld { color: #d0d0d0 } /* Literal.Date */ +pre .m { color: #3677a9 } /* Literal.Number */ +pre .s { color: #ed9d13 } /* Literal.String */ +pre .na { color: #bbbbbb } /* Name.Attribute */ +pre .nb { color: #24909d } /* Name.Builtin */ +pre .nc { color: #447fcf; text-decoration: underline } /* Name.Class */ +pre .no { color: #40ffff } /* Name.Constant */ +pre .nd { color: #ffa500 } /* Name.Decorator */ +pre .ni { color: #d0d0d0 } /* Name.Entity */ +pre .ne { color: #bbbbbb } /* Name.Exception */ +pre .nf { color: #447fcf } /* Name.Function */ +pre .nl { color: #d0d0d0 } /* Name.Label */ +pre .nn { color: #447fcf; text-decoration: underline } /* Name.Namespace */ +pre .nx { color: #d0d0d0 } /* Name.Other */ +pre .py { color: #d0d0d0 } /* Name.Property */ +pre .nt { color: #6ab825; font-weight: bold } /* Name.Tag */ +pre .nv { color: #40ffff } /* Name.Variable */ +pre .ow { color: #6ab825; font-weight: bold } /* Operator.Word */ +pre .w { color: #666666 } /* Text.Whitespace */ +pre .mf { color: #3677a9 } /* Literal.Number.Float */ +pre .mh { color: #3677a9 } /* Literal.Number.Hex */ +pre .mi { color: #3677a9 } /* Literal.Number.Integer */ +pre .mo { color: #3677a9 } /* Literal.Number.Oct */ +pre .sb { color: #ed9d13 } /* Literal.String.Backtick */ +pre .sc { color: #ed9d13 } /* Literal.String.Char */ +pre .sd { color: #ed9d13 } /* Literal.String.Doc */ +pre .s2 { color: #ed9d13 } /* Literal.String.Double */ +pre .se { color: #ed9d13 } /* Literal.String.Escape */ +pre .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +pre .si { color: #ed9d13 } /* Literal.String.Interpol */ +pre .sx { color: #ffa500 } /* Literal.String.Other */ +pre .sr { color: #ed9d13 } /* Literal.String.Regex */ +pre .s1 { color: #ed9d13 } /* Literal.String.Single */ +pre .ss { color: #ed9d13 } /* Literal.String.Symbol */ +pre .bp { color: #24909d } /* Name.Builtin.Pseudo */ +pre .vc { color: #40ffff } /* Name.Variable.Class */ +pre .vg { color: #40ffff } /* Name.Variable.Global */ +pre .vi { color: #40ffff } /* Name.Variable.Instance */ +pre .il { color: #3677a9 } /* Literal.Number.Integer.Long */ diff --git a/assets/themes/the-minimum/font/Junction-webfont.eot b/assets/themes/the-minimum/font/Junction-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..ad8eb0cc3a8f35842d540657233fddcc5b29892a GIT binary patch literal 23668 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 g*M^I)&B( + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Generated in 2009 by FontLab Studio Copyright info pending + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/themes/the-minimum/font/Junction-webfont.ttf b/assets/themes/the-minimum/font/Junction-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..27aa517da95620a04fff001acf6f3282d482b072 GIT binary patch literal 23464 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 P5Kt}n{{ppI6w3bx$415z literal 0 HcmV?d00001 diff --git a/assets/themes/the-minimum/readme.markdown b/assets/themes/the-minimum/readme.markdown new file mode 100644 index 0000000..6ee9b7b --- /dev/null +++ b/assets/themes/the-minimum/readme.markdown @@ -0,0 +1,34 @@ +## Theme info + +Theme Name: the\_minimum +Description: A minimumlist theme for [jekyll](https://github.com/mojombo/jekyll).Theming is done on [Jekyll-Bootstrap](http://jekyllbootstrap.com/). +Author: Yuya Saito @ [\_layout](http://layouts-the.me/) +Version: 1.0 + +## About the \_minimum + +- Love minimalism? So do I. I've put some effort on typography(not the type face) so your reader won't need Readability to read your content. +- Design is simple so is the code behind it. You can easily customize it. +- Built with mobile first. +- Written with [LESS](http://lesscss.org/) so if you need to edit it, you should get [Codekit](http://incident57.com/codekit/). I did use this app to develop this theme. + +## About me + +I'm Yuya Saito who is a web designer/front-end developer from Tokyo, Japan. + +This is a Jekyll Bootstrap port of my theme [studiomohawk/jekyll-theme-the_minimum](https://github.com/studiomohawk/jekyll-theme-the_minimum). +If you watch or fork from it, you should do those here instead. + +## How to use it? + +There are 2 places you should go look. + +1. [Jekyll](https://github.com/mojombo/jekyll) / Jekyll repo page on Github +2. [Jekyll-Bootstrap](http://jekyllbootstrap.com/) / (Almost) complete how-to and bootstrap for Jekyll created by [Jade Dominguez](http://plusjade.com/) + +## Code I didn't write + +- [Jekyll-Bootstrap](http://jekyllbootstrap.com/) / [CC BY-NC-SA 3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/) +- [Modernizr](http://www.modernizr.com/) / MIT/BSD license +- [Frameless](http://framelessgrid.com/) / [CC0](http://creativecommons.org/publicdomain/zero/1.0/) +- [HTML5 Boilerplate](http://html5boilerplate.com/): [The Unlicense](http://unlicense.org) (aka: Public Domain) \ No newline at end of file diff --git a/assets/themes/the-minimum/skin/100-90-5-monochrome.png b/assets/themes/the-minimum/skin/100-90-5-monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..ebcce339b9b0b394a41156d4be3095358425a786 GIT binary patch literal 22346 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 XCp01&hKWz;$R(T|-5u^w1LOY(sq}}P literal 0 HcmV?d00001 From ab03c6dd45635bd8ac967c844da0efe145cfce4d Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:47:58 -0800 Subject: [PATCH 006/124] sample content updates --- .../core-samples/helpers/2011-9-27-posts-collate.md | 2 +- .../usage/2011-10-28-deployment-and-hosting.md | 2 +- .../usage/2011-10-31-jekyll-quick-start.md | 13 ++++++------- index.md | 2 +- sitemap.txt | 1 + 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/_posts/core-samples/helpers/2011-9-27-posts-collate.md b/_posts/core-samples/helpers/2011-9-27-posts-collate.md index 299f6cb..1740bd7 100644 --- a/_posts/core-samples/helpers/2011-9-27-posts-collate.md +++ b/_posts/core-samples/helpers/2011-9-27-posts-collate.md @@ -4,7 +4,7 @@ categories : helpers --- The posts collate helper organizes and lists posts in month/year clusters. -The posts collate helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. +The posts collate helper follows the [Jekyll-bootstrap include helper](/api/bootstrap-api.html) strategy. ## Usage diff --git a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md index 64bb0b4..638ff25 100644 --- a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md +++ b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md @@ -1,5 +1,5 @@ --- -layout: page +layout: post categories : usage --- diff --git a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md index e09e07c..516e6ed 100644 --- a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md +++ b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md @@ -4,10 +4,10 @@ categories : usage --- -## 1. Install Jekyll-Bootstrap-Core +## 1. Install Jekyll-Bootstrap -[Install Jekyll-Bootsrap-Core](/index.html#start-now) if you haven't already. -Jekyll-bootstrap-core is a clean base framework for your blog. +[Install Jekyll-Bootsrap](/index.html#start-now) if you haven't already. +Jekyll-bootstrap is a clean base framework for your blog. It includes two themes, some useful pages, and bootstrap include-helpers. ## 2. Run Jekyll Locally @@ -19,7 +19,7 @@ In order to preview your blog locally you'll need to install the jekyll gem. Not If you run into a problem please consult the original [Jekyll installation documentation](https://github.com/mojombo/jekyll/wiki/Install). You can also [contact me](http://github.com/plusjade) through github. -Once the gem is installed you can navigate to your Jekyll-bootstrap-core directory +Once the gem is installed you can navigate to your Jekyll-bootstrap directory and run jekyll: $ cd jekyll-bootstrap @@ -30,7 +30,7 @@ Your blog is now available at: [http://localhost:4000/](http://localhost:4000/). ## 2. Choose a Theme -Jekyll-bootstrap-core has a basic theming system that I'll be steadily improving. +Jekyll-bootstrap has a basic theming system that I'll be steadily improving. You can read about how to choose and customize a theme in the [Theming](/usages/theming.html) section. ## 3. Create Some Content @@ -50,7 +50,6 @@ You can study the source and customize it for your own needs.
        {% assign pages_list = site.pages %} -{% assign group = "example-page" %} {% include helpers/pages_list.html %}
      @@ -63,7 +62,7 @@ A GitHub post-commit hook will automatically deploy your changes to your hosted ## 5. Customize -Jekyll-bootstrap-core can be used as-is as a basic blogging platform with little need +Jekyll-bootstrap can be used as-is as a basic blogging platform with little need to understand what's going on under the hood. However I'm betting you want to get your hands dirty. diff --git a/index.md b/index.md index 14f94fe..03f605c 100644 --- a/index.md +++ b/index.md @@ -1,6 +1,6 @@ --- layout: page -title: Hello from Jekyll-Bootstrap-Core +title: Hello from Jekyll-Bootstrap header: This is Jekyll-Bootstrap --- diff --git a/sitemap.txt b/sitemap.txt index 59367c5..25c568f 100644 --- a/sitemap.txt +++ b/sitemap.txt @@ -1,5 +1,6 @@ --- # Remember to set production_url in your _config.yml file! +title : Sitemap --- {% for page in site.pages %} {{site.production_url}}{{ page.url }}{% endfor %} From 3b239b9cc4b2a9205d7bf0307ac412d336ec2309 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:50:03 -0800 Subject: [PATCH 007/124] specify page group 'navigation' Also clean out pages.html and just list all pages --- archive.html | 2 +- categories.html | 2 +- pages.html | 15 ++------------- tags.html | 2 +- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/archive.html b/archive.html index 3e622e7..625253f 100644 --- a/archive.html +++ b/archive.html @@ -2,7 +2,7 @@ layout: page title : Archive header : Post Archive -group: example-page +group: navigation --- {% assign posts_collate = site.posts %} diff --git a/categories.html b/categories.html index 529a345..a5ed9f8 100644 --- a/categories.html +++ b/categories.html @@ -2,7 +2,7 @@ layout: page title: Categories header: Posts By Category -group: example-page +group: navigation ---
        diff --git a/pages.html b/pages.html index 91c6c96..e78e08c 100644 --- a/pages.html +++ b/pages.html @@ -2,20 +2,9 @@ layout: page title: Pages header: Pages -group: example-page +group: navigation ---

        All Pages

        {% assign pages_list = site.pages %} -{% include helpers/pages_list.html %} - - -

        Pages in group: project

        -{% assign pages_list = site.pages %} -{% assign group = 'project' %} -{% include helpers/pages_list.html %} - -

        Pages in group: example-page

        -{% assign pages_list = site.pages %} -{% assign group = 'example-page' %} -{% include helpers/pages_list.html %} +{% include helpers/pages_list.html %} \ No newline at end of file diff --git a/tags.html b/tags.html index fa36a9c..0447695 100644 --- a/tags.html +++ b/tags.html @@ -2,7 +2,7 @@ layout: page title: Tags header: Posts By Tag -group: example-page +group: navigation ---
          From 2e16fad591d1808f5f89d7b584be8b99f2015434 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:50:49 -0800 Subject: [PATCH 008/124] add little arrow to collated list --- _includes/helpers/posts_collate.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/helpers/posts_collate.html b/_includes/helpers/posts_collate.html index 7e55554..210bd03 100644 --- a/_includes/helpers/posts_collate.html +++ b/_includes/helpers/posts_collate.html @@ -29,7 +29,7 @@

          {{this_month}}

          From 46c738ce71db42202c34523b1d2b18da95c303a8 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:51:35 -0800 Subject: [PATCH 009/124] assign active class to li --- _includes/helpers/pages_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/helpers/pages_list.html b/_includes/helpers/pages_list.html index 44c5279..0e42820 100644 --- a/_includes/helpers/pages_list.html +++ b/_includes/helpers/pages_list.html @@ -25,7 +25,7 @@ {% if group == null or group == node.group %} {% if page.url == node.url %} -
        • {{node.title}}
        • +
        • {{node.title}}
        • {% else %}
        • {{node.title}}
        • {% endif %} From 3a6ba2d1db62185d2756c23fee0ad20301c2338b Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:53:23 -0800 Subject: [PATCH 010/124] add twitter bootstrap theme --- _includes/themes/twitter/default.html | 58 +++ _includes/themes/twitter/page.html | 9 + _includes/themes/twitter/post.html | 38 ++ assets/themes/twitter/css/1.4.0/bootstrap.css | 356 ++++++++++++++++++ assets/themes/twitter/css/style.css | 71 ++++ 5 files changed, 532 insertions(+) create mode 100644 _includes/themes/twitter/default.html create mode 100644 _includes/themes/twitter/page.html create mode 100644 _includes/themes/twitter/post.html create mode 100644 assets/themes/twitter/css/1.4.0/bootstrap.css create mode 100644 assets/themes/twitter/css/style.css diff --git a/_includes/themes/twitter/default.html b/_includes/themes/twitter/default.html new file mode 100644 index 0000000..d149bd5 --- /dev/null +++ b/_includes/themes/twitter/default.html @@ -0,0 +1,58 @@ + + + + + {{ page.title }} + {% if page.description %}{% endif %} + + + + + + + + + + + + + + + +
          +
          +
          + {{ site.title }} + +
          +
          +
          + +
          + +
          + {{ content }} +
          + + + +
          + + + diff --git a/_includes/themes/twitter/page.html b/_includes/themes/twitter/page.html new file mode 100644 index 0000000..7ac6fab --- /dev/null +++ b/_includes/themes/twitter/page.html @@ -0,0 +1,9 @@ + + +
          +
          + {{ content }} +
          +
          diff --git a/_includes/themes/twitter/post.html b/_includes/themes/twitter/post.html new file mode 100644 index 0000000..81b0931 --- /dev/null +++ b/_includes/themes/twitter/post.html @@ -0,0 +1,38 @@ + + +
          +
          + {{ content }} +
          + +
          + +
          +

          Published

          +
          {{ page.date | date_to_long_string }}
          + + {% unless page.tags == empty %} +

          Tags

          +
            + {% assign tags_list = page.tags %} + {% include helpers/tags_list.html %} +
          + {% endunless %} +
          +
          diff --git a/assets/themes/twitter/css/1.4.0/bootstrap.css b/assets/themes/twitter/css/1.4.0/bootstrap.css new file mode 100644 index 0000000..a43fcf7 --- /dev/null +++ b/assets/themes/twitter/css/1.4.0/bootstrap.css @@ -0,0 +1,356 @@ +html,body{margin:0;padding:0;} +h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;} +table{border-collapse:collapse;border-spacing:0;} +ol,ul{list-style:none;} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted;} +a:hover,a:active{outline:0;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{border:0;-ms-interpolation-mode:bicubic;} +button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;} +button,input{line-height:normal;*overflow:visible;} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} +button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} +input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} +input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#404040;} +.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;} +.container:after{clear:both;} +.container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;} +.container-fluid:after{clear:both;} +.container-fluid>.sidebar{position:absolute;top:0;left:20px;width:220px;} +.container-fluid>.content{margin-left:240px;} +a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.row{zoom:1;margin-left:-20px;}.row:before,.row:after{display:table;content:"";zoom:1;} +.row:after{clear:both;} +.row>[class*="span"]{display:inline;float:left;margin-left:20px;} +.span1{width:40px;} +.span2{width:100px;} +.span3{width:160px;} +.span4{width:220px;} +.span5{width:280px;} +.span6{width:340px;} +.span7{width:400px;} +.span8{width:460px;} +.span9{width:520px;} +.span10{width:580px;} +.span11{width:640px;} +.span12{width:700px;} +.span13{width:760px;} +.span14{width:820px;} +.span15{width:880px;} +.span16{width:940px;} +.span17{width:1000px;} +.span18{width:1060px;} +.span19{width:1120px;} +.span20{width:1180px;} +.span21{width:1240px;} +.span22{width:1300px;} +.span23{width:1360px;} +.span24{width:1420px;} +.row>.offset1{margin-left:80px;} +.row>.offset2{margin-left:140px;} +.row>.offset3{margin-left:200px;} +.row>.offset4{margin-left:260px;} +.row>.offset5{margin-left:320px;} +.row>.offset6{margin-left:380px;} +.row>.offset7{margin-left:440px;} +.row>.offset8{margin-left:500px;} +.row>.offset9{margin-left:560px;} +.row>.offset10{margin-left:620px;} +.row>.offset11{margin-left:680px;} +.row>.offset12{margin-left:740px;} +.span-one-third{width:300px;} +.span-two-thirds{width:620px;} +.row>.offset-one-third{margin-left:340px;} +.row>.offset-two-thirds{margin-left:660px;} +p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;} +h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;} +h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;} +h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;} +h3,h4,h5,h6{line-height:36px;} +h3{font-size:18px;}h3 small{font-size:14px;} +h4{font-size:16px;}h4 small{font-size:12px;} +h5{font-size:14px;} +h6{font-size:13px;color:#bfbfbf;text-transform:uppercase;} +ul,ol{margin:0 0 18px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +ul{list-style:disc;} +ol{list-style:decimal;} +li{line-height:18px;color:#808080;} +ul.unstyled{list-style:none;margin-left:0;} +dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;} +dl dt{font-weight:bold;} +dl dd{margin-left:9px;} +hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;} +strong{font-style:inherit;font-weight:bold;} +em{font-style:italic;font-weight:inherit;line-height:inherit;} +.muted{color:#bfbfbf;} +blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;} +blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';} +address{display:block;line-height:18px;margin-bottom:18px;} +code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;} +pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;} +form{margin-bottom:18px;} +fieldset{margin-bottom:18px;padding-top:18px;}fieldset legend{display:block;padding-left:150px;font-size:19.5px;line-height:1;color:#404040;*padding:0 0 5px 145px;*line-height:1.5;} +form .clearfix{margin-bottom:18px;zoom:1;}form .clearfix:before,form .clearfix:after{display:table;content:"";zoom:1;} +form .clearfix:after{clear:both;} +label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;} +label{padding-top:6px;font-size:13px;line-height:18px;float:left;width:130px;text-align:right;color:#404040;} +form .input{margin-left:150px;} +input[type=checkbox],input[type=radio]{cursor:pointer;} +input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +select{padding:initial;} +input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;} +input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;} +select,input[type=file]{height:27px;*height:auto;line-height:27px;*margin-top:4px;} +select[multiple]{height:inherit;background-color:#ffffff;} +textarea{height:auto;} +.uneditable-input{background-color:#ffffff;display:block;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +:-moz-placeholder{color:#bfbfbf;} +::-webkit-input-placeholder{color:#bfbfbf;} +input,textarea{-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);} +input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);} +input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;} +form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;} +form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;} +form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;} +form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;} +form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;} +form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;} +form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;} +form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;} +.input-mini,input.mini,textarea.mini,select.mini{width:60px;} +.input-small,input.small,textarea.small,select.small{width:90px;} +.input-medium,input.medium,textarea.medium,select.medium{width:150px;} +.input-large,input.large,textarea.large,select.large{width:210px;} +.input-xlarge,input.xlarge,textarea.xlarge,select.xlarge{width:270px;} +.input-xxlarge,input.xxlarge,textarea.xxlarge,select.xxlarge{width:530px;} +textarea.xxlarge{overflow-y:auto;} +input.span1,textarea.span1{display:inline-block;float:none;width:30px;margin-left:0;} +input.span2,textarea.span2{display:inline-block;float:none;width:90px;margin-left:0;} +input.span3,textarea.span3{display:inline-block;float:none;width:150px;margin-left:0;} +input.span4,textarea.span4{display:inline-block;float:none;width:210px;margin-left:0;} +input.span5,textarea.span5{display:inline-block;float:none;width:270px;margin-left:0;} +input.span6,textarea.span6{display:inline-block;float:none;width:330px;margin-left:0;} +input.span7,textarea.span7{display:inline-block;float:none;width:390px;margin-left:0;} +input.span8,textarea.span8{display:inline-block;float:none;width:450px;margin-left:0;} +input.span9,textarea.span9{display:inline-block;float:none;width:510px;margin-left:0;} +input.span10,textarea.span10{display:inline-block;float:none;width:570px;margin-left:0;} +input.span11,textarea.span11{display:inline-block;float:none;width:630px;margin-left:0;} +input.span12,textarea.span12{display:inline-block;float:none;width:690px;margin-left:0;} +input.span13,textarea.span13{display:inline-block;float:none;width:750px;margin-left:0;} +input.span14,textarea.span14{display:inline-block;float:none;width:810px;margin-left:0;} +input.span15,textarea.span15{display:inline-block;float:none;width:870px;margin-left:0;} +input.span16,textarea.span16{display:inline-block;float:none;width:930px;margin-left:0;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;} +.actions{background:#f5f5f5;margin-top:18px;margin-bottom:18px;padding:17px 20px 18px 150px;border-top:1px solid #ddd;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.actions .secondary-action{float:right;}.actions .secondary-action a{line-height:30px;}.actions .secondary-action a:hover{text-decoration:underline;} +.help-inline,.help-block{font-size:13px;line-height:18px;color:#bfbfbf;} +.help-inline{padding-left:5px;*position:relative;*top:-5px;} +.help-block{display:block;max-width:600px;} +.inline-inputs{color:#808080;}.inline-inputs span{padding:0 2px 0 1px;} +.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} +.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;} +.input-prepend .add-on{*margin-top:1px;} +.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;} +.inputs-list{margin:0 0 5px;width:100%;}.inputs-list li{display:block;padding:0;width:100%;} +.inputs-list label{display:block;float:none;width:auto;padding:0;margin-left:20px;line-height:18px;text-align:left;white-space:normal;}.inputs-list label strong{color:#808080;} +.inputs-list label small{font-size:11px;font-weight:normal;} +.inputs-list .inputs-list{margin-left:25px;margin-bottom:10px;padding-top:0;} +.inputs-list:first-child{padding-top:6px;} +.inputs-list li+li{padding-top:2px;} +.inputs-list input[type=radio],.inputs-list input[type=checkbox]{margin-bottom:0;margin-left:-20px;float:left;} +.form-stacked{padding-left:20px;}.form-stacked fieldset{padding-top:9px;} +.form-stacked legend{padding-left:0;} +.form-stacked label{display:block;float:none;width:auto;font-weight:bold;text-align:left;line-height:20px;padding-top:0;} +.form-stacked .clearfix{margin-bottom:9px;}.form-stacked .clearfix div.input{margin-left:0;} +.form-stacked .inputs-list{margin-bottom:0;}.form-stacked .inputs-list li{padding-top:0;}.form-stacked .inputs-list li label{font-weight:normal;padding-top:0;} +.form-stacked div.clearfix.error{padding-top:10px;padding-bottom:10px;padding-left:10px;margin-top:0;margin-left:-10px;} +.form-stacked .actions{margin-left:-20px;padding-left:20px;} +table{width:100%;margin-bottom:18px;padding:0;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;} +table th{padding-top:9px;font-weight:bold;vertical-align:middle;} +table td{vertical-align:top;border-top:1px solid #ddd;} +table tbody th{border-top:1px solid #ddd;vertical-align:top;} +.condensed-table th,.condensed-table td{padding:5px 5px 4px;} +.bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;} +.bordered-table thead tr:first-child th:first-child,.bordered-table tbody tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;} +.bordered-table thead tr:first-child th:last-child,.bordered-table tbody tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;} +.bordered-table tbody tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;} +.bordered-table tbody tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} +table .span1{width:20px;} +table .span2{width:60px;} +table .span3{width:100px;} +table .span4{width:140px;} +table .span5{width:180px;} +table .span6{width:220px;} +table .span7{width:260px;} +table .span8{width:300px;} +table .span9{width:340px;} +table .span10{width:380px;} +table .span11{width:420px;} +table .span12{width:460px;} +table .span13{width:500px;} +table .span14{width:540px;} +table .span15{width:580px;} +table .span16{width:620px;} +.zebra-striped tbody tr:nth-child(odd) td,.zebra-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} +.zebra-striped tbody tr:hover td,.zebra-striped tbody tr:hover th{background-color:#f5f5f5;} +table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;} +table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);} +table .header:hover:after{visibility:visible;} +table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} +table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} +table .blue{color:#049cdb;border-bottom-color:#049cdb;} +table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;} +table .green{color:#46a546;border-bottom-color:#46a546;} +table .headerSortUp.green,table .headerSortDown.green{background-color:#cdeacd;} +table .red{color:#9d261d;border-bottom-color:#9d261d;} +table .headerSortUp.red,table .headerSortDown.red{background-color:#f4c8c5;} +table .yellow{color:#ffc40d;border-bottom-color:#ffc40d;} +table .headerSortUp.yellow,table .headerSortDown.yellow{background-color:#fff6d9;} +table .orange{color:#f89406;border-bottom-color:#f89406;} +table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;} +table .purple{color:#7a43b6;border-bottom-color:#7a43b6;} +table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;} +.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);} +.topbar h3 a:hover,.topbar .brand:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;} +.topbar h3{position:relative;} +.topbar h3 a,.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;} +.topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;} +.topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;} +.topbar form.pull-right{float:right;} +.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;} +.topbar input::-webkit-input-placeholder{color:#e6e6e6;} +.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;} +.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);} +.topbar-inner,.topbar .fill{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);} +.topbar div>ul,.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.topbar div>ul>li,.nav>li{display:block;float:left;} +.topbar div>ul a,.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.topbar div>ul a:hover,.nav a:hover{color:#ffffff;text-decoration:none;} +.topbar div>ul .active>a,.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);} +.topbar div>ul.secondary-nav,.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.topbar div>ul.secondary-nav .menu-dropdown,.nav.secondary-nav .menu-dropdown,.topbar div>ul.secondary-nav .dropdown-menu,.nav.secondary-nav .dropdown-menu{right:0;border:0;} +.topbar div>ul a.menu:hover,.nav a.menu:hover,.topbar div>ul li.open .menu,.nav li.open .menu,.topbar div>ul .dropdown-toggle:hover,.nav .dropdown-toggle:hover,.topbar div>ul .dropdown.open .dropdown-toggle,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);} +.topbar div>ul .menu-dropdown,.nav .menu-dropdown,.topbar div>ul .dropdown-menu,.nav .dropdown-menu{background-color:#333;}.topbar div>ul .menu-dropdown a.menu,.nav .menu-dropdown a.menu,.topbar div>ul .dropdown-menu a.menu,.nav .dropdown-menu a.menu,.topbar div>ul .menu-dropdown .dropdown-toggle,.nav .menu-dropdown .dropdown-toggle,.topbar div>ul .dropdown-menu .dropdown-toggle,.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.topbar div>ul .menu-dropdown a.menu.open,.nav .menu-dropdown a.menu.open,.topbar div>ul .dropdown-menu a.menu.open,.nav .dropdown-menu a.menu.open,.topbar div>ul .menu-dropdown .dropdown-toggle.open,.nav .menu-dropdown .dropdown-toggle.open,.topbar div>ul .dropdown-menu .dropdown-toggle.open,.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);} +.topbar div>ul .menu-dropdown li a,.nav .menu-dropdown li a,.topbar div>ul .dropdown-menu li a,.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.topbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.topbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;} +.topbar div>ul .menu-dropdown .active a,.nav .menu-dropdown .active a,.topbar div>ul .dropdown-menu .active a,.nav .dropdown-menu .active a{color:#ffffff;} +.topbar div>ul .menu-dropdown .divider,.nav .menu-dropdown .divider,.topbar div>ul .dropdown-menu .divider,.nav .dropdown-menu .divider{background-color:#222;border-color:#444;} +.topbar ul .menu-dropdown li a,.topbar ul .dropdown-menu li a{padding:4px 15px;} +li.menu,.dropdown{position:relative;} +a.menu:after,.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"↓";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;} +.menu-dropdown,.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.menu-dropdown li,.dropdown-menu li{float:none;display:block;background-color:none;} +.menu-dropdown .divider,.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;} +.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover,.topbar .dropdown-menu a.hover,.dropdown-menu a.hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);} +.open .menu,.dropdown.open .menu,.open .dropdown-toggle,.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);} +.open .menu-dropdown,.dropdown.open .menu-dropdown,.open .dropdown-menu,.dropdown.open .dropdown-menu{display:block;} +.tabs,.pills{margin:0 0 18px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;} +.tabs:after,.pills:after{clear:both;} +.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;} +.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:34px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;} +.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} +.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;} +.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;} +.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;} +.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;} +.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;} +.pills-vertical>li{float:none;} +.tab-content>.tab-pane,.pill-content>.pill-pane,.tab-content>div,.pill-content>div{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;} +.breadcrumb .divider{padding:0 5px;color:#bfbfbf;} +.breadcrumb .active a{color:#404040;} +.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;} +.hero-unit p{font-size:18px;font-weight:200;line-height:27px;} +footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;} +.page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;} +.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;} +.btn .close,.alert-message .close{font-family:Arial,sans-serif;line-height:18px;} +.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.success,.alert-message.success{background-color:#57a957;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.info,.alert-message.info{background-color:#339bb9;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-repeat:no-repeat;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;} +.btn:focus{outline:1px dotted #666;} +.btn.primary{color:#ffffff;background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);} +.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.btn.small{padding:7px 9px 7px;font-size:11px;} +:root .alert-message,:root .btn{border-radius:0 \0;} +button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;} +.close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=25);-khtml-opacity:0.25;-moz-opacity:0.25;opacity:0.25;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;} +.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{margin-top:1px;*margin-top:0;} +.alert-message a{font-weight:bold;color:#404040;} +.alert-message.danger p a,.alert-message.error p a,.alert-message.success p a,.alert-message.info p a{color:#ffffff;} +.alert-message h5{line-height:18px;} +.alert-message p{margin-bottom:0;} +.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;} +.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);} +.alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;} +.alert-message.block-message ul{margin-bottom:0;} +.alert-message.block-message li{color:#404040;} +.alert-message.block-message .alert-actions{margin-top:5px;} +.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;} +.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;} +.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;} +.alert-message.block-message.danger p a,.alert-message.block-message.error p a,.alert-message.block-message.success p a,.alert-message.block-message.info p a{color:#404040;} +.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination li{display:inline;} +.pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;} +.pagination a:hover,.pagination .active a{background-color:#c7eefe;} +.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;} +.pagination .next a{border:0;} +.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} +.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;} +.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:50%;} +.modal-header{border-bottom:1px solid #eee;padding:5px 15px;} +.modal-body{padding:15px;} +.modal-body form{margin-bottom:0;} +.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;} +.modal-footer:after{clear:both;} +.modal-footer .btn{float:right;margin-left:5px;} +.modal .popover,.modal .twipsy{z-index:12000;} +.twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} +.twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.twipsy-arrow{position:absolute;width:0;height:0;} +.popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.popover .arrow{position:absolute;width:0;height:0;} +.popover .inner{background:#000000;background:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);} +.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;} +.popover .content{background-color:#ffffff;padding:14px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;} +.fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;} +.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;white-space:nowrap;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;} +.label.warning{background-color:#f89406;} +.label.success{background-color:#46a546;} +.label.notice{background-color:#62cffc;} +.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;} +.media-grid:after{clear:both;} +.media-grid li{display:inline;} +.media-grid a{float:left;padding:4px;margin:0 0 18px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}.media-grid a img{display:block;} +.media-grid a:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} \ No newline at end of file diff --git a/assets/themes/twitter/css/style.css b/assets/themes/twitter/css/style.css new file mode 100644 index 0000000..ac3cb73 --- /dev/null +++ b/assets/themes/twitter/css/style.css @@ -0,0 +1,71 @@ +/* Override some defaults */ +html, body { + background-color: #eee; +} +body { + padding-top: 40px; /* 40px to make the container go all the way to the bottom of the topbar */ +} +.container > footer p { + text-align: center; /* center align it with the container */ +} +.container { + width: 820px; /* downsize our container to make the content feel a bit tighter and more cohesive. NOTE: this removes two full columns from the grid, meaning you only go to 14 columns and not 16. */ +} + +/* The white background content wrapper */ +.content { + background-color: #fff; + padding: 20px; + margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */ + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15); + box-shadow: 0 1px 2px rgba(0,0,0,.15); +} + +/* Page header tweaks */ +.page-header { + background-color: #f5f5f5; + padding: 20px 20px 10px; + margin: -20px -20px 20px; +} + +.topbar .btn { + border: 0; +} + + +/* tag_box ======================================================== */ + +.tag_box { + list-style:none; + margin:0; + padding:5px 0 ; + overflow:hidden; +} +.tag_box li { + line-height:28px; +} +.tag_box.inline li { + float:left; +} +.tag_box a { + padding: 3px 6px; + margin: 2px; + background: #eee; + color:#005F6B; + border-radius: 3px; + text-decoration:none; +} +.tag_box a span{ + vertical-align:super; + font-size:0.8em; +} +.tag_box a.active { + background:#57A957; + border:1px solid #4C964D; + color:#FFF; +} + \ No newline at end of file From 72f569454266345a1ede3829bfe07b6b7d14fcff Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:54:32 -0800 Subject: [PATCH 011/124] use twitter theme as default --- _layouts/default.html | 4 ++-- _layouts/page.html | 2 +- _layouts/post.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index 2391b67..bddadd5 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,4 +1,4 @@ --- --- -{% assign theme_asset_path = "/assets/themes/tom" %} -{% include themes/tom/default.html %} +{% assign theme_asset_path = "/assets/themes/twitter" %} +{% include themes/twitter/default.html %} diff --git a/_layouts/page.html b/_layouts/page.html index 7985e03..9a6351c 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -1,4 +1,4 @@ --- layout: default --- -{% include themes/tom/page.html %} +{% include themes/twitter/page.html %} diff --git a/_layouts/post.html b/_layouts/post.html index 66490a9..4371409 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -1,4 +1,4 @@ --- layout: default --- -{% include themes/tom/post.html %} +{% include themes/twitter/post.html %} From 4021a8c402122240cead072c14fd999b8058d69b Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 08:20:31 +0900 Subject: [PATCH 012/124] title should not have changed --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 442bf60..d3caf3f 100644 --- a/_config.yml +++ b/_config.yml @@ -9,7 +9,7 @@ var: tags_path : /tags.html production_url : http://username.github.com # or your custom domain name -title : the_minimum +title : Jekyll Boostrap author : name : Name Lastname From 775898886708e13903be06e68486b3e577c2bff6 Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 09:39:09 +0900 Subject: [PATCH 013/124] remove linear class --- categories.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/categories.html b/categories.html index 529a345..b13d596 100644 --- a/categories.html +++ b/categories.html @@ -5,7 +5,7 @@ group: example-page --- -
            +
              {% assign categories_list = site.categories %} {% include helpers/categories_list.html %}
            From 320470d8442fd977734ae5cf359a3ba79ed7f90e Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 09:39:37 +0900 Subject: [PATCH 014/124] remove linear class --- tags.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tags.html b/tags.html index fa36a9c..947f0b7 100644 --- a/tags.html +++ b/tags.html @@ -4,8 +4,8 @@ header: Posts By Tag group: example-page --- - -
              + +
                {% assign tags_list = site.tags %} {% include helpers/tags_list.html %}
              From 0ec3a40a53d2ddc01f7386009f952fe85d4bbe31 Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 09:40:16 +0900 Subject: [PATCH 015/124] missing ul tags --- pages.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pages.html b/pages.html index 91c6c96..d7fd5ac 100644 --- a/pages.html +++ b/pages.html @@ -6,16 +6,21 @@ ---

              All Pages

              +
                {% assign pages_list = site.pages %} {% include helpers/pages_list.html %} - +

              Pages in group: project

              +
                {% assign pages_list = site.pages %} {% assign group = 'project' %} {% include helpers/pages_list.html %} +

              Pages in group: example-page

              +
                {% assign pages_list = site.pages %} {% assign group = 'example-page' %} {% include helpers/pages_list.html %} +
              From 4da313acf4a3b6b60b399d3d42175bd79bb3eda1 Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 09:41:27 +0900 Subject: [PATCH 016/124] Fixed minor issues --- _includes/themes/the-minimum/default.html | 2 +- assets/themes/the-minimum/css/_layout.less | 31 +- assets/themes/the-minimum/css/_less-base.less | 24 ++ assets/themes/the-minimum/css/helper.css | 10 +- assets/themes/the-minimum/css/module.css | 33 -- assets/themes/the-minimum/css/style.css | 324 +++++++++--------- assets/themes/the-minimum/css/style.less | 50 ++- 7 files changed, 242 insertions(+), 232 deletions(-) diff --git a/_includes/themes/the-minimum/default.html b/_includes/themes/the-minimum/default.html index 548b2a9..140d21e 100644 --- a/_includes/themes/the-minimum/default.html +++ b/_includes/themes/the-minimum/default.html @@ -47,7 +47,7 @@

              about

                -
              • {{ site.author.name }}
              • +
              • {{ site.author.name }} -
              • github.com/{{ site.author.github }}
              • Subscribe to RSS Feed
              • diff --git a/assets/themes/the-minimum/css/_layout.less b/assets/themes/the-minimum/css/_layout.less index f1733c1..9e2c2fc 100644 --- a/assets/themes/the-minimum/css/_layout.less +++ b/assets/themes/the-minimum/css/_layout.less @@ -274,17 +274,7 @@ .unit-article { - .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @11cols; } - .unit-head-inner, .entry-content, .misc-content { - h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { margin-right: 270px; } - } - - .unit-head-inner { - .meta { - margin-bottom: 0; - width: @4cols; - } - } + .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @8cols; } .unit-foot { .pagination { @@ -335,22 +325,15 @@ .unit-article { - .unit-head-inner, .entry-content, .misc-content, .unit-foot-inner { width: @16cols; } - .unit-head-inner, .entry-content, .misc-content { - h1, h2, h3, h4, h5, p, ul, ol, dl, blockquote { - margin-left: 360px; - margin-right: 360px; - } - img.huge { margin-left: -360px; } - } - - .unit-head-inner { - .meta { width: @4cols; } - } + .unit-head-inner, .entry-content, .misc-content { width: @8cols; } + .unit-foot-inner { width: @16cols; } .unit-foot { .pagination { width: @10cols; } - .gotop { width: @6cols; } + .gotop { + padding-right: 360px; + width: @2cols; + } } } // .unit-article diff --git a/assets/themes/the-minimum/css/_less-base.less b/assets/themes/the-minimum/css/_less-base.less index 07dcecd..e7fdcf6 100644 --- a/assets/themes/the-minimum/css/_less-base.less +++ b/assets/themes/the-minimum/css/_less-base.less @@ -184,6 +184,30 @@ No styleguide reference. /* LESS helper +*/ + +/* +List modules +.list-linear - list line up horizontally No styleguide reference. */ + +.list-linear { + letter-spacing: -0.31em; + *letter-spacing: normal; + word-spacing: -0.43em; + list-style: none; + padding-left: 0; + li { + display: inline-block; + *display: inline; + zoom: 1; + line-height: normal; + letter-spacing: normal; + margin-right: 16px; + word-spacing: normal; + vertical-align: middle; + &:last-child { margin-right: 0; } + } +} diff --git a/assets/themes/the-minimum/css/helper.css b/assets/themes/the-minimum/css/helper.css index c4a4555..9345473 100644 --- a/assets/themes/the-minimum/css/helper.css +++ b/assets/themes/the-minimum/css/helper.css @@ -29,15 +29,19 @@ hr { -moz-box-sizing: content-box; } .hasGrid:before, .hasGrid:after, .unit-inner:before, -.unit-inner:after { content: ""; display: table; } +.unit-inner:after, +.tag_box:before, +.tag_box:after { content: ""; display: table; } .clearfix:after, .cf:after, .hasGrid:after, -.unit-inner:after { clear: both; } +.unit-inner:after, +.tag_box:after { clear: both; } .clearfix, .cf, .hasGrid, -.unit-inner { *zoom: 1; } +.unit-inner, +.tag_box { *zoom: 1; } .left { *display: inline; float: left; diff --git a/assets/themes/the-minimum/css/module.css b/assets/themes/the-minimum/css/module.css index 507a140..47503ad 100644 --- a/assets/themes/the-minimum/css/module.css +++ b/assets/themes/the-minimum/css/module.css @@ -36,36 +36,3 @@ No styleguide reference. .media .img img { display:block; } .media .media-right { float:right; margin-left: 14px; } .media .bd, .media .ft, .media .hd { overflow:hidden; *overflow:visible; zoom:1; } - -/* -List modules - -.list-linear - list line up horizontally -HTML: -
                  -
                • -
                • -
                • -
                - -No styleguide reference. -*/ - -.list-linear { - letter-spacing: -0.31em; - *letter-spacing: normal; - word-spacing: -0.43em; - list-style: none; - padding-left: 0; -} -.list-linear li { - display: inline-block; - *display: inline; - zoom: 1; - line-height: normal; - letter-spacing: normal; - margin-right: 16px; - word-spacing: normal; - vertical-align: middle; -} -.list-linear li:last-child { margin-right: 0; } diff --git a/assets/themes/the-minimum/css/style.css b/assets/themes/the-minimum/css/style.css index aed76c6..7bde68d 100644 --- a/assets/themes/the-minimum/css/style.css +++ b/assets/themes/the-minimum/css/style.css @@ -144,9 +144,33 @@ No styleguide reference. } /* LESS helper +*/ +/* +List modules +.list-linear - list line up horizontally No styleguide reference. */ +.list-linear { + letter-spacing: -0.31em; + *letter-spacing: normal; + word-spacing: -0.43em; + list-style: none; + padding-left: 0; +} +.list-linear li { + display: inline-block; + *display: inline; + zoom: 1; + line-height: normal; + letter-spacing: normal; + margin-right: 16px; + word-spacing: normal; + vertical-align: middle; +} +.list-linear li:last-child { + margin-right: 0; +} /* LESS VARIABLES --------------------------------------------------------------------------------- */ /* GLOBAL @@ -201,7 +225,7 @@ pre { } /* MAIN --------------------------------------------------------------------------------- */ -.unit-article .unit-article-inner header { +.unit-article header { background: url('/assets/themes/the-minimum/skin/100-90-5-monochrome.png'); background-repeat: repeat; background-position: 0 0; @@ -210,112 +234,112 @@ pre { padding-top: 1.625em; padding-bottom: 1.625em; } -.unit-article .unit-article-inner header h1 { +.unit-article header h1 { color: #2d2d2d; margin-top: 0; margin-bottom: 0; } -.unit-article .unit-article-inner .entry-content h2, -.unit-article .unit-article-inner .entry-content h3, -.unit-article .unit-article-inner .entry-content h4, -.unit-article .unit-article-inner .entry-content h5, -.unit-article .unit-article-inner .entry-content h6 { +.unit-article .entry-content h2, +.unit-article .entry-content h3, +.unit-article .entry-content h4, +.unit-article .entry-content h5, +.unit-article .entry-content h6 { color: #2d2d2d; } -.unit-article .unit-article-inner .entry-content h2 a:link, -.unit-article .unit-article-inner .entry-content h3 a:link, -.unit-article .unit-article-inner .entry-content h4 a:link, -.unit-article .unit-article-inner .entry-content h5 a:link, -.unit-article .unit-article-inner .entry-content h6 a:link { +.unit-article .entry-content h2 a:link, +.unit-article .entry-content h3 a:link, +.unit-article .entry-content h4 a:link, +.unit-article .entry-content h5 a:link, +.unit-article .entry-content h6 a:link { color: #2d2d2d; border: 0; } -.unit-article .unit-article-inner .entry-content h2 a:visited, -.unit-article .unit-article-inner .entry-content h3 a:visited, -.unit-article .unit-article-inner .entry-content h4 a:visited, -.unit-article .unit-article-inner .entry-content h5 a:visited, -.unit-article .unit-article-inner .entry-content h6 a:visited { +.unit-article .entry-content h2 a:visited, +.unit-article .entry-content h3 a:visited, +.unit-article .entry-content h4 a:visited, +.unit-article .entry-content h5 a:visited, +.unit-article .entry-content h6 a:visited { color: #141414; border: 0; } -.unit-article .unit-article-inner .entry-content h2 a:hover, -.unit-article .unit-article-inner .entry-content h3 a:hover, -.unit-article .unit-article-inner .entry-content h4 a:hover, -.unit-article .unit-article-inner .entry-content h5 a:hover, -.unit-article .unit-article-inner .entry-content h6 a:hover { +.unit-article .entry-content h2 a:hover, +.unit-article .entry-content h3 a:hover, +.unit-article .entry-content h4 a:hover, +.unit-article .entry-content h5 a:hover, +.unit-article .entry-content h6 a:hover { color: #474747; border: 0; } -.unit-article .unit-article-inner .entry-content:first-child h2, -.unit-article .unit-article-inner .entry-content:first-child h3, -.unit-article .unit-article-inner .entry-content:first-child h4, -.unit-article .unit-article-inner .entry-content:first-child h5, -.unit-article .unit-article-inner .entry-content:first-child h6 { +.unit-article .entry-content:first-child h2, +.unit-article .entry-content:first-child h3, +.unit-article .entry-content:first-child h4, +.unit-article .entry-content:first-child h5, +.unit-article .entry-content:first-child h6 { margin-top: 0; } -.unit-article .unit-article-inner a:link { +.unit-article a:link { border-bottom: 1px dotted #99cc99; } -.unit-article .unit-article-inner a:visited { +.unit-article a:visited { border-bottom: 1px dotted #77bb77; } -.unit-article .unit-article-inner a:hover { +.unit-article a:hover { border-bottom: 1px dotted #bbddbb; } -.unit-article .unit-article-inner blockquote { +.unit-article blockquote { border-left: 1em solid rgba(21, 25, 25, 0.8); padding-left: 1em; } -.unit-article .unit-article-inner blockquote p { +.unit-article blockquote p { margin-left: 0; margin-right: 0; } -.unit-article .unit-article-inner ul, .unit-article .unit-article-inner ol, .unit-article .unit-article-inner dl { +.unit-article ul, .unit-article ol, .unit-article dl { padding-left: 0; } -.unit-article .unit-article-inner ul { +.unit-article ul { list-style: square; } -.unit-article .unit-article-inner ol { +.unit-article ol { list-style: decimal; } -.unit-article .unit-article-inner li h1, -.unit-article .unit-article-inner dt h1, -.unit-article .unit-article-inner dd h1, -.unit-article .unit-article-inner li h2, -.unit-article .unit-article-inner dt h2, -.unit-article .unit-article-inner dd h2, -.unit-article .unit-article-inner li h3, -.unit-article .unit-article-inner dt h3, -.unit-article .unit-article-inner dd h3, -.unit-article .unit-article-inner li h4, -.unit-article .unit-article-inner dt h4, -.unit-article .unit-article-inner dd h4, -.unit-article .unit-article-inner li h5, -.unit-article .unit-article-inner dt h5, -.unit-article .unit-article-inner dd h5, -.unit-article .unit-article-inner li p, -.unit-article .unit-article-inner dt p, -.unit-article .unit-article-inner dd p, -.unit-article .unit-article-inner li ul, -.unit-article .unit-article-inner dt ul, -.unit-article .unit-article-inner dd ul, -.unit-article .unit-article-inner li ol, -.unit-article .unit-article-inner dt ol, -.unit-article .unit-article-inner dd ol, -.unit-article .unit-article-inner li dl, -.unit-article .unit-article-inner dt dl, -.unit-article .unit-article-inner dd dl, -.unit-article .unit-article-inner li blockquote, -.unit-article .unit-article-inner dt blockquote, -.unit-article .unit-article-inner dd blockquote, -.unit-article .unit-article-inner li .hasGrid, -.unit-article .unit-article-inner dt .hasGrid, -.unit-article .unit-article-inner dd .hasGrid { +.unit-article li h1, +.unit-article dt h1, +.unit-article dd h1, +.unit-article li h2, +.unit-article dt h2, +.unit-article dd h2, +.unit-article li h3, +.unit-article dt h3, +.unit-article dd h3, +.unit-article li h4, +.unit-article dt h4, +.unit-article dd h4, +.unit-article li h5, +.unit-article dt h5, +.unit-article dd h5, +.unit-article li p, +.unit-article dt p, +.unit-article dd p, +.unit-article li ul, +.unit-article dt ul, +.unit-article dd ul, +.unit-article li ol, +.unit-article dt ol, +.unit-article dd ol, +.unit-article li dl, +.unit-article dt dl, +.unit-article dd dl, +.unit-article li blockquote, +.unit-article dt blockquote, +.unit-article dd blockquote, +.unit-article li .hasGrid, +.unit-article dt .hasGrid, +.unit-article dd .hasGrid { margin-left: 0; margin-right: 0; } -.unit-article .unit-article-inner p code, .unit-article .unit-article-inner li code { +.unit-article p code, .unit-article li code { margin: 0 2px; padding: 2px 5px; white-space: nowrap; @@ -328,59 +352,101 @@ pre { -webkit-background-clip: padding-box; background-clip: padding-box; } -.unit-article .unit-article-inner img { +.unit-article img { display: block; margin-left: auto; margin-left: auto; } -.unit-article .unit-article-inner img.left { +.unit-article img.left { margin-right: 16px; } -.unit-article .unit-article-inner img.right { +.unit-article img.right { margin-left: 16px; } -.unit-article .unit-article-inner img.huge { - position: relative; -} -.unit-article .unit-article-inner .date-publish { +.unit-article .date-publish { margin-bottom: 0; } -.unit-article .unit-article-inner .list-linear .list-head { +.unit-article .list-linear .list-head { margin-right: 4px; } -.unit-article .unit-article-inner .list-category { +.unit-article .list-category { margin-bottom: 0; text-transform: capitalize; } -.unit-article .unit-article-inner .list-tag { +.unit-article .list-tag { text-transform: capitalize; } -.unit-article .unit-article-inner .unit-foot { +.unit-article .unit-foot { background: #4d4d4d; color: #fafafa; padding-top: 1.625em; padding-bottom: 1.625em; position: relative; } -.unit-article .unit-article-inner .unit-foot a:link { +.unit-article .unit-foot a:link { color: #fafafa; } -.unit-article .unit-article-inner .unit-foot a:visited { +.unit-article .unit-foot a:visited { color: #fafafa; } -.unit-article .unit-article-inner .unit-foot a:hover { +.unit-article .unit-foot a:hover { color: #ffffff; } -.unit-article .unit-article-inner .unit-foot nav ul { +.unit-article .unit-foot nav ul { list-style: none; } -.unit-article .unit-article-inner .unit-foot nav ul li { +.unit-article .unit-foot nav ul li { display: inline; } -.unit-article .unit-article-inner .unit-foot .gotop { +.unit-article .unit-foot .gotop { margin-bottom: 0; } /* post & page */ +.layout-page .tag_box { + background-color: #999999; + padding: 0.8125em; + list-style: none; +} +.layout-page .tag_box li { + display: inline; + line-height: normal; + vertical-align: middle; +} +.layout-page .tag_box a { + background-color: #99cc99; + float: left; + border: 1px solid #448844; + padding: 3px 6px 3px 6px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + margin: 5px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.4); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.layout-page .tag_box a:active { + -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + background: #336633; + border: solid #336633; +} +.layout-page .tag_box a:hover { + background-color: #77bb77; + border: 1px solid #336633; +} /* FOOTER ----------------------------------------------- */ .the-footer { @@ -651,43 +717,7 @@ pre { .unit-article .entry-content, .unit-article .misc-content, .unit-article .unit-foot-inner { - width: 60em; - } - .unit-article .unit-head-inner h1, - .unit-article .entry-content h1, - .unit-article .misc-content h1, - .unit-article .unit-head-inner h2, - .unit-article .entry-content h2, - .unit-article .misc-content h2, - .unit-article .unit-head-inner h3, - .unit-article .entry-content h3, - .unit-article .misc-content h3, - .unit-article .unit-head-inner h4, - .unit-article .entry-content h4, - .unit-article .misc-content h4, - .unit-article .unit-head-inner h5, - .unit-article .entry-content h5, - .unit-article .misc-content h5, - .unit-article .unit-head-inner p, - .unit-article .entry-content p, - .unit-article .misc-content p, - .unit-article .unit-head-inner ul, - .unit-article .entry-content ul, - .unit-article .misc-content ul, - .unit-article .unit-head-inner ol, - .unit-article .entry-content ol, - .unit-article .misc-content ol, - .unit-article .unit-head-inner dl, - .unit-article .entry-content dl, - .unit-article .misc-content dl, - .unit-article .unit-head-inner blockquote, - .unit-article .entry-content blockquote, - .unit-article .misc-content blockquote { - margin-right: 270px; - } - .unit-article .unit-head-inner .meta { - margin-bottom: 0; - width: 20.625em; + width: 43.125em; } .unit-article .unit-foot .pagination { float: left; @@ -725,56 +755,18 @@ pre { .the-header .nav-global { width: 43.125em; } - .unit-article .unit-head-inner, - .unit-article .entry-content, - .unit-article .misc-content, + .unit-article .unit-head-inner, .unit-article .entry-content, .unit-article .misc-content { + width: 43.125em; + } .unit-article .unit-foot-inner { width: 88.125em; } - .unit-article .unit-head-inner h1, - .unit-article .entry-content h1, - .unit-article .misc-content h1, - .unit-article .unit-head-inner h2, - .unit-article .entry-content h2, - .unit-article .misc-content h2, - .unit-article .unit-head-inner h3, - .unit-article .entry-content h3, - .unit-article .misc-content h3, - .unit-article .unit-head-inner h4, - .unit-article .entry-content h4, - .unit-article .misc-content h4, - .unit-article .unit-head-inner h5, - .unit-article .entry-content h5, - .unit-article .misc-content h5, - .unit-article .unit-head-inner p, - .unit-article .entry-content p, - .unit-article .misc-content p, - .unit-article .unit-head-inner ul, - .unit-article .entry-content ul, - .unit-article .misc-content ul, - .unit-article .unit-head-inner ol, - .unit-article .entry-content ol, - .unit-article .misc-content ol, - .unit-article .unit-head-inner dl, - .unit-article .entry-content dl, - .unit-article .misc-content dl, - .unit-article .unit-head-inner blockquote, - .unit-article .entry-content blockquote, - .unit-article .misc-content blockquote { - margin-left: 360px; - margin-right: 360px; - } - .unit-article .unit-head-inner img.huge, .unit-article .entry-content img.huge, .unit-article .misc-content img.huge { - margin-left: -360px; - } - .unit-article .unit-head-inner .meta { - width: 20.625em; - } .unit-article .unit-foot .pagination { width: 54.375em; } .unit-article .unit-foot .gotop { - width: 31.875em; + padding-right: 360px; + width: 9.375em; } .layout-page .unit-body .unit-body-inner { width: 43.125em; diff --git a/assets/themes/the-minimum/css/style.less b/assets/themes/the-minimum/css/style.less index 9b9a3d7..0c52066 100644 --- a/assets/themes/the-minimum/css/style.less +++ b/assets/themes/the-minimum/css/style.less @@ -69,7 +69,6 @@ pre { /* MAIN --------------------------------------------------------------------------------- */ .unit-article { - .unit-article-inner { header { background: url('@{noise-100-90-5}'); @@ -151,7 +150,6 @@ pre { } img.left { margin-right: 16px; } img.right { margin-left: 16px; } - img.huge { position: relative; } .date-publish { margin-bottom: 0; } .list-linear .list-head { margin-right: 4px; } @@ -182,12 +180,54 @@ pre { .gotop { margin-bottom: 0; } } // .article-inner .unit-foot - } // .article-inner } // .the-article /* post & page */ -.page-post { - +.layout-page { + .tag_box { + background-color: @subtle; + padding: (@line-height / @em) / 2; + list-style: none; + li { + display: inline; + line-height: normal; + vertical-align: middle; + } + a { + background-color: @green; + float: left; + border: 1px solid darken(@green, 30%); + padding: 3px 6px 3px 6px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + margin: 5px; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; + text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.4); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + &:link {} + &:active { + -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6); + background: darken(@green, 40%); + border: solid darken(@green, 40%); + } + &:hover { + background-color: darken(@green, 10%); + border: 1px solid darken(@green, 40%); + } + } + } } // .page-post /* FOOTER From 4bcfd7aec6b57d344ed657cfde7b67418139119b Mon Sep 17 00:00:00 2001 From: Yuya Saito Date: Fri, 13 Jan 2012 10:44:12 +0900 Subject: [PATCH 017/124] add more detail --- assets/themes/the-minimum/css/helper.css | 3 -- assets/themes/the-minimum/css/style.css | 64 ++++++++++++++++++++++-- assets/themes/the-minimum/css/style.less | 61 ++++++++++++++++++++-- 3 files changed, 117 insertions(+), 11 deletions(-) diff --git a/assets/themes/the-minimum/css/helper.css b/assets/themes/the-minimum/css/helper.css index 9345473..1c3b77b 100644 --- a/assets/themes/the-minimum/css/helper.css +++ b/assets/themes/the-minimum/css/helper.css @@ -1,6 +1,3 @@ ---- ---- - /* helper.css contains non-semantic helper classes This must be the last file to import diff --git a/assets/themes/the-minimum/css/style.css b/assets/themes/the-minimum/css/style.css index 7bde68d..2aa4a02 100644 --- a/assets/themes/the-minimum/css/style.css +++ b/assets/themes/the-minimum/css/style.css @@ -198,13 +198,16 @@ pre { } pre { color: #f2f2f2; - background-color: #2d2d2d; - border: 1px solid #2d2d2d; + background-color: #393939; + border: 1px solid #393939; font-family: "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; margin-left: 0; margin-right: 0; padding: 1.625em; overflow: auto; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); } /* meta */ /* HEADER @@ -369,6 +372,28 @@ pre { .unit-article .list-linear .list-head { margin-right: 4px; } +.unit-article .list-category a, .unit-article .list-tag a { + border: 0 none; +} +.unit-article .list-category a:hover span, .unit-article .list-tag a:hover span { + background-color: #f99157; +} +.unit-article .list-category span, .unit-article .list-tag span { + background-color: #e25608; + padding: 1px 5px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + color: white; + text-transform: uppercase; + margin: 0 6px 0 0; + display: inline-block; + position: relative; + vertical-align: middle; + top: -2px; + font-weight: bold; + font-size: 10px; +} .unit-article .list-category { margin-bottom: 0; text-transform: capitalize; @@ -377,7 +402,7 @@ pre { text-transform: capitalize; } .unit-article .unit-foot { - background: #4d4d4d; + background: url('/assets/themes/the-minimum/skin/100-90-5-monochrome.png') repeat 0 0 #4d4d4d; color: #fafafa; padding-top: 1.625em; padding-bottom: 1.625em; @@ -403,9 +428,18 @@ pre { } /* post & page */ .layout-page .tag_box { - background-color: #999999; + background: url('/assets/themes/the-minimum/skin/100-90-5-monochrome.png') repeat 0 0 #999999; padding: 0.8125em; list-style: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.4); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.4); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.4); } .layout-page .tag_box li { display: inline; @@ -447,6 +481,28 @@ pre { background-color: #77bb77; border: 1px solid #336633; } +.layout-page .tag_box a:hover span { + background-color: #e1e1e1; + border: 1px solid #77bb77; +} +.layout-page .tag_box span { + background-color: #fafafa; + border: 1px solid #99cc99; + padding: 1px 5px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + color: #1a1a1a; + display: inline-block; + position: relative; + vertical-align: middle; + top: -2px; + font-weight: bold; + font-size: 10px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); +} /* FOOTER ----------------------------------------------- */ .the-footer { diff --git a/assets/themes/the-minimum/css/style.less b/assets/themes/the-minimum/css/style.less index 0c52066..e378ae5 100644 --- a/assets/themes/the-minimum/css/style.less +++ b/assets/themes/the-minimum/css/style.less @@ -36,13 +36,16 @@ a { pre { margin-bottom: @line-height / @em; } pre { color: #f2f2f2; - background-color: @base03; - border: 1px solid fadein(@base03, 30%); + background-color: @base02; + border: 1px solid fadein(@base02, 30%); font-family: "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; margin-left: 0; margin-right: 0; padding: @line-height / @em; overflow: auto; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.6); } /* meta */ @@ -153,6 +156,26 @@ pre { .date-publish { margin-bottom: 0; } .list-linear .list-head { margin-right: 4px; } + .list-category a, .list-tag a { + border: 0 none; + &:hover span { background-color: @orange; } + } + .list-category span, .list-tag span { + background-color: darken(@orange, 20%); + padding: 1px 5px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + color: white; + text-transform: uppercase; + margin: 0 6px 0 0; + display: inline-block; + position: relative; + vertical-align: middle; + top: -2px; + font-weight: bold; + font-size: 10px; + } .list-category { margin-bottom: 0; text-transform: capitalize; @@ -163,7 +186,7 @@ pre { } .unit-foot { - background: #4d4d4d; + background: url('@{noise-100-90-5}') repeat 0 0 #4d4d4d; color: #fafafa; a { &:link { color: #fafafa; } @@ -185,9 +208,16 @@ pre { /* post & page */ .layout-page { .tag_box { - background-color: @subtle; + background: url('@{noise-100-90-5}') repeat 0 0 @subtle; padding: (@line-height / @em) / 2; list-style: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.4); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.4); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.4); li { display: inline; line-height: normal; @@ -225,8 +255,31 @@ pre { &:hover { background-color: darken(@green, 10%); border: 1px solid darken(@green, 40%); + span { + background-color: darken(#fafafa, 10%); + border: 1px solid darken(@green, 10%); + } } } + span { + background-color: #fafafa; + border: 1px solid @green; + padding: 1px 5px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + color: #1a1a1a; + display: inline-block; + position: relative; + vertical-align: middle; + top: -2px; + font-weight: bold; + font-size: 10px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2); + } + } } // .page-post From 5abba311dcbb69e67b025da26fed32a19e7c0852 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:47:58 -0800 Subject: [PATCH 018/124] sample content updates --- .../core-samples/helpers/2011-9-27-posts-collate.md | 2 +- .../usage/2011-10-28-deployment-and-hosting.md | 2 +- .../usage/2011-10-31-jekyll-quick-start.md | 13 ++++++------- index.md | 2 +- sitemap.txt | 1 + 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/_posts/core-samples/helpers/2011-9-27-posts-collate.md b/_posts/core-samples/helpers/2011-9-27-posts-collate.md index 299f6cb..1740bd7 100644 --- a/_posts/core-samples/helpers/2011-9-27-posts-collate.md +++ b/_posts/core-samples/helpers/2011-9-27-posts-collate.md @@ -4,7 +4,7 @@ categories : helpers --- The posts collate helper organizes and lists posts in month/year clusters. -The posts collate helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. +The posts collate helper follows the [Jekyll-bootstrap include helper](/api/bootstrap-api.html) strategy. ## Usage diff --git a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md index 64bb0b4..638ff25 100644 --- a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md +++ b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md @@ -1,5 +1,5 @@ --- -layout: page +layout: post categories : usage --- diff --git a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md index e09e07c..516e6ed 100644 --- a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md +++ b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md @@ -4,10 +4,10 @@ categories : usage --- -## 1. Install Jekyll-Bootstrap-Core +## 1. Install Jekyll-Bootstrap -[Install Jekyll-Bootsrap-Core](/index.html#start-now) if you haven't already. -Jekyll-bootstrap-core is a clean base framework for your blog. +[Install Jekyll-Bootsrap](/index.html#start-now) if you haven't already. +Jekyll-bootstrap is a clean base framework for your blog. It includes two themes, some useful pages, and bootstrap include-helpers. ## 2. Run Jekyll Locally @@ -19,7 +19,7 @@ In order to preview your blog locally you'll need to install the jekyll gem. Not If you run into a problem please consult the original [Jekyll installation documentation](https://github.com/mojombo/jekyll/wiki/Install). You can also [contact me](http://github.com/plusjade) through github. -Once the gem is installed you can navigate to your Jekyll-bootstrap-core directory +Once the gem is installed you can navigate to your Jekyll-bootstrap directory and run jekyll: $ cd jekyll-bootstrap @@ -30,7 +30,7 @@ Your blog is now available at: [http://localhost:4000/](http://localhost:4000/). ## 2. Choose a Theme -Jekyll-bootstrap-core has a basic theming system that I'll be steadily improving. +Jekyll-bootstrap has a basic theming system that I'll be steadily improving. You can read about how to choose and customize a theme in the [Theming](/usages/theming.html) section. ## 3. Create Some Content @@ -50,7 +50,6 @@ You can study the source and customize it for your own needs.
                  {% assign pages_list = site.pages %} -{% assign group = "example-page" %} {% include helpers/pages_list.html %}
                @@ -63,7 +62,7 @@ A GitHub post-commit hook will automatically deploy your changes to your hosted ## 5. Customize -Jekyll-bootstrap-core can be used as-is as a basic blogging platform with little need +Jekyll-bootstrap can be used as-is as a basic blogging platform with little need to understand what's going on under the hood. However I'm betting you want to get your hands dirty. diff --git a/index.md b/index.md index 14f94fe..03f605c 100644 --- a/index.md +++ b/index.md @@ -1,6 +1,6 @@ --- layout: page -title: Hello from Jekyll-Bootstrap-Core +title: Hello from Jekyll-Bootstrap header: This is Jekyll-Bootstrap --- diff --git a/sitemap.txt b/sitemap.txt index 59367c5..25c568f 100644 --- a/sitemap.txt +++ b/sitemap.txt @@ -1,5 +1,6 @@ --- # Remember to set production_url in your _config.yml file! +title : Sitemap --- {% for page in site.pages %} {{site.production_url}}{{ page.url }}{% endfor %} From ef17645ef8b2028661079ff3d2b10b34684d4204 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:50:03 -0800 Subject: [PATCH 019/124] specify page group 'navigation' Also clean out pages.html and just list all pages --- archive.html | 2 +- categories.html | 2 +- pages.html | 16 +--------------- tags.html | 2 +- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/archive.html b/archive.html index 3e622e7..625253f 100644 --- a/archive.html +++ b/archive.html @@ -2,7 +2,7 @@ layout: page title : Archive header : Post Archive -group: example-page +group: navigation --- {% assign posts_collate = site.posts %} diff --git a/categories.html b/categories.html index b13d596..dba5f4f 100644 --- a/categories.html +++ b/categories.html @@ -2,7 +2,7 @@ layout: page title: Categories header: Posts By Category -group: example-page +group: navigation ---
                  diff --git a/pages.html b/pages.html index d7fd5ac..4d39d0d 100644 --- a/pages.html +++ b/pages.html @@ -2,7 +2,7 @@ layout: page title: Pages header: Pages -group: example-page +group: navigation ---

                  All Pages

                  @@ -10,17 +10,3 @@

                  All Pages

                  {% assign pages_list = site.pages %} {% include helpers/pages_list.html %}
                - -

                Pages in group: project

                -
                  -{% assign pages_list = site.pages %} -{% assign group = 'project' %} -{% include helpers/pages_list.html %} -
                - -

                Pages in group: example-page

                -
                  -{% assign pages_list = site.pages %} -{% assign group = 'example-page' %} -{% include helpers/pages_list.html %} -
                diff --git a/tags.html b/tags.html index 947f0b7..f827adc 100644 --- a/tags.html +++ b/tags.html @@ -2,7 +2,7 @@ layout: page title: Tags header: Posts By Tag -group: example-page +group: navigation ---
                  From 23836110c95113492fb7598f473d09bf555cca4e Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:50:49 -0800 Subject: [PATCH 020/124] add little arrow to collated list --- _includes/helpers/posts_collate.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/helpers/posts_collate.html b/_includes/helpers/posts_collate.html index 7e55554..210bd03 100644 --- a/_includes/helpers/posts_collate.html +++ b/_includes/helpers/posts_collate.html @@ -29,7 +29,7 @@

                  {{this_month}}

                  From eca5de05bc87a14f08b9e671ed9e0a69c438b520 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:51:35 -0800 Subject: [PATCH 021/124] assign active class to li --- _includes/helpers/pages_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/helpers/pages_list.html b/_includes/helpers/pages_list.html index 44c5279..0e42820 100644 --- a/_includes/helpers/pages_list.html +++ b/_includes/helpers/pages_list.html @@ -25,7 +25,7 @@ {% if group == null or group == node.group %} {% if page.url == node.url %} -
                • {{node.title}}
                • +
                • {{node.title}}
                • {% else %}
                • {{node.title}}
                • {% endif %} From 4aadec216a6799700b13b1bb97733791a573e16a Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:53:23 -0800 Subject: [PATCH 022/124] add twitter bootstrap theme --- _includes/themes/twitter/default.html | 58 +++ _includes/themes/twitter/page.html | 9 + _includes/themes/twitter/post.html | 38 ++ assets/themes/twitter/css/1.4.0/bootstrap.css | 356 ++++++++++++++++++ assets/themes/twitter/css/style.css | 71 ++++ 5 files changed, 532 insertions(+) create mode 100644 _includes/themes/twitter/default.html create mode 100644 _includes/themes/twitter/page.html create mode 100644 _includes/themes/twitter/post.html create mode 100644 assets/themes/twitter/css/1.4.0/bootstrap.css create mode 100644 assets/themes/twitter/css/style.css diff --git a/_includes/themes/twitter/default.html b/_includes/themes/twitter/default.html new file mode 100644 index 0000000..d149bd5 --- /dev/null +++ b/_includes/themes/twitter/default.html @@ -0,0 +1,58 @@ + + + + + {{ page.title }} + {% if page.description %}{% endif %} + + + + + + + + + + + + + + + +
                  +
                  +
                  + {{ site.title }} + +
                  +
                  +
                  + +
                  + +
                  + {{ content }} +
                  + + + +
                  + + + diff --git a/_includes/themes/twitter/page.html b/_includes/themes/twitter/page.html new file mode 100644 index 0000000..7ac6fab --- /dev/null +++ b/_includes/themes/twitter/page.html @@ -0,0 +1,9 @@ + + +
                  +
                  + {{ content }} +
                  +
                  diff --git a/_includes/themes/twitter/post.html b/_includes/themes/twitter/post.html new file mode 100644 index 0000000..81b0931 --- /dev/null +++ b/_includes/themes/twitter/post.html @@ -0,0 +1,38 @@ + + +
                  +
                  + {{ content }} +
                  + +
                  + +
                  +

                  Published

                  +
                  {{ page.date | date_to_long_string }}
                  + + {% unless page.tags == empty %} +

                  Tags

                  +
                    + {% assign tags_list = page.tags %} + {% include helpers/tags_list.html %} +
                  + {% endunless %} +
                  +
                  diff --git a/assets/themes/twitter/css/1.4.0/bootstrap.css b/assets/themes/twitter/css/1.4.0/bootstrap.css new file mode 100644 index 0000000..a43fcf7 --- /dev/null +++ b/assets/themes/twitter/css/1.4.0/bootstrap.css @@ -0,0 +1,356 @@ +html,body{margin:0;padding:0;} +h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;} +table{border-collapse:collapse;border-spacing:0;} +ol,ul{list-style:none;} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted;} +a:hover,a:active{outline:0;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{border:0;-ms-interpolation-mode:bicubic;} +button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;} +button,input{line-height:normal;*overflow:visible;} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} +button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} +input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} +input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#404040;} +.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;} +.container:after{clear:both;} +.container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;} +.container-fluid:after{clear:both;} +.container-fluid>.sidebar{position:absolute;top:0;left:20px;width:220px;} +.container-fluid>.content{margin-left:240px;} +a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.row{zoom:1;margin-left:-20px;}.row:before,.row:after{display:table;content:"";zoom:1;} +.row:after{clear:both;} +.row>[class*="span"]{display:inline;float:left;margin-left:20px;} +.span1{width:40px;} +.span2{width:100px;} +.span3{width:160px;} +.span4{width:220px;} +.span5{width:280px;} +.span6{width:340px;} +.span7{width:400px;} +.span8{width:460px;} +.span9{width:520px;} +.span10{width:580px;} +.span11{width:640px;} +.span12{width:700px;} +.span13{width:760px;} +.span14{width:820px;} +.span15{width:880px;} +.span16{width:940px;} +.span17{width:1000px;} +.span18{width:1060px;} +.span19{width:1120px;} +.span20{width:1180px;} +.span21{width:1240px;} +.span22{width:1300px;} +.span23{width:1360px;} +.span24{width:1420px;} +.row>.offset1{margin-left:80px;} +.row>.offset2{margin-left:140px;} +.row>.offset3{margin-left:200px;} +.row>.offset4{margin-left:260px;} +.row>.offset5{margin-left:320px;} +.row>.offset6{margin-left:380px;} +.row>.offset7{margin-left:440px;} +.row>.offset8{margin-left:500px;} +.row>.offset9{margin-left:560px;} +.row>.offset10{margin-left:620px;} +.row>.offset11{margin-left:680px;} +.row>.offset12{margin-left:740px;} +.span-one-third{width:300px;} +.span-two-thirds{width:620px;} +.row>.offset-one-third{margin-left:340px;} +.row>.offset-two-thirds{margin-left:660px;} +p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;} +h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;} +h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;} +h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;} +h3,h4,h5,h6{line-height:36px;} +h3{font-size:18px;}h3 small{font-size:14px;} +h4{font-size:16px;}h4 small{font-size:12px;} +h5{font-size:14px;} +h6{font-size:13px;color:#bfbfbf;text-transform:uppercase;} +ul,ol{margin:0 0 18px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +ul{list-style:disc;} +ol{list-style:decimal;} +li{line-height:18px;color:#808080;} +ul.unstyled{list-style:none;margin-left:0;} +dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;} +dl dt{font-weight:bold;} +dl dd{margin-left:9px;} +hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;} +strong{font-style:inherit;font-weight:bold;} +em{font-style:italic;font-weight:inherit;line-height:inherit;} +.muted{color:#bfbfbf;} +blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;} +blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';} +address{display:block;line-height:18px;margin-bottom:18px;} +code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;} +pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;} +form{margin-bottom:18px;} +fieldset{margin-bottom:18px;padding-top:18px;}fieldset legend{display:block;padding-left:150px;font-size:19.5px;line-height:1;color:#404040;*padding:0 0 5px 145px;*line-height:1.5;} +form .clearfix{margin-bottom:18px;zoom:1;}form .clearfix:before,form .clearfix:after{display:table;content:"";zoom:1;} +form .clearfix:after{clear:both;} +label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;} +label{padding-top:6px;font-size:13px;line-height:18px;float:left;width:130px;text-align:right;color:#404040;} +form .input{margin-left:150px;} +input[type=checkbox],input[type=radio]{cursor:pointer;} +input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +select{padding:initial;} +input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;} +input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;} +select,input[type=file]{height:27px;*height:auto;line-height:27px;*margin-top:4px;} +select[multiple]{height:inherit;background-color:#ffffff;} +textarea{height:auto;} +.uneditable-input{background-color:#ffffff;display:block;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +:-moz-placeholder{color:#bfbfbf;} +::-webkit-input-placeholder{color:#bfbfbf;} +input,textarea{-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);} +input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);} +input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;} +form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;} +form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;} +form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;} +form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;} +form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;} +form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;} +form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;} +form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;} +.input-mini,input.mini,textarea.mini,select.mini{width:60px;} +.input-small,input.small,textarea.small,select.small{width:90px;} +.input-medium,input.medium,textarea.medium,select.medium{width:150px;} +.input-large,input.large,textarea.large,select.large{width:210px;} +.input-xlarge,input.xlarge,textarea.xlarge,select.xlarge{width:270px;} +.input-xxlarge,input.xxlarge,textarea.xxlarge,select.xxlarge{width:530px;} +textarea.xxlarge{overflow-y:auto;} +input.span1,textarea.span1{display:inline-block;float:none;width:30px;margin-left:0;} +input.span2,textarea.span2{display:inline-block;float:none;width:90px;margin-left:0;} +input.span3,textarea.span3{display:inline-block;float:none;width:150px;margin-left:0;} +input.span4,textarea.span4{display:inline-block;float:none;width:210px;margin-left:0;} +input.span5,textarea.span5{display:inline-block;float:none;width:270px;margin-left:0;} +input.span6,textarea.span6{display:inline-block;float:none;width:330px;margin-left:0;} +input.span7,textarea.span7{display:inline-block;float:none;width:390px;margin-left:0;} +input.span8,textarea.span8{display:inline-block;float:none;width:450px;margin-left:0;} +input.span9,textarea.span9{display:inline-block;float:none;width:510px;margin-left:0;} +input.span10,textarea.span10{display:inline-block;float:none;width:570px;margin-left:0;} +input.span11,textarea.span11{display:inline-block;float:none;width:630px;margin-left:0;} +input.span12,textarea.span12{display:inline-block;float:none;width:690px;margin-left:0;} +input.span13,textarea.span13{display:inline-block;float:none;width:750px;margin-left:0;} +input.span14,textarea.span14{display:inline-block;float:none;width:810px;margin-left:0;} +input.span15,textarea.span15{display:inline-block;float:none;width:870px;margin-left:0;} +input.span16,textarea.span16{display:inline-block;float:none;width:930px;margin-left:0;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;} +.actions{background:#f5f5f5;margin-top:18px;margin-bottom:18px;padding:17px 20px 18px 150px;border-top:1px solid #ddd;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.actions .secondary-action{float:right;}.actions .secondary-action a{line-height:30px;}.actions .secondary-action a:hover{text-decoration:underline;} +.help-inline,.help-block{font-size:13px;line-height:18px;color:#bfbfbf;} +.help-inline{padding-left:5px;*position:relative;*top:-5px;} +.help-block{display:block;max-width:600px;} +.inline-inputs{color:#808080;}.inline-inputs span{padding:0 2px 0 1px;} +.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} +.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;} +.input-prepend .add-on{*margin-top:1px;} +.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;} +.inputs-list{margin:0 0 5px;width:100%;}.inputs-list li{display:block;padding:0;width:100%;} +.inputs-list label{display:block;float:none;width:auto;padding:0;margin-left:20px;line-height:18px;text-align:left;white-space:normal;}.inputs-list label strong{color:#808080;} +.inputs-list label small{font-size:11px;font-weight:normal;} +.inputs-list .inputs-list{margin-left:25px;margin-bottom:10px;padding-top:0;} +.inputs-list:first-child{padding-top:6px;} +.inputs-list li+li{padding-top:2px;} +.inputs-list input[type=radio],.inputs-list input[type=checkbox]{margin-bottom:0;margin-left:-20px;float:left;} +.form-stacked{padding-left:20px;}.form-stacked fieldset{padding-top:9px;} +.form-stacked legend{padding-left:0;} +.form-stacked label{display:block;float:none;width:auto;font-weight:bold;text-align:left;line-height:20px;padding-top:0;} +.form-stacked .clearfix{margin-bottom:9px;}.form-stacked .clearfix div.input{margin-left:0;} +.form-stacked .inputs-list{margin-bottom:0;}.form-stacked .inputs-list li{padding-top:0;}.form-stacked .inputs-list li label{font-weight:normal;padding-top:0;} +.form-stacked div.clearfix.error{padding-top:10px;padding-bottom:10px;padding-left:10px;margin-top:0;margin-left:-10px;} +.form-stacked .actions{margin-left:-20px;padding-left:20px;} +table{width:100%;margin-bottom:18px;padding:0;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;} +table th{padding-top:9px;font-weight:bold;vertical-align:middle;} +table td{vertical-align:top;border-top:1px solid #ddd;} +table tbody th{border-top:1px solid #ddd;vertical-align:top;} +.condensed-table th,.condensed-table td{padding:5px 5px 4px;} +.bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;} +.bordered-table thead tr:first-child th:first-child,.bordered-table tbody tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;} +.bordered-table thead tr:first-child th:last-child,.bordered-table tbody tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;} +.bordered-table tbody tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;} +.bordered-table tbody tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} +table .span1{width:20px;} +table .span2{width:60px;} +table .span3{width:100px;} +table .span4{width:140px;} +table .span5{width:180px;} +table .span6{width:220px;} +table .span7{width:260px;} +table .span8{width:300px;} +table .span9{width:340px;} +table .span10{width:380px;} +table .span11{width:420px;} +table .span12{width:460px;} +table .span13{width:500px;} +table .span14{width:540px;} +table .span15{width:580px;} +table .span16{width:620px;} +.zebra-striped tbody tr:nth-child(odd) td,.zebra-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} +.zebra-striped tbody tr:hover td,.zebra-striped tbody tr:hover th{background-color:#f5f5f5;} +table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;} +table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);} +table .header:hover:after{visibility:visible;} +table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} +table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} +table .blue{color:#049cdb;border-bottom-color:#049cdb;} +table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;} +table .green{color:#46a546;border-bottom-color:#46a546;} +table .headerSortUp.green,table .headerSortDown.green{background-color:#cdeacd;} +table .red{color:#9d261d;border-bottom-color:#9d261d;} +table .headerSortUp.red,table .headerSortDown.red{background-color:#f4c8c5;} +table .yellow{color:#ffc40d;border-bottom-color:#ffc40d;} +table .headerSortUp.yellow,table .headerSortDown.yellow{background-color:#fff6d9;} +table .orange{color:#f89406;border-bottom-color:#f89406;} +table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;} +table .purple{color:#7a43b6;border-bottom-color:#7a43b6;} +table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;} +.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);} +.topbar h3 a:hover,.topbar .brand:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;} +.topbar h3{position:relative;} +.topbar h3 a,.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;} +.topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;} +.topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;} +.topbar form.pull-right{float:right;} +.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;} +.topbar input::-webkit-input-placeholder{color:#e6e6e6;} +.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;} +.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);} +.topbar-inner,.topbar .fill{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);} +.topbar div>ul,.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.topbar div>ul>li,.nav>li{display:block;float:left;} +.topbar div>ul a,.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.topbar div>ul a:hover,.nav a:hover{color:#ffffff;text-decoration:none;} +.topbar div>ul .active>a,.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);} +.topbar div>ul.secondary-nav,.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.topbar div>ul.secondary-nav .menu-dropdown,.nav.secondary-nav .menu-dropdown,.topbar div>ul.secondary-nav .dropdown-menu,.nav.secondary-nav .dropdown-menu{right:0;border:0;} +.topbar div>ul a.menu:hover,.nav a.menu:hover,.topbar div>ul li.open .menu,.nav li.open .menu,.topbar div>ul .dropdown-toggle:hover,.nav .dropdown-toggle:hover,.topbar div>ul .dropdown.open .dropdown-toggle,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);} +.topbar div>ul .menu-dropdown,.nav .menu-dropdown,.topbar div>ul .dropdown-menu,.nav .dropdown-menu{background-color:#333;}.topbar div>ul .menu-dropdown a.menu,.nav .menu-dropdown a.menu,.topbar div>ul .dropdown-menu a.menu,.nav .dropdown-menu a.menu,.topbar div>ul .menu-dropdown .dropdown-toggle,.nav .menu-dropdown .dropdown-toggle,.topbar div>ul .dropdown-menu .dropdown-toggle,.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.topbar div>ul .menu-dropdown a.menu.open,.nav .menu-dropdown a.menu.open,.topbar div>ul .dropdown-menu a.menu.open,.nav .dropdown-menu a.menu.open,.topbar div>ul .menu-dropdown .dropdown-toggle.open,.nav .menu-dropdown .dropdown-toggle.open,.topbar div>ul .dropdown-menu .dropdown-toggle.open,.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);} +.topbar div>ul .menu-dropdown li a,.nav .menu-dropdown li a,.topbar div>ul .dropdown-menu li a,.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.topbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.topbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;} +.topbar div>ul .menu-dropdown .active a,.nav .menu-dropdown .active a,.topbar div>ul .dropdown-menu .active a,.nav .dropdown-menu .active a{color:#ffffff;} +.topbar div>ul .menu-dropdown .divider,.nav .menu-dropdown .divider,.topbar div>ul .dropdown-menu .divider,.nav .dropdown-menu .divider{background-color:#222;border-color:#444;} +.topbar ul .menu-dropdown li a,.topbar ul .dropdown-menu li a{padding:4px 15px;} +li.menu,.dropdown{position:relative;} +a.menu:after,.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"↓";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;} +.menu-dropdown,.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.menu-dropdown li,.dropdown-menu li{float:none;display:block;background-color:none;} +.menu-dropdown .divider,.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;} +.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover,.topbar .dropdown-menu a.hover,.dropdown-menu a.hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);} +.open .menu,.dropdown.open .menu,.open .dropdown-toggle,.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);} +.open .menu-dropdown,.dropdown.open .menu-dropdown,.open .dropdown-menu,.dropdown.open .dropdown-menu{display:block;} +.tabs,.pills{margin:0 0 18px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;} +.tabs:after,.pills:after{clear:both;} +.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;} +.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:34px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;} +.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} +.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;} +.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;} +.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;} +.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;} +.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;} +.pills-vertical>li{float:none;} +.tab-content>.tab-pane,.pill-content>.pill-pane,.tab-content>div,.pill-content>div{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;} +.breadcrumb .divider{padding:0 5px;color:#bfbfbf;} +.breadcrumb .active a{color:#404040;} +.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;} +.hero-unit p{font-size:18px;font-weight:200;line-height:27px;} +footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;} +.page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;} +.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;} +.btn .close,.alert-message .close{font-family:Arial,sans-serif;line-height:18px;} +.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.success,.alert-message.success{background-color:#57a957;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.info,.alert-message.info{background-color:#339bb9;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-repeat:no-repeat;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;} +.btn:focus{outline:1px dotted #666;} +.btn.primary{color:#ffffff;background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} +.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);} +.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.btn.small{padding:7px 9px 7px;font-size:11px;} +:root .alert-message,:root .btn{border-radius:0 \0;} +button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;} +.close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=25);-khtml-opacity:0.25;-moz-opacity:0.25;opacity:0.25;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;} +.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{margin-top:1px;*margin-top:0;} +.alert-message a{font-weight:bold;color:#404040;} +.alert-message.danger p a,.alert-message.error p a,.alert-message.success p a,.alert-message.info p a{color:#ffffff;} +.alert-message h5{line-height:18px;} +.alert-message p{margin-bottom:0;} +.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;} +.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);} +.alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;} +.alert-message.block-message ul{margin-bottom:0;} +.alert-message.block-message li{color:#404040;} +.alert-message.block-message .alert-actions{margin-top:5px;} +.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;} +.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;} +.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;} +.alert-message.block-message.danger p a,.alert-message.block-message.error p a,.alert-message.block-message.success p a,.alert-message.block-message.info p a{color:#404040;} +.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination li{display:inline;} +.pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;} +.pagination a:hover,.pagination .active a{background-color:#c7eefe;} +.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;} +.pagination .next a{border:0;} +.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} +.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;} +.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:50%;} +.modal-header{border-bottom:1px solid #eee;padding:5px 15px;} +.modal-body{padding:15px;} +.modal-body form{margin-bottom:0;} +.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;} +.modal-footer:after{clear:both;} +.modal-footer .btn{float:right;margin-left:5px;} +.modal .popover,.modal .twipsy{z-index:12000;} +.twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} +.twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.twipsy-arrow{position:absolute;width:0;height:0;} +.popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.popover .arrow{position:absolute;width:0;height:0;} +.popover .inner{background:#000000;background:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);} +.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;} +.popover .content{background-color:#ffffff;padding:14px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;} +.fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;} +.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;white-space:nowrap;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;} +.label.warning{background-color:#f89406;} +.label.success{background-color:#46a546;} +.label.notice{background-color:#62cffc;} +.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;} +.media-grid:after{clear:both;} +.media-grid li{display:inline;} +.media-grid a{float:left;padding:4px;margin:0 0 18px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}.media-grid a img{display:block;} +.media-grid a:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} \ No newline at end of file diff --git a/assets/themes/twitter/css/style.css b/assets/themes/twitter/css/style.css new file mode 100644 index 0000000..ac3cb73 --- /dev/null +++ b/assets/themes/twitter/css/style.css @@ -0,0 +1,71 @@ +/* Override some defaults */ +html, body { + background-color: #eee; +} +body { + padding-top: 40px; /* 40px to make the container go all the way to the bottom of the topbar */ +} +.container > footer p { + text-align: center; /* center align it with the container */ +} +.container { + width: 820px; /* downsize our container to make the content feel a bit tighter and more cohesive. NOTE: this removes two full columns from the grid, meaning you only go to 14 columns and not 16. */ +} + +/* The white background content wrapper */ +.content { + background-color: #fff; + padding: 20px; + margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */ + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15); + box-shadow: 0 1px 2px rgba(0,0,0,.15); +} + +/* Page header tweaks */ +.page-header { + background-color: #f5f5f5; + padding: 20px 20px 10px; + margin: -20px -20px 20px; +} + +.topbar .btn { + border: 0; +} + + +/* tag_box ======================================================== */ + +.tag_box { + list-style:none; + margin:0; + padding:5px 0 ; + overflow:hidden; +} +.tag_box li { + line-height:28px; +} +.tag_box.inline li { + float:left; +} +.tag_box a { + padding: 3px 6px; + margin: 2px; + background: #eee; + color:#005F6B; + border-radius: 3px; + text-decoration:none; +} +.tag_box a span{ + vertical-align:super; + font-size:0.8em; +} +.tag_box a.active { + background:#57A957; + border:1px solid #4C964D; + color:#FFF; +} + \ No newline at end of file From e34311ddedc6c0e3481971985e67451921a6a82c Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 12 Jan 2012 12:54:32 -0800 Subject: [PATCH 023/124] use twitter theme as default --- _layouts/default.html | 4 ++-- _layouts/page.html | 2 +- _layouts/post.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index 2391b67..bddadd5 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,4 +1,4 @@ --- --- -{% assign theme_asset_path = "/assets/themes/tom" %} -{% include themes/tom/default.html %} +{% assign theme_asset_path = "/assets/themes/twitter" %} +{% include themes/twitter/default.html %} diff --git a/_layouts/page.html b/_layouts/page.html index 7985e03..9a6351c 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -1,4 +1,4 @@ --- layout: default --- -{% include themes/tom/page.html %} +{% include themes/twitter/page.html %} diff --git a/_layouts/post.html b/_layouts/post.html index 66490a9..4371409 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -1,4 +1,4 @@ --- layout: default --- -{% include themes/tom/post.html %} +{% include themes/twitter/post.html %} From 812e27bacbc2abf42e1faf8799570fb0e14b5cf6 Mon Sep 17 00:00:00 2001 From: Matt Swanson Date: Sun, 15 Jan 2012 16:55:07 -0500 Subject: [PATCH 024/124] Add Atom rss feeds --- _config.yml | 1 + atom.xml | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 atom.xml diff --git a/_config.yml b/_config.yml index d3caf3f..9df5c66 100644 --- a/_config.yml +++ b/_config.yml @@ -7,6 +7,7 @@ var: archive_path: /archive.html categories_path : /categories.html tags_path : /tags.html + rss_path: /atom.xml production_url : http://username.github.com # or your custom domain name title : Jekyll Boostrap diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..b7fcffd --- /dev/null +++ b/atom.xml @@ -0,0 +1,27 @@ +--- +layout: nil +--- + + + + {{ site.title }} + + + {{ site.time | date_to_xmlschema }} + {{ site.production_url }} + + {{ site.author.name }} + {{ site.author.email }} + + + {% for post in site.posts %} + + {{ post.title }} + + {{ post.date | date_to_xmlschema }} + h{{ site.production_url }}{{ post.id }} + {{ post.content | xml_escape }} + + {% endfor %} + + \ No newline at end of file From 6ee3125c179e2f610b039b3ace9a3836a998a4ee Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Mon, 16 Jan 2012 21:17:25 +0530 Subject: [PATCH 025/124] adding the new_post task, with bugs fixed which were pointed out by @swanson --- Rakefile | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Rakefile b/Rakefile index 1087d90..9ad3f2d 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,49 @@ require "rubygems" require 'rake' +## -- Misc Configs --## +jekyll_dir = "." +posts_dir = "_posts" +new_post_ext = "md" + +# 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 #{jekyll_dir}/#{posts_dir}" +task :new_post, :title do |t, args| + raise "### Cannot locate the #{posts_dir}." unless File.directory?(posts_dir) + mkdir_p "#{jekyll_dir}/#{posts_dir}" + args.with_defaults(:title => 'new-post') + slug = args.title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') + title = args.title.gsub(/-/,' ') + filename = "#{jekyll_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{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}\"" + post.puts "comments: true" + post.puts "category: " + post.puts "tags: []" + post.puts "---" + end +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 get_stdin(message) + print message + STDIN.gets.chomp +end + desc "Switch between Jekyll-bootstrap themes." task :switch_theme, :theme do |t, args| theme_path = File.join(File.dirname(__FILE__), "_includes", "themes", args.theme) From 6e70fddae61a1de1bd7fba7aa43f7c2f0f3d8af6 Mon Sep 17 00:00:00 2001 From: Jesse Chan-Norris Date: Mon, 16 Jan 2012 21:20:25 -0500 Subject: [PATCH 026/124] Change directory tests in switch_theme task to use FileTest.directory? instead of Dir.exists? for ruby 1.8.7 compatibility. --- Rakefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 1087d90..6f824a0 100644 --- a/Rakefile +++ b/Rakefile @@ -6,8 +6,8 @@ task :switch_theme, :theme do |t, args| theme_path = File.join(File.dirname(__FILE__), "_includes", "themes", args.theme) layouts_path = File.join(File.dirname(__FILE__), "_layouts") - abort("rake aborted: './_includes/themes/#{args.theme}' directory not found.") unless Dir.exists?(theme_path) - abort("rake aborted: './_layouts' directory not found.") unless Dir.exists?(layouts_path) + abort("rake aborted: './_includes/themes/#{args.theme}' directory not found.") unless FileTest.directory?(theme_path) + abort("rake aborted: './_layouts' directory not found.") unless FileTest.directory?(layouts_path) Dir.glob("#{theme_path}/*") do |filename| puts "Generating '#{args.theme}' layout: #{File.basename(filename)}" From 9d7d4eb4f946a895ee79219813355af86a17c120 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Wed, 18 Jan 2012 15:35:10 -0800 Subject: [PATCH 027/124] reorganize rakefile Namely standardized some logic and put config variables in hash --- Rakefile | 61 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/Rakefile b/Rakefile index 826e7bc..f55c099 100644 --- a/Rakefile +++ b/Rakefile @@ -1,61 +1,48 @@ require "rubygems" require 'rake' -## -- Misc Configs --## -jekyll_dir = "." -posts_dir = "_posts" -new_post_ext = "md" +SOURCE = "." +CONFIG = { + 'themes' => File.join(SOURCE, "_includes", "themes"), + 'layouts' => File.join(SOURCE, "_layouts"), + 'posts' => File.join(SOURCE, "_posts"), + 'post_ext' => "md" +} # 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 #{jekyll_dir}/#{posts_dir}" +desc "Begin a new post in #{CONFIG['posts']}" task :new_post, :title do |t, args| - raise "### Cannot locate the #{posts_dir}." unless File.directory?(posts_dir) - mkdir_p "#{jekyll_dir}/#{posts_dir}" + abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts']) args.with_defaults(:title => 'new-post') slug = args.title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') - title = args.title.gsub(/-/,' ') - filename = "#{jekyll_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{new_post_ext}" + filename = File.join(CONFIG['posts'], "#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{CONFIG['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}\"" + post.puts "title: \"#{args.title.gsub(/-/,' ')}\"" post.puts "comments: true" post.puts "category: " post.puts "tags: []" post.puts "---" end -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 get_stdin(message) - print message - STDIN.gets.chomp -end +end # task :new_post desc "Switch between Jekyll-bootstrap themes." task :switch_theme, :theme do |t, args| - theme_path = File.join(File.dirname(__FILE__), "_includes", "themes", args.theme) - layouts_path = File.join(File.dirname(__FILE__), "_layouts") + theme_path = File.join(CONFIG['themes'], args.theme) - abort("rake aborted: './_includes/themes/#{args.theme}' directory not found.") unless FileTest.directory?(theme_path) - abort("rake aborted: './_layouts' directory not found.") unless FileTest.directory?(layouts_path) + abort("rake aborted: '#{CONFIG['themes']}/#{args.theme}' directory not found.") unless FileTest.directory?(theme_path) + abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts']) Dir.glob("#{theme_path}/*") do |filename| puts "Generating '#{args.theme}' layout: #{File.basename(filename)}" - open("#{layouts_path}/#{File.basename(filename)}", 'w') do |page| + open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page| if File.basename(filename, ".html").downcase == "default" page.puts "---" page.puts "---" @@ -73,4 +60,18 @@ end # task :switch_theme desc "Launch preview environment" task :preview do system "jekyll --auto --server" +end # task :preview + +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 get_stdin(message) + print message + STDIN.gets.chomp +end \ No newline at end of file From 2a5c2751eb331cc46ff73d91077f210d5833dbb6 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Wed, 18 Jan 2012 16:42:26 -0800 Subject: [PATCH 028/124] Hello world --- index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.md b/index.md index 03f605c..40ab32c 100644 --- a/index.md +++ b/index.md @@ -1,7 +1,6 @@ --- layout: page -title: Hello from Jekyll-Bootstrap -header: This is Jekyll-Bootstrap +title: Hello World! --- Read [Jekyll Quick Start](http://jekyllbootstrap.com/jekyll-quick-start.html) From bbf4212768ed6178049a66b929c92fcdcfe95ce9 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Wed, 18 Jan 2012 16:43:52 -0800 Subject: [PATCH 029/124] Add atom title and inline tag list --- atom.xml | 1 + categories.html | 2 +- tags.html | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/atom.xml b/atom.xml index b7fcffd..1be3bdf 100644 --- a/atom.xml +++ b/atom.xml @@ -1,5 +1,6 @@ --- layout: nil +title : Atom Feed --- diff --git a/categories.html b/categories.html index dba5f4f..a5ed9f8 100644 --- a/categories.html +++ b/categories.html @@ -5,7 +5,7 @@ group: navigation --- -
                    +
                      {% assign categories_list = site.categories %} {% include helpers/categories_list.html %}
                    diff --git a/tags.html b/tags.html index f827adc..76686fc 100644 --- a/tags.html +++ b/tags.html @@ -5,7 +5,7 @@ group: navigation --- -
                      +
                        {% assign tags_list = site.tags %} {% include helpers/tags_list.html %}
                      From e70aa41d12e91d38c640cd0fabe622f3ea5d6890 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Wed, 18 Jan 2012 16:45:24 -0800 Subject: [PATCH 030/124] remove samples I guess only one sample post file will do. Also if users leave this content up, Google may not like the duplicate content =/ --- .../core-samples/api/2011-11-27-theme-api.md | 10 - .../api/2011-11-28-bootstrap-api.md | 65 ------- .../api/2011-11-29-jekyll-liquid-api.md | 38 ---- .../api/2011-11-30-template-data-api.md | 172 ------------------ .../helpers/2011-9-27-posts-collate.md | 34 ---- .../helpers/2011-9-28-categories-list.md | 49 ----- .../helpers/2011-9-29-pages-list.md | 43 ----- .../helpers/2011-9-30-tags-list.md | 50 ----- .../2011-10-28-deployment-and-hosting.md | 36 ---- .../usage/2011-10-29-configuring-urls.md | 26 --- .../usage/2011-10-30-jekyll-theming.md | 31 ---- .../usage/2011-10-31-jekyll-quick-start.md | 80 -------- 12 files changed, 634 deletions(-) delete mode 100644 _posts/core-samples/api/2011-11-27-theme-api.md delete mode 100644 _posts/core-samples/api/2011-11-28-bootstrap-api.md delete mode 100644 _posts/core-samples/api/2011-11-29-jekyll-liquid-api.md delete mode 100644 _posts/core-samples/api/2011-11-30-template-data-api.md delete mode 100644 _posts/core-samples/helpers/2011-9-27-posts-collate.md delete mode 100644 _posts/core-samples/helpers/2011-9-28-categories-list.md delete mode 100644 _posts/core-samples/helpers/2011-9-29-pages-list.md delete mode 100644 _posts/core-samples/helpers/2011-9-30-tags-list.md delete mode 100644 _posts/core-samples/usage/2011-10-28-deployment-and-hosting.md delete mode 100644 _posts/core-samples/usage/2011-10-29-configuring-urls.md delete mode 100644 _posts/core-samples/usage/2011-10-30-jekyll-theming.md delete mode 100644 _posts/core-samples/usage/2011-10-31-jekyll-quick-start.md diff --git a/_posts/core-samples/api/2011-11-27-theme-api.md b/_posts/core-samples/api/2011-11-27-theme-api.md deleted file mode 100644 index c754907..0000000 --- a/_posts/core-samples/api/2011-11-27-theme-api.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout : post -categories : api -tags : api ---- - -The Jekyll Bootstrap Theme API documents how themes should be formatted -in order to be plugged into jekyll-bootstrap. - -## Philosophy diff --git a/_posts/core-samples/api/2011-11-28-bootstrap-api.md b/_posts/core-samples/api/2011-11-28-bootstrap-api.md deleted file mode 100644 index bfdb5c0..0000000 --- a/_posts/core-samples/api/2011-11-28-bootstrap-api.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout : post -categories : api -tags : api ---- - -The Jekyll Bootstrap API consists of custom includes and development -strategies meant to provide a more modular and sensible coding experience -when working with Liquid and Jekyll. - -## Philosophy - -Jekyll-bootstrap uses an 'include' helper strategy to encapsulate frequently used -code logic. This makes for more modular and DRY code. - -The 'include' helper is the same concept as rails' view helper modules, -just obviously much more constrained due to Liquid. - -## Include-helper Strategy - -### Define a new "method" - -The include helper strategy is meant to emulate a ruby method. -First encapsulate your liquid code logic in a Jekyll include file. -example: `helpers/tags_list.html` which is a helper to list tags and their total counts. - -{% capture text %}|.% for tag in tags_list %.| -
                    • |.{ tag[0] }.| |.{tag[1].size}.|
                    • -|.% endfor %.| - -|.% assign tags_list = null %.|{% endcapture %} -{% include helpers/liquid_raw.html %} - -In order to emulate passing arguments to the method, your include should reference localized variables whenever possible. -Now we can pass in arguments by defining the local variables immediately before calling the include file: - -### Invoking the Method. - -{% capture text %}
                        - |.% assign tags_list = site.tags %.| - |.% include helpers/tags_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -You can define as many "arguments" as you want, just remember to nullify them all at the end of your include to preserve modularity. - -### Gotchas - -In Liquid, it is impossible to inline assign a variable to anything other than a string. -This means you can't pass in arrays, hashes, etc. -However, as shown above, you can pass-by-reference, and assign local variables to variables that already exist. - -So to pass in data-structures, you need to define them in your YAML Front Matter, or \_config.html file first, then pass them in by reference. - -## Contibuting - -If you have a good idea for another helper, please follow the outlines above, -then submit a pull request to [Jekyll-Bootstrap](http://github.com/plusjade/jekyll-bootstrap) and I'll include it. - -## Current Jekyll-Bootstrap Helpers - -
                        - {% assign pages_list = site.categories.helpers %} - {% include helpers/pages_list.html %} -
                      diff --git a/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md b/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md deleted file mode 100644 index ac1bafd..0000000 --- a/_posts/core-samples/api/2011-11-29-jekyll-liquid-api.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout : post -categories : api -tags : api ---- - -Here we'll get familiar with the Liquid syntax and learn about all the methods and logic available to us. - -## Introduction - -Jekyll uses the standard Liquid templating language package and includes a few other helpful extensions of its own. - -Jekyll-bootstrap does not support plugin development so only the standard filters and logic will be available to us. - -Remember we are the end-users! - -## Liquid Crash Course - -The following link contains a comprehensive course in everything available in Liquid. -The standard library is also available in Jekyll. - - - -## Liquid Extensions Provided With Jekyll - -Jekyll introduces a few other filters and tags as outlined here: - - - -## Examples - -Finally we take a look out the included helper examples and their source to see -how we can display our post and site information in a more strategic manner. - -
                        -{% assign pages_list = site.categories.helpers %} -{% include helpers/pages_list.html %} -
                      diff --git a/_posts/core-samples/api/2011-11-30-template-data-api.md b/_posts/core-samples/api/2011-11-30-template-data-api.md deleted file mode 100644 index a12b597..0000000 --- a/_posts/core-samples/api/2011-11-30-template-data-api.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -layout : post -categories : api -tags : [templating, liquid] ---- - -The Template data API is a comprehensive list of all data accessible in templates through using the Liquid templating language. -The next lesson will focus on [accessing Jekyll data via Liquid]({{page.previous.url}}) - -## Global Page/Post Data - -Every content file that Jekyll processes is either a page or a post. -In both cases the data relative to the specific page or post being rendered -within the template is accessible through the `page` variable. -The page variable is a globally accessible variable available to all templates, posts, pages, and includes being rendered -for the given post/page instance. - - - /* The following format represents a Jekyll::Post or Jekyll::Page object. Jekyll::Post and Jekyll::Page objects may be nested in other variables in which case you can expect this same format: */ - page = { - "layout"=>"post", - "categories"=>["lessons"], - "title"=>"Jekyll Liquid Api", - "url"=>"/lessons/jekyll-liquid-api.html", - "date"=>2011-01-27 00:00:00 -0800, - "id"=>"/lessons/jekyll-liquid-api", - "next"=> #Jekyll:Post @id="/lessons/template-data-api", - "previous"=> #Jekyll:Post @id="/lessons/configuring-urls", - "tags"=>["tagname1", "tagname2"], - "custom_variable"=> ["a", "custom", "defined", "data-structure"], - "content"=>"... this is the unparsed raw html page/post content ..." - } - - -### Setting Custom Data - -You can set custom variables through the post or page Yaml Front matter and they will be included -in the page hash. - -One important thing to note is that each Jekyll "rendering" instance is treating as a page/post object. -ALL YAML Front matter is merged into the current page/post instance. -So if you define custom data in the post file, then define custom data in the sub-template, -and also in the root template, all data will merge into the same page hash. - - -## Content Data - -Jekyll uses a special variable named `content` to refer to the current page/post content. - -The difference between `content` and `page.content` is the former is parsed with markdown or textile while the latter is raw. - -The `content` variable is only accessible in template files and include files provided the include is included into a template. - -### Content in Primary Templates. - -When calling `content` in a primary template the content includes any sub-templates -previously rendered by the page/post. - -### Content in Sub-Templates. - -When calling `content` in a sub-template `content` includes any sub-sub-templates -previously rendered by the page/post. If there are none, `content` just reflects -the page/post as processed by markdown or textile. - - -## Global Site Data - -This data is available anywhere liquid is available. This includes templates, posts, pages, and includes. - - - site = { - "related_posts"=> - [...(Array of liquified Jekyll::Post objects)...], - "safe"=>false, - "auto"=>true, - "server"=>true, - "server_port"=>4000, - "source"=>"/Users/jade/Dropbox/github/jekyll-bootstrap", - "destination"=>"/Users/jade/Dropbox/github/jekyll-bootstrap/_site", - "plugins"=>"/Users/jade/Dropbox/github/jekyll-bootstrap/_plugins", - "future"=>true, - "lsi"=>false, - "pygments"=>false, - "markdown"=>"maruku", - "permalink"=>"/:categories/:title.html", - "markdown_ext"=>"markdown,mkd,mkdn,md", - "textile_ext"=>"textile", - "maruku"=> - { - "use_tex"=>false, - "use_divs"=>false, - "png_engine"=>"blahtex", - "png_dir"=>"images/latex", - "png_url"=>"/images/latex" - }, - "rdiscount"=> - { - "extensions"=>[] - }, - "redcarpet"=> - { - "extensions"=>[] - }, - "kramdown"=> - { - "auto_ids"=>true, - "footnote_nr"=>1, - "entity_output"=>"as_char", - "toc_levels"=>"1..6", - "use_coderay"=>false, - "coderay"=> - { - "coderay_wrap"=>"div", - "coderay_line_numbers"=>"inline", - "coderay_line_number_start"=>1, - "coderay_tab_width"=>4, - "coderay_bold_every"=>10, - "coderay_css"=>"style" - } - }, - "time"=>2011-12-20 14:03:53 -0800, - "posts"=> - [...(Array of liquified Jekyll::Post objects)...], - "pages"=> - [...(Array of liquified Jekyll::Page objects)...], - "html_pages"=> - [...(Array of liquified Jekyll::Page objects)...], - "categories"=> - {"examples"=> - [...(Array of liquified Jekyll::Post objects)...], - "lessons"=> - [...(Array of liquified Jekyll::Post objects)...], - "tags"=> - { - "permalinks"=> - [...(Array of liquified Jekyll::Post objects)...], - "urls"=> - [...(Array of liquified Jekyll::Post objects)...], - "templating"=> - [...(Array of liquified Jekyll::Post objects)...], - "liquid"=> - [...(Array of liquified Jekyll::Post objects)...], - "posts"=> - [...(Array of liquified Jekyll::Post objects)...] - } - } - - - -### Sitewide Custom Data - -Set sitewide custom data using the config file. - -Variables held in the config file get merged into the site variable. - - - - - -## Categories - -Categories may only be applied to posts and are available on a per-post basis as well as aggregated -in a sitewide global variable, i.e. all categories available for the website. - -When iterating over categories the order is alpha descending - -## Tags - -Tags may only be applied to posts and are available on a per-post basis as well as aggregated -in a sitewide global variable, i.e. all tags available for the website. - -When iterating over tags the order is alpha descending. diff --git a/_posts/core-samples/helpers/2011-9-27-posts-collate.md b/_posts/core-samples/helpers/2011-9-27-posts-collate.md deleted file mode 100644 index 1740bd7..0000000 --- a/_posts/core-samples/helpers/2011-9-27-posts-collate.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout : post -categories : helpers ---- - -The posts collate helper organizes and lists posts in month/year clusters. -The posts collate helper follows the [Jekyll-bootstrap include helper](/api/bootstrap-api.html) strategy. - -## Usage - -### Collate All Posts in Reverse Chronological Order - -By default all posts are organized in reverse-chronological order - newest to oldest. - -{% capture text %}|.% assign posts_collate = site.posts %.| -|.% include helpers/posts_collate.html %.|{% endcapture %} -{% include helpers/liquid_raw.html %} - - -### Collate a Sub-Set of Posts - -To collate a sub-set of posts, just pass in the sub-set. -Bellow, only posts tagged "jekyll" will be collated: - -{% capture text %}|.% assign posts_collate = site.tags.jekyll %.| -|.% include helpers/posts_collate.html %.|{% endcapture %} -{% include helpers/liquid_raw.html %} - - -## Source - -The source code is available at: - - ./_includes/helpers/posts_collate.html diff --git a/_posts/core-samples/helpers/2011-9-28-categories-list.md b/_posts/core-samples/helpers/2011-9-28-categories-list.md deleted file mode 100644 index a831980..0000000 --- a/_posts/core-samples/helpers/2011-9-28-categories-list.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout : post -categories : helpers ---- - -The categories list helper provides a convenient way to list categories. -The categories list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. - -## Usage - -### List Sitewide Categories - -List site-wide categories by passing in the `site.categories` variable: - -{% capture text %}
                        - |.% assign categories_list = site.categories %.| - |.% include helpers/categories_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -### List Categories for a Specific Post - -You can also list categories specific to a post: - -{% capture text %}
                        - |.% assign categories_list = page.categories %.| - |.% include helpers/categories_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -### List Categories Per Post Iteratively - -Finally let's iterate through all posts: - -{% capture text %}|.% for post in site.posts %.| -

                      Categories for: |.{post.title}.|

                      -
                        - |.% assign categories_list = post.categories %.| - |.% include helpers/categories_list.html %.| -
                      -|.% endfor %.|{% endcapture %} -{% include helpers/liquid_raw.html %} - - -## Source - -The source code is available at: - - ./_includes/helpers/categories_list.html \ No newline at end of file diff --git a/_posts/core-samples/helpers/2011-9-29-pages-list.md b/_posts/core-samples/helpers/2011-9-29-pages-list.md deleted file mode 100644 index dcdc4e0..0000000 --- a/_posts/core-samples/helpers/2011-9-29-pages-list.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout : post -categories : helpers ---- - -The pages list helper provides a convenient way to list pages. -The pages list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. - -## Usage - -### List All Pages - -{% capture text %}
                        - |.% assign pages_list = site.pages %.| - |.% include helpers/pages_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -### List Pages From a Sub-Group - -Pages cannot have categories. However we can setup a similar functionality -by manually associating a page to a "group". Do this in the page's yaml front matter: - - --- - layout: default - title: A Nice Title - group: project - --- - -You then pass the group name to the pages\_list helper: - -{% capture text %}
                        - |.% assign pages_list = site.pages %.| - |.% assign group = 'project' %.| - |.% include helpers/pages_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -## Source - -The source code is available at: - - ./_includes/helpers/pages_list.html diff --git a/_posts/core-samples/helpers/2011-9-30-tags-list.md b/_posts/core-samples/helpers/2011-9-30-tags-list.md deleted file mode 100644 index 9ddaf53..0000000 --- a/_posts/core-samples/helpers/2011-9-30-tags-list.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -layout : post -categories : helpers ---- - -The tag list helper lists tags and their total counts. -The tag list helper follows the [Jekyll-bootstrap include helper](/lessons/bootstrap-api.html) strategy. - -## Usage - -### List Sitewide Tags - -You can list sitewide tags by passing in the `site.tags` variable: - -{% capture text %}
                        - |.% assign tags_list = site.tags %.| - |.% include helpers/tags_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -### List Tags for a Specific Post - -You can also list tags specific to a post: - -{% capture text %}
                        - |.% assign tags_list = page.tags %.| - |.% include helpers/tags_list.html %.| -
                      {% endcapture %} -{% include helpers/liquid_raw.html %} - -### List Tags Per Post Iteratively - -Finally let's iterate through all posts: - -{% capture text %}|.% for post in site.posts %.| -

                      Tags for: |.{post.title}.|

                      -
                        - |.% assign tags_list = post.tags %.| - |.% include helpers/tags_list.html %.| -
                      -|.% endfor %.|{% endcapture %} -{% include helpers/liquid_raw.html %} - -## Source - -The source code is available at: - - ./_includes/helpers/tags_list.html - - diff --git a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md b/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md deleted file mode 100644 index 638ff25..0000000 --- a/_posts/core-samples/usage/2011-10-28-deployment-and-hosting.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: post -categories : usage ---- - -Deploying a jekyll-based website comes in two flavors. -You can deploy to GitHub Pages or you can deploy to your own custom server. - -## Deploy Jekyll to GitHub Pages - -You can deploy Jekyll to your GitHub account and GitHub will parse your repo through Jekyll and host the result on username.github.com -This is very nice of GitHub and the most convenient strategy. -However you cannot extend jekyll via plugins with this version because GitHub will not run them for security reasons. - -[GitHub Pages](http://pages.github.com) provides a comprehension tutorial to deploying your Jekyll repository to GitHub Pages. - - -### Jekyll-Bootstrap is Built to Run on GitHub Pages. - itself, is running via GitHub pages. -You can see that this website is also available at: . - -If you follow the development practices outlined in Jekyll-bootstrap all you have to do is -clone the jekyll-bootstrap framework, clear out the posts and pages and add in your own content. -Then push this to github as per the [GitHub Pages](http://pages.github.com) tutorial. - -Please [contact me](http://plusjade.com) if you run into any trouble. - - -## Deploy Jekyll to Your Custom Server - -The main reason you'd want to host your website yourself is because you can then run custom plugins and customize Jekyll to your heart's content. - -Please see the original docs for [custom Jekyll deployment strategies](https://github.com/mojombo/jekyll/wiki/Deployment). - - - diff --git a/_posts/core-samples/usage/2011-10-29-configuring-urls.md b/_posts/core-samples/usage/2011-10-29-configuring-urls.md deleted file mode 100644 index efc9140..0000000 --- a/_posts/core-samples/usage/2011-10-29-configuring-urls.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout : post -categories : usage -tags : [permalinks, urls] ---- - -URL configuration is an important aspect of Jekyll as users usually require -total control over how links to their content are handled. Fortunately Jekyll provides extensive customization options as to how your permalinks will be generated: - -[Jekyll Permalinks](https://github.com/mojombo/jekyll/wiki/Permalinks) - -## Jekyll-Bootstrap's URL Configuration - -A peek into `_config.yml` notes that Jekyll-bootrap uses this configuration: - - permalink: /:categories/:title.html - - -This means any category specified on a post will be included within the url, followed by the post title. - -Traditionally a blog will namespace its post by date, for example: - - permalink: /:categories/:year/:month/:day/:title/ - - -Play around with what url configuration works best for you. \ No newline at end of file diff --git a/_posts/core-samples/usage/2011-10-30-jekyll-theming.md b/_posts/core-samples/usage/2011-10-30-jekyll-theming.md deleted file mode 100644 index c22616d..0000000 --- a/_posts/core-samples/usage/2011-10-30-jekyll-theming.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: post -categories : usage ---- - - -## Creating Your Layout - -Jekyll-bootstrap uses [twitter bootstrap](http://twitter.github.com/bootstrap) to provide the layout structure. -This is because I am not a designer. (designers please contribute themes to Jekyll-bootstrap!) - -To get up and running the fastest you might just take a peak at the twitter bootstrap design elements -and setup a quick template that you are happy with. - - -### Static Assets - -The `assets` folder follows a logical structure: -`css` folder contain css, `javascripts` folder contain javascript files etc. -You can link to these static assets following the logical directory path. - -### Create a Base Template - -The base template in Jekyll-bootstrap is at: `/_layouts/default.html` -You can see how the global layout is defined and how assets are linked to. - -### Create a Post Template - -The post template in Jekyll-bootstrap is at: `/_layouts/post.html` -This template is a sub-template that all posts refer to. You can see the post template defines -the default template its parent layout. diff --git a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md b/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md deleted file mode 100644 index 516e6ed..0000000 --- a/_posts/core-samples/usage/2011-10-31-jekyll-quick-start.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -layout: post -categories : usage ---- - - -## 1. Install Jekyll-Bootstrap - -[Install Jekyll-Bootsrap](/index.html#start-now) if you haven't already. -Jekyll-bootstrap is a clean base framework for your blog. -It includes two themes, some useful pages, and bootstrap include-helpers. - -## 2. Run Jekyll Locally - -In order to preview your blog locally you'll need to install the jekyll gem. Note gem dependencies will also be installed. - - $ gem install jekyll - -If you run into a problem please consult the original [Jekyll installation documentation](https://github.com/mojombo/jekyll/wiki/Install). -You can also [contact me](http://github.com/plusjade) through github. - -Once the gem is installed you can navigate to your Jekyll-bootstrap directory -and run jekyll: - - $ cd jekyll-bootstrap - $ jekyll --server - -Your blog is now available at: [http://localhost:4000/](http://localhost:4000/). - - -## 2. Choose a Theme - -Jekyll-bootstrap has a basic theming system that I'll be steadily improving. -You can read about how to choose and customize a theme in the [Theming](/usages/theming.html) section. - -## 3. Create Some Content - -### Create a Post - -Create a file with valid date and title in the filename and place it into the `_posts` folder. -Jekyll-bootstrap provides many post files for you to copy from to better understand the formatting requirements. - -### Create a Page - -Create a file anywhere in the root directory, for example `/about.md` and remember to provide -valid YAML Front Matter so Jekyll recognizes the file as a page. - -Jekyll-bootstrap provides many page examples for reference. -You can study the source and customize it for your own needs. - -
                        -{% assign pages_list = site.pages %} -{% include helpers/pages_list.html %} -
                      - - -## 4. Publish - -After you've added posts or made changes to your theme or other files, simply commit them to your git repo and push the commits up to GitHub. - -A GitHub post-commit hook will automatically deploy your changes to your hosted blog. You will receive a success or failure notice for every commit you make to your blog. - -## 5. Customize - -Jekyll-bootstrap can be used as-is as a basic blogging platform with little need -to understand what's going on under the hood. - -However I'm betting you want to get your hands dirty. -The following outlines the deeper Jekyll-Bootstrap documentation. - -### Jekyll Introduction - -The [{{site.categories.lessons.first.title}}]({{site.categories.lessons.first.url}}) is meant for core understanding of how and why Jekyll works the way it does. -You must start with this in order to understand everything else in Jekyll-Bootstrap. - -### The API Section - -The API pages document main data-structures and design strategies used in Jekyll and Jekyll-Bootstrap. - - From 07eb4d166aebbedd322ac91f101967c63bd41d6c Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Thu, 19 Jan 2012 04:06:04 -0800 Subject: [PATCH 031/124] don't process rakefile, readme --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 9df5c66..79c9d24 100644 --- a/_config.yml +++ b/_config.yml @@ -19,4 +19,4 @@ author : twitter : username feedbuder : feedname -exclude: .rbenv-version +exclude: [".rbenv-version", "README.md", "Rakefile"] From 80595af54f7325ce67393245b11f87a352dc1efa Mon Sep 17 00:00:00 2001 From: jayraj Date: Thu, 19 Jan 2012 09:49:56 -0500 Subject: [PATCH 032/124] fixed incorrect link to jekyll bootstrap homepage --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 40ab32c..44414ba 100644 --- a/index.md +++ b/index.md @@ -5,7 +5,7 @@ title: Hello World! Read [Jekyll Quick Start](http://jekyllbootstrap.com/jekyll-quick-start.html) -Complete usage and documentation available at: [Jekyll Bootstrap](http://jekyllboostrap.com) +Complete usage and documentation available at: [Jekyll Bootstrap](http://jekyllbootstrap.com) ## Update Author Attributes From bb8ec4c8bcfc77de2bbe50f46ba71b78de13b8ea Mon Sep 17 00:00:00 2001 From: christine Date: Thu, 19 Jan 2012 16:02:38 -0800 Subject: [PATCH 033/124] Fixed typo: title should be "Jekyll Bootstrap" --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 9df5c66..012a581 100644 --- a/_config.yml +++ b/_config.yml @@ -10,7 +10,7 @@ var: rss_path: /atom.xml production_url : http://username.github.com # or your custom domain name -title : Jekyll Boostrap +title : Jekyll Bootstrap author : name : Name Lastname From 5efb7228ceae0c0534fe6cabfac1f07c13df9cb0 Mon Sep 17 00:00:00 2001 From: jayraj Date: Fri, 20 Jan 2012 22:41:29 -0500 Subject: [PATCH 034/124] fixed broken link for jekyll quick start on index.md. checked and made sure there are no more broken links on that page --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 44414ba..37b7210 100644 --- a/index.md +++ b/index.md @@ -3,7 +3,7 @@ layout: page title: Hello World! --- -Read [Jekyll Quick Start](http://jekyllbootstrap.com/jekyll-quick-start.html) +Read [Jekyll Quick Start](http://jekyllbootstrap.com/usage/jekyll-quick-start.html) Complete usage and documentation available at: [Jekyll Bootstrap](http://jekyllbootstrap.com) From 241a51205393082f4350bcf63fc5b8b96da26b2b Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 20 Jan 2012 22:38:56 -0800 Subject: [PATCH 035/124] fix typo --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index c6a03cf..9d7c129 100644 --- a/_config.yml +++ b/_config.yml @@ -17,6 +17,6 @@ author : email : blah@email.test github : username twitter : username - feedbuder : feedname + feedburner : feedname exclude: [".rbenv-version", "README.md", "Rakefile"] From 7a0b1ed6897c21181b94743ca88af6332c74315e Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 20 Jan 2012 23:19:17 -0800 Subject: [PATCH 036/124] Add new Integration points for themes The new system will try to namespace all framework integrations with 'JB'. Integration points added in this comment are 'analytics', 'comments', and 'sharing'. --- _includes/JB/analytics | 12 ++++++++++++ _includes/JB/analytics-engines/getclicky.html | 12 ++++++++++++ _includes/JB/analytics-engines/google.html | 11 +++++++++++ _includes/JB/comments | 16 ++++++++++++++++ _includes/JB/comments-engines/disqus.html | 13 +++++++++++++ _includes/JB/comments-engines/facebook.html | 1 + _includes/JB/comments-engines/intensedebate.html | 6 ++++++ _includes/JB/comments-engines/livfyre.html | 6 ++++++ _includes/JB/sharing | 8 ++++++++ 9 files changed, 85 insertions(+) create mode 100644 _includes/JB/analytics create mode 100644 _includes/JB/analytics-engines/getclicky.html create mode 100644 _includes/JB/analytics-engines/google.html create mode 100644 _includes/JB/comments create mode 100644 _includes/JB/comments-engines/disqus.html create mode 100644 _includes/JB/comments-engines/facebook.html create mode 100644 _includes/JB/comments-engines/intensedebate.html create mode 100644 _includes/JB/comments-engines/livfyre.html create mode 100644 _includes/JB/sharing diff --git a/_includes/JB/analytics b/_includes/JB/analytics new file mode 100644 index 0000000..201eeb3 --- /dev/null +++ b/_includes/JB/analytics @@ -0,0 +1,12 @@ +{% if site.safe and site.JB.analytics.engine and page.JB.analytics != false %} + +{% case site.JB.analytics.engine %} +{% when "google" %} + {% include JB/analytics-engines/google.html %} +{% when "getclicky" %} + {% include JB/analytics-engines/getclicky.html %} +{% when "custom" %} + {% include custom/analytics.html %} +{% endcase %} + +{% endif %} \ No newline at end of file diff --git a/_includes/JB/analytics-engines/getclicky.html b/_includes/JB/analytics-engines/getclicky.html new file mode 100644 index 0000000..a9a5fd9 --- /dev/null +++ b/_includes/JB/analytics-engines/getclicky.html @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/_includes/JB/analytics-engines/google.html b/_includes/JB/analytics-engines/google.html new file mode 100644 index 0000000..9014866 --- /dev/null +++ b/_includes/JB/analytics-engines/google.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/_includes/JB/comments b/_includes/JB/comments new file mode 100644 index 0000000..088f5b2 --- /dev/null +++ b/_includes/JB/comments @@ -0,0 +1,16 @@ +{% if site.JB.comments.engine and page.JB.comments != false %} + +{% case site.JB.comments.engine %} +{% when "disqus" %} + {% include JB/comments-engines/disqus.html %} +{% when "livefyre" %} + {% include JB/comments-engines/livefyre.html %} +{% when "intensedebate" %} + {% include JB/comments-engines/intensedebate.html %} +{% when "facebook" %} + {% include JB/comments-engines/facebook.html %} +{% when "custom" %} + {% include custom/comments.html %} +{% endcase %} + +{% endif %} \ No newline at end of file diff --git a/_includes/JB/comments-engines/disqus.html b/_includes/JB/comments-engines/disqus.html new file mode 100644 index 0000000..f6dd3a9 --- /dev/null +++ b/_includes/JB/comments-engines/disqus.html @@ -0,0 +1,13 @@ +
                      + + +blog comments powered by Disqus diff --git a/_includes/JB/comments-engines/facebook.html b/_includes/JB/comments-engines/facebook.html new file mode 100644 index 0000000..f8c7d21 --- /dev/null +++ b/_includes/JB/comments-engines/facebook.html @@ -0,0 +1 @@ +

                      Facebook comments TODO!

                      \ No newline at end of file diff --git a/_includes/JB/comments-engines/intensedebate.html b/_includes/JB/comments-engines/intensedebate.html new file mode 100644 index 0000000..ab0c3c9 --- /dev/null +++ b/_includes/JB/comments-engines/intensedebate.html @@ -0,0 +1,6 @@ + + diff --git a/_includes/JB/comments-engines/livfyre.html b/_includes/JB/comments-engines/livfyre.html new file mode 100644 index 0000000..704b803 --- /dev/null +++ b/_includes/JB/comments-engines/livfyre.html @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/_includes/JB/sharing b/_includes/JB/sharing new file mode 100644 index 0000000..3dbceca --- /dev/null +++ b/_includes/JB/sharing @@ -0,0 +1,8 @@ +{% if site.safe and site.JB.sharing.engine and page.JB.sharing != false %} + +{% case site.JB.sharing.engine %} +{% when "custom" %} + {% include custom/sharing.html %} +{% endcase %} + +{% endif %} \ No newline at end of file From df5bedb4240a2b617f7dd2528fc35ccc5227ffed Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 20 Jan 2012 23:20:22 -0800 Subject: [PATCH 037/124] Add JB configuration hash to site config --- _config.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/_config.yml b/_config.yml index 9d7c129..c63f811 100644 --- a/_config.yml +++ b/_config.yml @@ -20,3 +20,28 @@ author : feedburner : feedname exclude: [".rbenv-version", "README.md", "Rakefile"] + +# Jekyll-Bootstrap configurations +JB : + comments : + engine : disqus + disqus : + short_name : jekyllbootstrap + livefyre : + site_id : 123 + intensedebate : + account : 123abc + facebook : + apikey : 123 + + + analytics : + engine : google + google : + tracking_id : 'UA-123-12' + getclicky : + site_id : + + + sharing : + engine : false \ No newline at end of file From 45b894f0af391c5769355ed63876fd879e82fab4 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 20 Jan 2012 23:32:32 -0800 Subject: [PATCH 038/124] Update themes to use new integration methods --- _includes/production/analytics.html | 5 ----- _includes/themes/mark-reid/default.html | 5 ++--- _includes/themes/mark-reid/post.html | 5 +---- _includes/themes/the-minimum/default.html | 5 ++--- _includes/themes/the-minimum/post.html | 3 +++ _includes/themes/tom/default.html | 4 +--- _includes/themes/tom/post.html | 4 +++- _includes/themes/twitter/default.html | 1 + _includes/themes/twitter/post.html | 2 ++ 9 files changed, 15 insertions(+), 19 deletions(-) delete mode 100644 _includes/production/analytics.html diff --git a/_includes/production/analytics.html b/_includes/production/analytics.html deleted file mode 100644 index 3f12c6a..0000000 --- a/_includes/production/analytics.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/_includes/themes/mark-reid/default.html b/_includes/themes/mark-reid/default.html index 835a4bc..b8a0482 100644 --- a/_includes/themes/mark-reid/default.html +++ b/_includes/themes/mark-reid/default.html @@ -68,8 +68,7 @@

                      -{% if site.safe %} - {% include production/analytics.html %} -{% endif %} + + {% include JB/analytics %} diff --git a/_includes/themes/mark-reid/post.html b/_includes/themes/mark-reid/post.html index 76dd994..af7ffd3 100644 --- a/_includes/themes/mark-reid/post.html +++ b/_includes/themes/mark-reid/post.html @@ -25,7 +25,4 @@

                      {{ page.title }}

              - -
              -

              Comment Section

              -
              +{% include JB/comments %} diff --git a/_includes/themes/the-minimum/default.html b/_includes/themes/the-minimum/default.html index 140d21e..95b0404 100644 --- a/_includes/themes/the-minimum/default.html +++ b/_includes/themes/the-minimum/default.html @@ -77,8 +77,7 @@

              about

              /*! A fix for the iOS orientationchange zoom bug.Script by @scottjehl, rebound by @wilto. MIT License.*/ (function(j){var i=j.document;if(!i.querySelectorAll){return}var l=i.querySelectorAll("meta[name=viewport]")[0],a=l&&l.getAttribute("content"),h=a+", maximum-scale=1.0",d=a+", maximum-scale=10.0",g=true,c=j.orientation,k=0;if(!l){return}function f(){l.setAttribute("content",d);g=true}function b(){l.setAttribute("content",h);g=false}function e(m){c=Math.abs(j.orientation);k=Math.abs(m.gamma);if(k>8&&c===0){if(g){b()}}else{if(!g){f()}}}j.addEventListener("orientationchange",f,false);j.addEventListener("deviceorientation",e,false)})(this); -{% if site.safe %} - {% include production/analytics.html %} -{% endif %} + + {% include JB/analytics %} diff --git a/_includes/themes/the-minimum/post.html b/_includes/themes/the-minimum/post.html index cf5712e..9b5316b 100644 --- a/_includes/themes/the-minimum/post.html +++ b/_includes/themes/the-minimum/post.html @@ -40,7 +40,10 @@

              {{ page.title }}

            + + {% include JB/comments %} +
            diff --git a/_includes/themes/tom/default.html b/_includes/themes/tom/default.html index 2c43e6b..bbd019f 100644 --- a/_includes/themes/tom/default.html +++ b/_includes/themes/tom/default.html @@ -53,8 +53,6 @@
            Fork me on GitHub -{% if site.safe %} - {% include production/analytics.html %} -{% endif %} + {% include JB/analytics %} diff --git a/_includes/themes/tom/post.html b/_includes/themes/tom/post.html index fc94e5e..088407a 100644 --- a/_includes/themes/tom/post.html +++ b/_includes/themes/tom/post.html @@ -14,4 +14,6 @@

            Related Posts

          • {{ post.date | date_to_string }} » {{ post.title }}
          • {% endfor %}
          - \ No newline at end of file + + +{% include JB/comments %} \ No newline at end of file diff --git a/_includes/themes/twitter/default.html b/_includes/themes/twitter/default.html index d149bd5..df70385 100644 --- a/_includes/themes/twitter/default.html +++ b/_includes/themes/twitter/default.html @@ -54,5 +54,6 @@ + {% include JB/analytics %} diff --git a/_includes/themes/twitter/post.html b/_includes/themes/twitter/post.html index 81b0931..591cbca 100644 --- a/_includes/themes/twitter/post.html +++ b/_includes/themes/twitter/post.html @@ -21,6 +21,8 @@

          {{ page.title }} Supporting tagline

          {% endif %}
        +
        + {% include JB/comments %}
        From 61cdb7a8031d1c99c222c4242e199a31c42dabb8 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Fri, 20 Jan 2012 23:37:40 -0800 Subject: [PATCH 039/124] Themes can define configuration data Themes can define a 'settings.yml' file which will get injected into the root default.html layout YAML Front Matter which can be accessed through the 'page' variable. --- Rakefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Rakefile b/Rakefile index f55c099..8fd3539 100644 --- a/Rakefile +++ b/Rakefile @@ -35,16 +35,20 @@ end # task :new_post desc "Switch between Jekyll-bootstrap themes." task :switch_theme, :theme do |t, args| theme_path = File.join(CONFIG['themes'], args.theme) + settings_file = File.join(theme_path, "settings.yml") + non_layout_files = ["settings.yml"] abort("rake aborted: '#{CONFIG['themes']}/#{args.theme}' directory not found.") unless FileTest.directory?(theme_path) abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts']) Dir.glob("#{theme_path}/*") do |filename| + next if non_layout_files.include?(File.basename(filename).downcase) puts "Generating '#{args.theme}' layout: #{File.basename(filename)}" open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page| if File.basename(filename, ".html").downcase == "default" page.puts "---" + page.puts File.read(settings_file) if File.exist?(settings_file) page.puts "---" page.puts "{% assign theme_asset_path = \"/assets/themes/#{args.theme}\" %}" else From 75fa188fa728afea2ad53925b77e317d9b134417 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Sat, 21 Jan 2012 18:08:35 -0800 Subject: [PATCH 040/124] Add ability to dynamically set url paths This makes GitHub Pages for projects support possible as all urls will need to call on the project's subfolder. The other important piece is that urls should resolve to root locally but be able to change when in production. LLastly this gives themes clear integration points for working with paths. (the jbcache hack just makes it so there is not unnecessary whitespace output in the source. --- _includes/JB/set_paths | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 _includes/JB/set_paths diff --git a/_includes/JB/set_paths b/_includes/JB/set_paths new file mode 100644 index 0000000..890f2d8 --- /dev/null +++ b/_includes/JB/set_paths @@ -0,0 +1,20 @@ +{% capture jbcache %} + + + {% if site.safe and site.JB.BASE_PATH %} + {% assign BASE_PATH = site.JB.BASE_PATH %} + {% assign HOME_URL = site.JB.BASE_PATH %} + {% else %} + {% assign BASE_PATH = "" %} + {% assign HOME_URL = "/" %} + {% endif %} + + {% if site.JB.ASSET_PATH %} + {% assign ASSET_PATH = site.JB.ASSET_PATH %} + {% else %} + {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %} + {% endif %} + +{% endcapture %}{% assign jbcache = null %} \ No newline at end of file From fe33e5180c3a9e9ede03d36c758c47fcd1dee406 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Sat, 21 Jan 2012 18:09:53 -0800 Subject: [PATCH 041/124] Provide set_paths to all layouts --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 8fd3539..3978585 100644 --- a/Rakefile +++ b/Rakefile @@ -50,12 +50,12 @@ task :switch_theme, :theme do |t, args| page.puts "---" page.puts File.read(settings_file) if File.exist?(settings_file) page.puts "---" - page.puts "{% assign theme_asset_path = \"/assets/themes/#{args.theme}\" %}" else page.puts "---" page.puts "layout: default" page.puts "---" end + page.puts "{% include JB/set_paths %}" page.puts "{% include themes/#{args.theme}/#{File.basename(filename)} %}" end end From 3f7fd7b4f22cc7429c2e38bac60402e5cf7e9fbc Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Sat, 21 Jan 2012 18:11:37 -0800 Subject: [PATCH 042/124] Provide path configuration in _config.yml --- _config.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/_config.yml b/_config.yml index c63f811..d6f681c 100644 --- a/_config.yml +++ b/_config.yml @@ -23,6 +23,25 @@ exclude: [".rbenv-version", "README.md", "Rakefile"] # Jekyll-Bootstrap configurations JB : + + # All links will be namespaced by BASE_PATH if defined. + # This is required for hosting GitHub Project Pages. + # If you are deploying this website for one of your GitHub projects + # you must set BASE_PATH to the name of your GitHub project. + # + BASE_PATH : "/narly" + + # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme. + # ex: [BASE_PATH]/assets/themes/[THEME-NAME] + # + # Override this by defining an absolute path to assets here. + # ex: + # http://s3.amazonaws.com/yoursite/themes/watermelon + # /assets + # + ASSET_PATH : false + + comments : engine : disqus disqus : From 71278b8a3a1d7674349a4ff2b386818851a8661e Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Sat, 21 Jan 2012 18:13:39 -0800 Subject: [PATCH 043/124] Need to provide theme name via settings.yml --- _includes/themes/mark-reid/settings.yml | 2 ++ _includes/themes/the-minimum/settings.yml | 2 ++ _includes/themes/tom/settings.yml | 2 ++ _includes/themes/twitter/settings.yml | 2 ++ 4 files changed, 8 insertions(+) create mode 100644 _includes/themes/mark-reid/settings.yml create mode 100644 _includes/themes/the-minimum/settings.yml create mode 100644 _includes/themes/tom/settings.yml create mode 100644 _includes/themes/twitter/settings.yml diff --git a/_includes/themes/mark-reid/settings.yml b/_includes/themes/mark-reid/settings.yml new file mode 100644 index 0000000..68ca3d8 --- /dev/null +++ b/_includes/themes/mark-reid/settings.yml @@ -0,0 +1,2 @@ +theme : + name : mark-reid \ No newline at end of file diff --git a/_includes/themes/the-minimum/settings.yml b/_includes/themes/the-minimum/settings.yml new file mode 100644 index 0000000..2d4ce2c --- /dev/null +++ b/_includes/themes/the-minimum/settings.yml @@ -0,0 +1,2 @@ +theme : + name : the-minimum \ No newline at end of file diff --git a/_includes/themes/tom/settings.yml b/_includes/themes/tom/settings.yml new file mode 100644 index 0000000..5c24099 --- /dev/null +++ b/_includes/themes/tom/settings.yml @@ -0,0 +1,2 @@ +theme : + name : tom \ No newline at end of file diff --git a/_includes/themes/twitter/settings.yml b/_includes/themes/twitter/settings.yml new file mode 100644 index 0000000..7ca7b73 --- /dev/null +++ b/_includes/themes/twitter/settings.yml @@ -0,0 +1,2 @@ +theme : + name : twitter \ No newline at end of file From b01624b217f54246efc999787d60ed789d5105f2 Mon Sep 17 00:00:00 2001 From: Jade Dominguez Date: Sat, 21 Jan 2012 18:15:00 -0800 Subject: [PATCH 044/124] Update themes and pages to new paths api --- _includes/helpers/categories_list.html | 4 ++-- _includes/helpers/pages_list.html | 4 ++-- _includes/helpers/posts_collate.html | 2 +- _includes/helpers/tags_list.html | 4 ++-- _includes/themes/mark-reid/default.html | 12 ++++++------ _includes/themes/mark-reid/post.html | 2 +- _includes/themes/the-minimum/default.html | 4 ++-- _includes/themes/tom/default.html | 6 +++--- _includes/themes/twitter/default.html | 6 +++--- _includes/themes/twitter/post.html | 6 +++--- .../core-samples/2011-12-29-jekyll-introduction.md | 4 ++-- index.md | 2 +- 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/_includes/helpers/categories_list.html b/_includes/helpers/categories_list.html index 2ced2d2..ae5e6b5 100644 --- a/_includes/helpers/categories_list.html +++ b/_includes/helpers/categories_list.html @@ -19,13 +19,13 @@ {% if categories_list.first[0] == null %} {% for category in categories_list %} -
      • +
      • {{ category | join: "/" }} {{ site.categories[category].size }}
      • {% endfor %} {% else %} {% for category in categories_list %} -
      • +
      • {{ category[0] | join: "/" }} {{ category[1].size }}
      • {% endfor %} diff --git a/_includes/helpers/pages_list.html b/_includes/helpers/pages_list.html index 0e42820..0e9ba87 100644 --- a/_includes/helpers/pages_list.html +++ b/_includes/helpers/pages_list.html @@ -25,9 +25,9 @@ {% if group == null or group == node.group %} {% if page.url == node.url %} -
      • {{node.title}}
      • +
      • {{node.title}}
      • {% else %} -
      • {{node.title}}
      • +
      • {{node.title}}
      • {% endif %} {% endif %} diff --git a/_includes/helpers/posts_collate.html b/_includes/helpers/posts_collate.html index 210bd03..42adef7 100644 --- a/_includes/helpers/posts_collate.html +++ b/_includes/helpers/posts_collate.html @@ -29,7 +29,7 @@

        {{this_month}}

        diff --git a/_includes/helpers/tags_list.html b/_includes/helpers/tags_list.html index d2518e0..f0ee45f 100644 --- a/_includes/helpers/tags_list.html +++ b/_includes/helpers/tags_list.html @@ -19,11 +19,11 @@ {% if tags_list.first[0] == null %} {% for tag in tags_list %} -
      • {{ tag }} {{ site.tags[tag].size }}
      • +
      • {{ tag }} {{ site.tags[tag].size }}
      • {% endfor %} {% else %} {% for tag in tags_list %} -
      • {{ tag[0] }} {{ tag[1].size }}
      • +
      • {{ tag[0] }} {{ tag[1].size }}
      • {% endfor %} {% endif %} diff --git a/_includes/themes/mark-reid/default.html b/_includes/themes/mark-reid/default.html index b8a0482..8702b44 100644 --- a/_includes/themes/mark-reid/default.html +++ b/_includes/themes/mark-reid/default.html @@ -7,7 +7,7 @@ {{ page.title }} ← {{ page.top }} - + {% if page.keywords %} @@ -18,10 +18,10 @@ {% endif %} - + - + @@ -29,11 +29,11 @@