diff --git a/.travis.yml b/.travis.yml index 01ebd928..2c99fda9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ install: - script/rebund download - travis_retry bundle install --path vendor/bundle rvm: -- 2.1.0 +- 2.1.1 - 2.0.0 - 1.9.3 script: script/cibuild diff --git a/History.markdown b/History.markdown index 8dacc2e9..e2cdf17c 100644 --- a/History.markdown +++ b/History.markdown @@ -1,5 +1,60 @@ ## HEAD +### Major Enhancements + +### Minor Enhancements + +### Bug Fixes + +### Development Fixes + +### Site Enhancements + +## 2.0.3 / 2014-05-08 + +### Bug Fixes + + * Properly prefix links in site template with URL or baseurl depending upon + need. (#2319) + * Update gist tag comments and error message to require username (#2326) + * Fix `permalink` setting in site template (#2331) + * Don't fail if any of the path objects are nil (#2325) + * Instantiate all descendants for converters and generators, not just + direct subclasses (#2334) + * Replace all instances of `site.name` with `site.title` in site template (#2324) + * `Jekyll::Filters#time` now accepts UNIX timestamps in string or number form (#2339) + * Use `item_property` for `where` filter so it doesn't break on collections (#2359) + * Rescue errors thrown so `--watch` doesn't fail (#2364) + +### Site Enhancements + + * Add missing "as" to assets docs page (#2337) + * Update docs to reflect new `baseurl` default (#2341) + * Add links to headers who have an ID. (#2342) + * Use symbol instead of HTML number in `upgrading.md` (#2351) + * Fix link to frontmatter defaults docs (#2353) + * Fix for `History.markdown` in order to fix history page in docs (#2363) + +## 2.0.2 / 2014-05-07 + +### Bug Fixes + + * Correct use of `url` and `baseurl` in the site template. (#2317) + * Default `baseurl` to `""` (#2317) + +### Site Enhancements + + * Correct docs for the `gist` plugin so it always includes the username. (#2314) + * Clarify new (defaults, `where` filter) features in docs (#2316) + +## 2.0.1 / 2014-05-06 + +### Bug Fixes + + * Require `kramdown` gem instead of `maruku` gem + +## 2.0.0 / 2014-05-06 + ### Major Enhancements * Add "Collections" feature (#2199) * Add gem-based plugin whitelist to safe mode (#1657) @@ -18,6 +73,8 @@ * Complete redesign of the template site generated by `jekyll new` (#2050) * Update Listen from 1.x to 2.x (#2097) * Front-matter defaults (#2205) + * Deprecate `relative_permalinks` configuration option (default to `false`) (#2307) + * Exclude files based on prefix as well as `fnmatch?` (#2303) ### Minor Enhancements * Move the EntryFilter class into the Jekyll module to avoid polluting the @@ -64,6 +121,12 @@ * Add the ability for pages to be marked as `published: false` (#1492) * Add `Jekyll::LiquidExtensions` with `.lookup_variable` method for easy looking up of variable values in a Liquid context. (#2253) + * Remove literal lang name from class (#2292) + * Return `utf-8` encoding in header for webrick error page response (#2289) + * Make template site easier to customize (#2268) + * Add two-digit year to permalink template option (#2301) + * Add `site.documents` to Liquid payload (list of all docs) (#2295) + * Take into account missing values in the Liquid sort filter (#2299) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) @@ -96,6 +159,9 @@ * Convert input to string before XML escaping (`xml_escape` liquid filter) (#2244) * Modify configuration key for Collections and reset properly. (#2238) * Avoid duplicated output using `highlight` tag (#2264) + * Only use Jekyll.logger for output (#2307) + * Close the file descriptor in `has_yaml_header?` (#2310) + * Add `output` to `Document` liquid output hash (#2309) ### Development Fixes * Add a link to the site in the README.md file (#1795) @@ -126,10 +192,11 @@ * Extract plugin management into its own class (#2197) * Add missing tests for `Command` (#2216) * Update `rr` link in CONTRIBUTING doc (#2247) - * Streamline cucumber execution of `jekyll` subcommands (#2258) + * Streamline Cucumber execution of `jekyll` subcommands (#2258) * Refactor `Commands::Serve`. (#2269) * Refactor `highlight` tag (#2154) * Update `Util` hash functions with latest from Rails (#2273) + * Workaround for Travis bug (#2290) ### Site Enhancements * Document Kramdown's GFM parser option (#1791) @@ -201,6 +268,17 @@ * Add `jekyll-live-tiles` to list of third-party plugins (#2250) * Fixed broken link to GitHub training material site source (#2257) * Update link to help repo, now called `jekyll-help` (#2277) + * Fix capitalization of 'Jekyll' on Deployment Methods page (#2291) + * Include plugins by sonnym in list of third-party plugins (#2297) + * Add deprecated articles keeper filter to list of third-party plugins (#2300) + * Simplify and improve our CSS. (#2127) + * Use black text color for the mobile navbar (#2306) + * Use the built in date filter and `site.time` for the copyright year. (#2305) + * Update html5shiv to v3.7.2 (#2304) + * Add 2.0.0 release post (#2298) + * Add docs for custom markdown processors (#2298) + * Add docs for `where` and `group_by` Liquid filters (#2298) + * Remove notes in docs for unreleased features (#2309) ## 1.5.1 / 2014-03-27 @@ -346,7 +424,7 @@ * Refactor Site#render (#1638) * Remove duplication in command line options (#1637) * Add tests for all the coderay options (#1543) - * Improve some of the cucumber test code (#1493) + * Improve some of the Cucumber test code (#1493) * Improve comparisons of timestamps by ignoring the seconds (#1582) ### Site Enhancements @@ -516,7 +594,7 @@ * Latest posts first in non-LSI `related_posts` (#1271) ### Development Fixes - * Merge the theme and layout cucumber steps into one step (#1151) + * Merge the theme and layout Cucumber steps into one step (#1151) * Restrict activesupport dependency to pre-4.0.0 to maintain compatibility with `<= 1.9.2` * Include/exclude deprecation handling simplification (#1284) * Convert README to Markdown. (#1267) @@ -546,7 +624,7 @@ * Update contributor information (#1192) * Update URL of article about Blogger migration (#1242) * Specify that RedCarpet is the default for new Jekyll sites on Quickstart page (#1247) - * Added site.pages to Variables page in docs (#1251) + * Added `site.pages` to Variables page in docs (#1251) * Add Youku and Tudou Embed link on Plugins page. (#1250) * Add note that `gist` tag supports private gists. (#1248) * Add `jekyll-timeago` to list of third-party plugins. (#1260) @@ -564,7 +642,7 @@ ### Minor Enhancements * Add support to gist tag for private gists. (#1189) - * Fail loudly when MaRuKu errors out (#1190) + * Fail loudly when Maruku errors out (#1190) * Move the building of related posts into their own class (#1057) * Removed trailing spaces in several places throughout the code (#1116) * Add a `--force` option to `jekyll new` (#1115) @@ -630,7 +708,7 @@ ## 1.0.1 / 2013-05-08 ### Minor Enhancements - * Do not force use of toc_token when using generate_tok in RDiscount (#1048) + * Do not force use of `toc_token` when using `generate_tok` in RDiscount (#1048) * Add newer `language-` class name prefix to code blocks (#1037) * Commander error message now preferred over process abort with incorrect args (#1040) @@ -653,15 +731,15 @@ ## 1.0.0 / 2013-05-06 ### Major Enhancements - * Add `jekyll new` subcommand: generate a jekyll scaffold (#764) - * Refactored jekyll commands into subcommands: build, serve, and migrate. (#690) + * Add `jekyll new` subcommand: generate a Jekyll scaffold (#764) + * Refactored Jekyll commands into subcommands: build, serve, and migrate. (#690) * Removed importers/migrators from main project, migrated to jekyll-import sub-gem (#793) * Added ability to render drafts in `_drafts` folder via command line (#833) * Add ordinal date permalink style (/:categories/:year/:y_day/:title.html) (#928) ### Minor Enhancements * Site template HTML5-ified (#964) - * Use post's directory path when matching for the post_url tag (#998) + * Use post's directory path when matching for the `post_url` tag (#998) * Loosen dependency on Pygments so it's only required when it's needed (#1015) * Parse strings into Time objects for date-related Liquid filters (#1014) * Tell the user if there is no subcommand specified (#1008) @@ -675,7 +753,7 @@ * Expose new attribute to Liquid via `page`: `page.path` (#951) * Accept multiple config files from command line (#945) * Add page variable to liquid custom tags and blocks (#413) - * Add paginator.previous_page_path and paginator.next_page_path (#942) + * Add `paginator.previous_page_path` and `paginator.next_page_path` (#942) * Backwards compatibility for 'auto' (#821, #934) * Added date_to_rfc822 used on RSS feeds (#892) * Upgrade version of pygments.rb to 0.4.2 (#927) @@ -694,7 +772,7 @@ * Relaxed Kramdown version to 0.14 (#808) * Aliased `jekyll server` to `jekyll serve`. (#792) * Updated gem versions for Kramdown, Rake, Shoulda, Cucumber, and RedCarpet. (#744) - * Refactored jekyll subcommands into Jekyll::Commands submodule, which now contains them (#768) + * Refactored Jekyll subcommands into Jekyll::Commands submodule, which now contains them (#768) * Rescue from import errors in Wordpress.com migrator (#671) * Massively accelerate LSI performance (#664) * Truncate post slugs when importing from Tumblr (#496) @@ -709,7 +787,7 @@ * Paginate in subdirectories properly (#1016) * Ensure post and page URLs have a leading slash (#992) * Catch all exceptions, not just StandardError descendents (#1007) - * Bullet-proof limit_posts option (#1004) + * Bullet-proof `limit_posts` option (#1004) * Read in YAML as UTF-8 to accept non-ASCII chars (#836) * Fix the CLI option `--plugins` to actually accept dirs and files (#993) * Allow 'excerpt' in YAML Front-Matter to override the extracted excerpt (#946) @@ -721,10 +799,10 @@ * Force usage of older directory_watcher gem as 1.5 is broken (#883) * Ensure all Post categories are downcase (#842, #872) * Force encoding of the rdiscount TOC to UTF8 to avoid conversion errors (#555) - * Patch for multibyte URI problem with jekyll serve (#723) + * Patch for multibyte URI problem with `jekyll serve` (#723) * Order plugin execution by priority (#864) * Fixed Page#dir and Page#url for edge cases (#536) - * Fix broken post_url with posts with a time in their YAML Front-Matter (#831) + * Fix broken `post_url` with posts with a time in their YAML Front-Matter (#831) * Look for plugins under the source directory (#654) * Tumblr Migrator: finds `_posts` dir correctly, fixes truncation of long post names (#775) @@ -746,7 +824,7 @@ ### Development Fixes * Exclude Cucumber 1.2.4, which causes tests to fail in 1.9.2 (#938) * Added "features:html" rake task for debugging purposes, cleaned up - cucumber profiles (#832) + Cucumber profiles (#832) * Explicitly require HTTPS rubygems source in Gemfile (#826) * Changed Ruby version for development to 1.9.3-p374 from p362 (#801) * Including a link to the GitHub Ruby style guide in CONTRIBUTING.md (#806) @@ -756,6 +834,7 @@ * Switch to Simplecov for coverage report (#765) ## 0.12.1 / 2013-02-19 + ### Minor Enhancements * Update Kramdown version to 0.14.1 (#744) * Test Enhancements @@ -764,11 +843,12 @@ * Update Redcarpet version to 2.2.2 (#744) ## 0.12.0 / 2012-12-22 + ### Minor Enhancements * Add ability to explicitly specify included files (#261) - * Add --default-mimetype option (#279) + * Add `--default-mimetype` option (#279) * Allow setting of RedCloth options (#284) - * Add post_url Liquid tag for internal post linking (#369) + * Add `post_url` Liquid tag for internal post linking (#369) * Allow multiple plugin dirs to be specified (#438) * Inline TOC token support for RDiscount (#333) * Add the option to specify the paginated url format (#342) @@ -778,9 +858,9 @@ * Bug Fixes * Allow some special characters in highlight names * URL escape category names in URL generation (#360) - * Fix error with limit_posts (#442) + * Fix error with `limit_posts` (#442) * Properly select dotfile during directory scan (#363, #431, #377) - * Allow setting of Kramdown smart_quotes (#482) + * Allow setting of Kramdown `smart_quotes` (#482) * Ensure front-matter is at start of file (#562) ## 0.11.2 / 2011-12-27 @@ -793,6 +873,7 @@ * Update dependencies ## 0.11.0 / 2011-07-10 + ### Major Enhancements * Add command line importer functionality (#253) * Add Redcarpet Markdown support (#318) @@ -814,9 +895,10 @@ ## 0.10.0 / 2010-12-16 * Bug Fixes - * Add --no-server option. + * Add `--no-server` option. ## 0.9.0 / 2010-12-15 + ### Minor Enhancements * Use OptionParser's `[no-]` functionality for better boolean parsing. * Add Drupal migrator (#245) @@ -825,11 +907,12 @@ * Add Marley migrator (#28) ## 0.8.0 / 2010-11-22 + ### Minor Enhancements * Add wordpress.com importer (#207) - * Add --limit-posts cli option (#212) - * Add uri_escape filter (#234) - * Add --base-url cli option (#235) + * Add `--limit-posts` cli option (#212) + * Add `uri_escape` filter (#234) + * Add `--base-url` cli option (#235) * Improve MT migrator (#238) * Add kramdown support (#239) * Bug Fixes @@ -838,6 +921,7 @@ * Prevent `_includes` dir from being a symlink ## 0.7.0 / 2010-08-24 + ### Minor Enhancements * Add support for rdiscount extensions (#173) * Bug Fixes @@ -849,13 +933,14 @@ * Fix Rakefile 'release' task (tag pushing was missing origin) * Ensure that RedCloth is loaded when textilize filter is used (#183) * Expand source, destination, and plugin paths (#180) - * Fix page.url to include full relative path (#181) + * Fix `page.url` to include full relative path (#181) ## 0.6.1 / 2010-06-24 * Bug Fixes * Fix Markdown Pygments prefix and suffix (#178) ## 0.6.0 / 2010-06-23 + ### Major Enhancements * Proper plugin system (#19, #100) * Add safe mode so unsafe converters/generators can be added @@ -866,9 +951,9 @@ ### Minor Enhancements * Inclusion/exclusion of future dated posts (#59) * Generation for a specific time (#59) - * Allocate site.time on render not per site_payload invocation (#59) + * Allocate `site.time` on render not per site_payload invocation (#59) * Pages now present in the site payload and can be used through the - site.pages and site.html_pages variables + `site.pages` and `site.html_pages` variables * Generate phase added to site#process and pagination is now a generator * Switch to RakeGem for build/test process * Only regenerate static files when they have changed (#142) @@ -880,9 +965,10 @@ * Fix extension munging when pretty permalinks are enabled (#64) * Stop sorting categories (#33) * Preserve generated attributes over front matter (#119) - * Fix source directory binding using Dir.pwd (#75) + * Fix source directory binding using `Dir.pwd` (#75) ## 0.5.7 / 2010-01-12 + ### Minor Enhancements * Allow overriding of post date in the front matter (#62, #38) * Bug Fixes @@ -890,7 +976,7 @@ * Empty tags causes error in read_posts (#84) * Fix pagination to adhere to read/render/write paradigm * Test Enhancement - * cucumber features no longer use site.posts.first where a better + * Cucumber features no longer use site.posts.first where a better alternative is available ## 0.5.6 / 2010-01-08 @@ -948,6 +1034,7 @@ * Added Date#xmlschema for Ruby versions < 1.9 ## 0.5.1 / 2009-05-06 + ### Major Enhancements * Next/previous posts in site payload (@pantulis, @tomo) * Permalink templating system @@ -962,6 +1049,7 @@ * CGI escaped post titles (@Chrononaut) ## 0.5.0 / 2009-04-07 + ### Minor Enhancements * Ability to set post categories via YAML (@qrush) * Ability to set prevent a post from publishing via YAML (@qrush) @@ -980,18 +1068,20 @@ * Add Cucumber acceptance test suite (@qrush, @technicalpickles) ## 0.4.1 + ### Minor Enhancements * Changed date format on wordpress converter (zeropadding) (@dysinger) * Bug Fixes - * Add jekyll binary as executable to gemspec (@dysinger) + * Add Jekyll binary as executable to gemspec (@dysinger) ## 0.4.0 / 2009-02-03 + ### Major Enhancements * Switch to Jeweler for packaging tasks ### Minor Enhancements * Type importer (@codeslinger) - * site.topics accessor (@baz) + * `site.topics` accessor (@baz) * Add `array_to_sentence_string` filter (@mchung) * Add a converter for textpattern (@PerfectlyNormal) * Add a working Mephisto / MySQL converter (@ivey) @@ -1006,8 +1096,9 @@ * Fix site payload available to files (@matrix9180) ## 0.3.0 / 2008-12-24 + ### Major Enhancements - * Added --server option to start a simple WEBrick server on destination + * Added `--server` option to start a simple WEBrick server on destination directory (@johnreilly and @mchung) ### Minor Enhancements @@ -1026,23 +1117,24 @@ ## 0.2.1 / 2008-12-15 * Major Changes * Use Maruku (pure Ruby) for Markdown by default (@mreid) - * Allow use of RDiscount with --rdiscount flag + * Allow use of RDiscount with `--rdiscount` flag ### Minor Enhancements * Don't load directory_watcher unless it's needed (@pjhyett) ## 0.2.0 / 2008-12-14 * Major Changes - * related_posts is now found in site.related_posts + * related_posts is now found in `site.related_posts` ## 0.1.6 / 2008-12-13 * Major Features * Include files in `_includes` with `{% include x.textile %}` ## 0.1.5 / 2008-12-12 + ### Major Enhancements - * Code highlighting with Pygments if --pygments is specified - * Disable true LSI by default, enable with --lsi + * Code highlighting with Pygments if `--pygments` is specified + * Disable true LSI by default, enable with `--lsi` ### Minor Enhancements * Output informative message if RDiscount is not available (@JackDanger) @@ -1061,7 +1153,7 @@ * Code hilighting (@vanpelt) * Autobuild * Bug Fixes - * Accept both \r\n and \n in YAML header (@vanpelt) + * Accept both `\r\n` and `\n` in YAML header (@vanpelt) ## 0.1.2 / 2008-11-22 * Major Features diff --git a/README.markdown b/README.markdown index f920db28..704a66b9 100644 --- a/README.markdown +++ b/README.markdown @@ -1,10 +1,10 @@ # [Jekyll](http://jekyllrb.com/) -[![Gem Version](https://badge.fury.io/rb/jekyll.png)](http://badge.fury.io/rb/jekyll) +[![Gem Version](https://badge.fury.io/rb/jekyll.svg)](http://badge.fury.io/rb/jekyll) -[![Build Status](https://secure.travis-ci.org/jekyll/jekyll.png?branch=master)](https://travis-ci.org/jekyll/jekyll) +[![Build Status](https://secure.travis-ci.org/jekyll/jekyll.svg?branch=master)](https://travis-ci.org/jekyll/jekyll) [![Code Climate](https://codeclimate.com/github/jekyll/jekyll.png)](https://codeclimate.com/github/jekyll/jekyll) -[![Dependency Status](https://gemnasium.com/jekyll/jekyll.png)](https://gemnasium.com/jekyll/jekyll) +[![Dependency Status](https://gemnasium.com/jekyll/jekyll.svg)](https://gemnasium.com/jekyll/jekyll) [![Coverage Status](https://coveralls.io/repos/jekyll/jekyll/badge.png)](https://coveralls.io/r/jekyll/jekyll) By Tom Preston-Werner, Nick Quaranto, and many [awesome contributors](https://github.com/jekyll/jekyll/graphs/contributors)! diff --git a/Rakefile b/Rakefile index 70064e7b..8c38b205 100644 --- a/Rakefile +++ b/Rakefile @@ -29,12 +29,8 @@ def gem_file "#{name}-#{version}.gem" end -def replace_header(head, header_name) - head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"} -end - def normalize_bullets(markdown) - markdown.gsub(/\s{2}\*{1}/, "-") + markdown.gsub(/\n\s{2}\*{1}/, "\n-") end def linkify_prs(markdown) diff --git a/features/collections.feature b/features/collections.feature index 32e9161c..8b69ab67 100644 --- a/features/collections.feature +++ b/features/collections.feature @@ -70,3 +70,39 @@ Feature: Collections When I run jekyll build Then the _site directory should exist And I should see "Collections: _methods/configuration.md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html" + + Scenario: All the documents + Given I have an "index.html" page that contains "All documents: {% for doc in site.documents %}{{ doc.relative_path }} {% endfor %}" + And I have fixture collections + And I have a "_config.yml" file with content: + """ + collections: + - methods + """ + When I run jekyll build + Then the _site directory should exist + And I should see "All documents: _methods/configuration.md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html" + + Scenario: Documents have an output attribute, which is the converted HTML + Given I have an "index.html" page that contains "First document's output: {{ site.documents.first.output }}" + And I have fixture collections + And I have a "_config.yml" file with content: + """ + collections: + - methods + """ + When I run jekyll build + Then the _site directory should exist + And I should see "First document's output:

Use Jekyll.configuration to build a full configuration for use w/Jekyll.

\n\n

Whatever: foo.bar

" in "_site/index.html" + + Scenario: Filter documents by where + Given I have an "index.html" page that contains "{% assign items = site.methods | where: 'whatever','foo.bar' %}Item count: {{ items.size }}" + And I have fixture collections + And I have a "_config.yml" file with content: + """ + collections: + - methods + """ + When I run jekyll build + Then the _site directory should exist + And I should see "Item count: 1" in "_site/index.html" diff --git a/features/embed_filters.feature b/features/embed_filters.feature index 27f5f1df..889a1fc7 100644 --- a/features/embed_filters.feature +++ b/features/embed_filters.feature @@ -73,3 +73,35 @@ Feature: Embed filters Then the _site directory should exist And I should see exactly "Page-2, Page-1" in "_site/page-1.html" And I should see exactly "Page-2, Page-1" in "_site/page-2.html" + + Scenario: Sort pages by the title + Given I have a _layouts directory + And I have the following page: + | title | layout | content | + | Dog | default | Run | + And I have the following page: + | title | layout | content | + | Bird | default | Fly | + And I have the following page: + | layout | content | + | default | Jump | + And I have a default layout that contains "{% assign sorted_pages = site.pages | sort: 'title' %}The rule of {{ sorted_pages.size }}: {% for p in sorted_pages %}{{ p.content | strip_html | strip_newlines }}, {% endfor %}" + When I run jekyll build + Then the _site directory should exist + And I should see exactly "The rule of 3: Jump, Fly, Run," in "_site/bird.html" + + Scenario: Sort pages by the title ordering pages without title last + Given I have a _layouts directory + And I have the following page: + | title | layout | content | + | Dog | default | Run | + And I have the following page: + | title | layout | content | + | Bird | default | Fly | + And I have the following page: + | layout | content | + | default | Jump | + And I have a default layout that contains "{% assign sorted_pages = site.pages | sort: 'title', 'last' %}The rule of {{ sorted_pages.size }}: {% for p in sorted_pages %}{{ p.content | strip_html | strip_newlines }}, {% endfor %}" + When I run jekyll build + Then the _site directory should exist + And I should see exactly "The rule of 3: Fly, Run, Jump," in "_site/bird.html" diff --git a/features/support/env.rb b/features/support/env.rb index 80020690..29875629 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -28,7 +28,11 @@ def run_jekyll(args) end def slug(title) - title.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') + if title + title.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') + else + Time.now.strftime("%s%9N") # nanoseconds since the Epoch + end end def location(folder, direction) diff --git a/jekyll.gemspec b/jekyll.gemspec index 3dfb3cd0..71929103 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -31,15 +31,15 @@ Gem::Specification.new do |s| s.add_runtime_dependency('liquid', "~> 2.5.5") s.add_runtime_dependency('classifier', "~> 1.3") s.add_runtime_dependency('listen', "~> 2.5") - s.add_runtime_dependency('maruku', "0.7.0") + s.add_runtime_dependency('kramdown', "~> 1.3") s.add_runtime_dependency('pygments.rb', "~> 0.5.0") - s.add_runtime_dependency('mercenary', "~> 0.3.1") + s.add_runtime_dependency('mercenary', "~> 0.3.3") s.add_runtime_dependency('safe_yaml', "~> 1.0") s.add_runtime_dependency('colorator', "~> 0.1") s.add_runtime_dependency('redcarpet', "~> 3.1") s.add_runtime_dependency('toml', '~> 0.1.0') s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0') - s.add_runtime_dependency('jekyll-sass-converter', '~> 1.0.0.rc4') + s.add_runtime_dependency('jekyll-sass-converter', '~> 1.0') s.add_development_dependency('rake', "~> 10.1") s.add_development_dependency('rdoc', "~> 3.11") @@ -48,7 +48,7 @@ Gem::Specification.new do |s| s.add_development_dependency('rr', "~> 1.1") s.add_development_dependency('cucumber', "1.3.11") s.add_development_dependency('RedCloth', "~> 4.2") - s.add_development_dependency('kramdown', "~> 1.3") + s.add_development_dependency('maruku', "0.7.0") s.add_development_dependency('rdiscount', "~> 1.6") s.add_development_dependency('launchy', "~> 2.3") s.add_development_dependency('simplecov', "~> 0.7") diff --git a/lib/jekyll.rb b/lib/jekyll.rb index b9bf4f67..941084d5 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -24,7 +24,7 @@ require 'pathname' # 3rd party require 'liquid' -require 'maruku' +require 'kramdown' require 'colorator' require 'toml' diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index b1636c88..54c774ab 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -25,7 +25,7 @@ module Jekyll options = configuration_from_options(options) site = Jekyll::Site.new(options) - Jekyll.logger.log_level = Jekyll::Stevenson::ERROR if options['quiet'] + Jekyll.logger.log_level = :error if options['quiet'] build(site, options) watch(site, options) if options['watch'] @@ -67,21 +67,27 @@ module Jekyll ignored = nil end - Jekyll.logger.info "Auto-regeneration:", "enabled" - listener = Listen.to( - source, - :ignore => ignored, + source, + :ignore => ignored, :force_polling => options['force_polling'] ) do |modified, added, removed| t = Time.now.strftime("%Y-%m-%d %H:%M:%S") n = modified.length + added.length + removed.length print Jekyll.logger.formatted_topic("Regenerating:") + "#{n} files at #{t} " - process_site(site) - puts "...done." + begin + process_site(site) + puts "...done." + rescue => e + puts "...error:" + Jekyll.logger.warn "Error:", e.message + Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information." + end end listener.start + Jekyll.logger.info "Auto-regeneration:", "enabled" + unless options['serving'] trap("INT") do listener.stop diff --git a/lib/jekyll/commands/doctor.rb b/lib/jekyll/commands/doctor.rb index 3e4ad75c..0fab8b3a 100644 --- a/lib/jekyll/commands/doctor.rb +++ b/lib/jekyll/commands/doctor.rb @@ -41,7 +41,7 @@ module Jekyll if page.uses_relative_permalinks Jekyll.logger.warn "Deprecation:", "'#{page.path}' uses relative" + " permalinks which will be deprecated in" + - " Jekyll v1.2 and beyond." + " Jekyll v2.0.0 and beyond." contains_deprecated_pages = true end end diff --git a/lib/jekyll/commands/new.rb b/lib/jekyll/commands/new.rb index d348315a..ca5ed164 100644 --- a/lib/jekyll/commands/new.rb +++ b/lib/jekyll/commands/new.rb @@ -36,7 +36,7 @@ module Jekyll end end - puts "New jekyll site installed in #{new_blog_path}." + Jekyll.logger.info "New jekyll site installed in #{new_blog_path}." end def self.create_blank_site(path) diff --git a/lib/jekyll/commands/serve.rb b/lib/jekyll/commands/serve.rb index 31652490..0f6c6d37 100644 --- a/lib/jekyll/commands/serve.rb +++ b/lib/jekyll/commands/serve.rb @@ -44,8 +44,6 @@ module Jekyll Jekyll.logger.info "Server address:", server_address(s, options) - p s - if options['detach'] # detach the server pid = Process.fork { s.start } Process.detach(pid) @@ -66,6 +64,7 @@ module Jekyll if File.exist?(File.join(destination, '404.html')) WEBrick::HTTPResponse.class_eval do def create_error_page + @header['content-type'] = "text/html; charset=UTF-8" @body = IO.read(File.join(@config[:DocumentRoot], '404.html')) end end diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb index ca055329..0c68365a 100644 --- a/lib/jekyll/configuration.rb +++ b/lib/jekyll/configuration.rb @@ -27,13 +27,12 @@ module Jekyll 'future' => true, # remove and make true just default 'unpublished' => false, - 'relative_permalinks' => true, # backwards-compatibility with < 1.0 - # will be set to false once 2.0 hits + 'relative_permalinks' => false, 'markdown' => 'kramdown', 'highlighter' => 'pygments', 'permalink' => 'date', - 'baseurl' => '/', + 'baseurl' => '', 'include' => ['.htaccess'], 'exclude' => [], 'paginate_path' => '/page:num', diff --git a/lib/jekyll/converters/markdown/redcarpet_parser.rb b/lib/jekyll/converters/markdown/redcarpet_parser.rb index d43eb140..df18327b 100644 --- a/lib/jekyll/converters/markdown/redcarpet_parser.rb +++ b/lib/jekyll/converters/markdown/redcarpet_parser.rb @@ -6,7 +6,7 @@ module Jekyll module CommonMethods def add_code_tags(code, lang) code = code.to_s - code = code.sub(/
/, "
")
+            code = code.sub(/
/, "
")
             code = code.sub(/<\/pre>/,"
") end end diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb index cce7460b..9d00d703 100644 --- a/lib/jekyll/convertible.rb +++ b/lib/jekyll/convertible.rb @@ -50,9 +50,9 @@ module Jekyll self.data = SafeYAML.load($1) end rescue SyntaxError => e - puts "YAML Exception reading #{File.join(base, name)}: #{e.message}" + Jekyll.logger.warn "YAML Exception reading #{File.join(base, name)}: #{e.message}" rescue Exception => e - puts "Error reading file #{File.join(base, name)}: #{e.message}" + Jekyll.logger.warn "Error reading file #{File.join(base, name)}: #{e.message}" end self.data ||= {} diff --git a/lib/jekyll/document.rb b/lib/jekyll/document.rb index 0a75fe96..be4ead20 100644 --- a/lib/jekyll/document.rb +++ b/lib/jekyll/document.rb @@ -194,6 +194,7 @@ module Jekyll def to_liquid if data.is_a?(Hash) Utils.deep_merge_hashes data, { + "output" => output, "content" => content, "path" => path, "relative_path" => relative_path, @@ -228,5 +229,14 @@ module Jekyll path <=> anotherDocument.path end + # Determine whether this document should be written. + # Based on the Collection to which it belongs. + # + # True if the document has a collection and if that collection's #write? + # method returns true, otherwise false. + def write? + collection && collection.write? + end + end end diff --git a/lib/jekyll/entry_filter.rb b/lib/jekyll/entry_filter.rb index 0b00218b..d2cd6f81 100644 --- a/lib/jekyll/entry_filter.rb +++ b/lib/jekyll/entry_filter.rb @@ -65,9 +65,7 @@ module Jekyll entry = ensure_leading_slash(e) enum.any? do |exp| item = ensure_leading_slash(exp) - Jekyll.logger.debug "glob_include?(#{entry})" - Jekyll.logger.debug " ==> File.fnmatch?(#{item}, #{entry}) == #{File.fnmatch?(item, entry)}" - File.fnmatch?(item, entry) + File.fnmatch?(item, entry) || entry.start_with?(item) end end end diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 997a0f5d..72d12868 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -185,9 +185,43 @@ module Jekyll # value - desired value # # Returns the filtered array of objects - def where(input, key, value) + def where(input, property, value) return input unless input.is_a?(Array) - input.select { |object| object[key] == value } + input.select { |object| item_property(object, property) == value } + end + + # Sort an array of objects + # + # input - the object array + # key - key within each object to filter by + # nils ('first' | 'last') - nils appear before or after non-nil values + # + # Returns the filtered array of objects + def sort(input, key = nil, nils = "first") + if key.nil? + input.sort + else + case + when nils == "first" + order = - 1 + when nils == "last" + order = + 1 + else + Jekyll.logger.error "Invalid nils order:", + "'#{nils}' is not a valid nils order. It must be 'first' or 'last'." + exit(1) + end + + input.sort { |a, b| + if !a[key].nil? && b[key].nil? + - order + elsif a[key].nil? && !b[key].nil? + + order + else + a[key] <=> b[key] + end + } + end end private @@ -196,7 +230,9 @@ module Jekyll when Time input when String - Time.parse(input) + Time.parse(input) rescue Time.at(input.to_i) + when Number + Time.at(input) else Jekyll.logger.error "Invalid Date:", "'#{input}' is not a valid datetime." exit(1) diff --git a/lib/jekyll/plugin.rb b/lib/jekyll/plugin.rb index 2613f70d..94c0b28e 100644 --- a/lib/jekyll/plugin.rb +++ b/lib/jekyll/plugin.rb @@ -6,22 +6,15 @@ module Jekyll :high => 10, :highest => 100 } - # Install a hook so that subclasses are recorded. This method is only - # ever called by Ruby itself. + # Fetch all the subclasses of this class and its subclasses' subclasses. # - # base - The Class subclass. - # - # Returns nothing. - def self.inherited(base) - subclasses << base - subclasses.sort! - end - - # The list of Classes that have been subclassed. - # - # Returns an Array of Class objects. - def self.subclasses - @subclasses ||= [] + # Returns an array of descendant classes. + def self.descendants + descendants = [] + ObjectSpace.each_object(singleton_class) do |k| + descendants.unshift k unless k == self + end + descendants end # Get or set the priority of this plugin. When called without an diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index 8ebe92b5..13217bf0 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -225,6 +225,7 @@ module Jekyll :i_month => date.strftime("%m").to_i.to_s, :categories => (categories || []).map { |c| c.to_s }.join('/'), :short_month => date.strftime("%b"), + :short_year => date.strftime("%y"), :y_day => date.strftime("%j"), :output_ext => output_ext } diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index ccc6d2c6..288662a5 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -325,6 +325,7 @@ module Jekyll "categories" => post_attr_hash('categories'), "tags" => post_attr_hash('tags'), "collections" => collections, + "documents" => documents, "data" => site_data })) } @@ -364,7 +365,7 @@ module Jekyll # # Returns array of instances of subclasses of parameter def instantiate_subclasses(klass) - klass.subclasses.select do |c| + klass.descendants.select do |c| !safe || c.safe end.sort.map do |c| c.new(config) @@ -395,28 +396,26 @@ module Jekyll def relative_permalinks_deprecation_method if config['relative_permalinks'] && has_relative_page? - $stderr.puts # Places newline after "Generating..." Jekyll.logger.warn "Deprecation:", "Starting in 2.0, permalinks for pages" + " in subfolders must be relative to the" + " site source directory, not the parent" + " directory. Check http://jekyllrb.com/docs/upgrading/"+ " for more info." - $stderr.print Jekyll.logger.formatted_topic("") + "..." # for "done." end end + def docs_to_write + documents.select(&:write?) + end + def documents collections.reduce(Set.new) do |docs, (_, collection)| - if collection.write? - docs.merge(collection.docs) - else - docs - end - end + docs.merge(collection.docs) + end.to_a end def each_site_file - %w(posts pages static_files documents).each do |type| + %w(posts pages static_files docs_to_write).each do |type| send(type).each do |item| yield item end @@ -434,7 +433,7 @@ module Jekyll end def has_yaml_header?(file) - !!(File.open(file, "rb").read(5) =~ /\A---\r?\n/) + !!(File.open(file, 'rb') { |f| f.read(5) } =~ /\A---\r?\n/) end def limit_posts! diff --git a/lib/jekyll/static_file.rb b/lib/jekyll/static_file.rb index dba66739..dfbc9fba 100644 --- a/lib/jekyll/static_file.rb +++ b/lib/jekyll/static_file.rb @@ -18,7 +18,7 @@ module Jekyll # Returns source file path. def path - File.join(@base, @dir, @name) + File.join(*[@base, @dir, @name].compact) end # Returns the source file path relative to the site source @@ -32,7 +32,7 @@ module Jekyll # # Returns destination file path. def destination(dest) - File.join(dest, @dir, @name) + File.join(*[dest, @dir, @name].compact) end # Returns last modification time for this file. diff --git a/lib/jekyll/stevenson.rb b/lib/jekyll/stevenson.rb index 57fba827..b50368c1 100644 --- a/lib/jekyll/stevenson.rb +++ b/lib/jekyll/stevenson.rb @@ -2,17 +2,19 @@ module Jekyll class Stevenson attr_accessor :log_level - DEBUG = 0 - INFO = 1 - WARN = 2 - ERROR = 3 + LOG_LEVELS = { + debug: 0, + info: 1, + warn: 2, + error: 3 + } # Public: Create a new instance of Stevenson, Jekyll's logger # - # level - (optional, integer) the log level + # level - (optional, symbol) the log level # # Returns nothing - def initialize(level = INFO) + def initialize(level = :info) @log_level = level end @@ -23,7 +25,7 @@ module Jekyll # # Returns nothing def debug(topic, message = nil) - $stdout.puts(message(topic, message)) if log_level <= DEBUG + $stdout.puts(message(topic, message)) if should_log(:debug) end # Public: Print a jekyll message to stdout @@ -33,7 +35,7 @@ module Jekyll # # Returns nothing def info(topic, message = nil) - $stdout.puts(message(topic, message)) if log_level <= INFO + $stdout.puts(message(topic, message)) if should_log(:info) end # Public: Print a jekyll message to stderr @@ -43,7 +45,7 @@ module Jekyll # # Returns nothing def warn(topic, message = nil) - $stderr.puts(message(topic, message).yellow) if log_level <= WARN + $stderr.puts(message(topic, message).yellow) if should_log(:warn) end # Public: Print a jekyll error message to stderr @@ -53,7 +55,7 @@ module Jekyll # # Returns nothing def error(topic, message = nil) - $stderr.puts(message(topic, message).red) if log_level <= ERROR + $stderr.puts(message(topic, message).red) if should_log(:error) end # Public: Print a Jekyll error message to stderr and immediately abort the process @@ -85,5 +87,16 @@ module Jekyll def formatted_topic(topic) "#{topic} ".rjust(20) end + + # Public: Determine whether the current log level warrants logging at the + # proposed level. + # + # level_of_message - the log level of the message (symbol) + # + # Returns true if the log level of the message is greater than or equal to + # this logger's log level. + def should_log(level_of_message) + LOG_LEVELS.fetch(log_level) <= LOG_LEVELS.fetch(level_of_message) + end end end diff --git a/lib/jekyll/tags/gist.rb b/lib/jekyll/tags/gist.rb index f4f32880..977933dc 100644 --- a/lib/jekyll/tags/gist.rb +++ b/lib/jekyll/tags/gist.rb @@ -1,8 +1,8 @@ # Gist Liquid Tag # # Example: -# {% gist 1234567 %} -# {% gist 1234567 file.rb %} +# {% gist username/1234567 %} +# {% gist username/1234567 file.rb %} module Jekyll class GistTag < Liquid::Tag @@ -18,8 +18,7 @@ Syntax error in tag 'gist' while parsing the following markup: #{@markup} Valid syntax: - for public gists: {% gist 1234567 %} - for private gists: {% gist user/1234567 %} + for all gists: {% gist user/1234567 %} eos end end diff --git a/lib/jekyll/version.rb b/lib/jekyll/version.rb index c6de14f6..18840a56 100644 --- a/lib/jekyll/version.rb +++ b/lib/jekyll/version.rb @@ -1,3 +1,3 @@ module Jekyll - VERSION = '2.0.0.rc1' + VERSION = '2.0.3' end diff --git a/lib/site_template/_config.yml b/lib/site_template/_config.yml index d9fdcfc0..2c0d7379 100644 --- a/lib/site_template/_config.yml +++ b/lib/site_template/_config.yml @@ -1,5 +1,10 @@ -name: Dat site title tho -markdown: redcarpet -highlighter: pygments -description: "Write an awesome description for your new site here. It will appear in your document head meta (for Google search results) and in your feed.xml site description." +# Site settings +title: Your awesome title +email: your-email@domain.com +description: "Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description." +baseurl: "" url: "http://yourdomain.com" + +# Build settings +markdown: kramdown +permalink: pretty diff --git a/lib/site_template/_includes/footer.html b/lib/site_template/_includes/footer.html index 6c5dae3e..e9082174 100644 --- a/lib/site_template/_includes/footer.html +++ b/lib/site_template/_includes/footer.html @@ -2,19 +2,19 @@ - \ No newline at end of file + diff --git a/lib/site_template/_includes/head.html b/lib/site_template/_includes/head.html index 9f676224..c8f10165 100644 --- a/lib/site_template/_includes/head.html +++ b/lib/site_template/_includes/head.html @@ -1,12 +1,12 @@ - {% if page.title %}{{ page.title }}{% else %}{{ site.name }}{% endif %} + {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} - + - + - \ No newline at end of file + diff --git a/lib/site_template/_includes/header.html b/lib/site_template/_includes/header.html index 9c605cde..36ff6cc6 100644 --- a/lib/site_template/_includes/header.html +++ b/lib/site_template/_includes/header.html @@ -2,7 +2,7 @@
- {{ site.name }} + {{ site.title }}
- \ No newline at end of file + diff --git a/lib/site_template/about/index.md b/lib/site_template/about.md similarity index 87% rename from lib/site_template/about/index.md rename to lib/site_template/about.md index 09ac935c..3ed64bb6 100644 --- a/lib/site_template/about/index.md +++ b/lib/site_template/about.md @@ -1,10 +1,11 @@ --- layout: page title: About +permalink: /about/ --- This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new) -You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) \ No newline at end of file +You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) diff --git a/lib/site_template/css/main.css b/lib/site_template/css/main.css index e1f046f6..93ab284a 100644 --- a/lib/site_template/css/main.css +++ b/lib/site_template/css/main.css @@ -9,7 +9,6 @@ html, body { height: 100%; } body { - background-color: #FFF; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; @@ -231,6 +230,8 @@ a:visited { color: #205caa; } border: 1px solid #d5d5e9; background-color: #eef; padding: 8px 12px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; border-radius: 3px; font-size: 15px; } @@ -247,6 +248,8 @@ a:visited { color: #205caa; } border: 1px solid #000; background-color: #333; color: #FFF; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; border-radius: 3px; } @@ -351,6 +354,8 @@ a:visited { color: #205caa; } z-index: 10; top: 14px; right: 8px; background-color: white; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; border: 1px solid #e8e8e8; } diff --git a/lib/site_template/feed.xml b/lib/site_template/feed.xml index 15b90dd6..234d1c0b 100644 --- a/lib/site_template/feed.xml +++ b/lib/site_template/feed.xml @@ -4,18 +4,18 @@ layout: none - {{ site.name | xml_escape }} + {{ site.title | xml_escape }} {{ site.description | xml_escape }} - {{ site.url }} - + {{ site.url }}{{ site.baseurl }}/ + {% for post in site.posts limit:10 %} {{ post.title | xml_escape }} {{ post.content | xml_escape }} {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }} - {{ site.url }}/{{ post.url }} - {{ site.url }}/{{ post.url }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} {% endfor %} - \ No newline at end of file + diff --git a/lib/site_template/index.html b/lib/site_template/index.html index a14fd240..a9f5097c 100644 --- a/lib/site_template/index.html +++ b/lib/site_template/index.html @@ -8,10 +8,13 @@ layout: default
    {% for post in site.posts %} -
  • {{ post.title }}
  • +
  • + + {{ post.title }} +
  • {% endfor %}
-

subscribe via RSS

+

subscribe via RSS

- \ No newline at end of file + diff --git a/lib/site_template/projects/index.md b/lib/site_template/projects/index.md deleted file mode 100644 index c4587134..00000000 --- a/lib/site_template/projects/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: page -title: Projects ---- - -Just a sample of another page that you could include for some purpose in the primary navigation. - -This could be a great place to list your own projects. But to get you started, here's some handy links: - -- [List of Jekyll-powered websites](https://github.com/jekyll/jekyll/wiki/Sites) -- [Octopress, a Jekyll based blog framework](https://github.com/octopress/) -- [Jekyll documentation](http://jekyllrb.com/) -- [Jekyll source on GitHub](https://github.com/jekyll/jekyll) -- [Available plugins](http://jekyllrb.com/docs/plugins/#available_plugins) \ No newline at end of file diff --git a/site/_config.yml b/site/_config.yml index 497f5d01..44c2772e 100644 --- a/site/_config.yml +++ b/site/_config.yml @@ -1,3 +1,4 @@ +markdown: kramdown highlighter: pygments relative_permalinks: false gauges_id: 503c5af6613f5d0f19000027 @@ -5,3 +6,4 @@ permalink: /news/:year/:month/:day/:title/ excerpt_separator: noifniof3nioaniof3nioafafinoafnoif repository: https://github.com/jekyll/jekyll help_url: https://github.com/jekyll/jekyll-help +google_analytics_id: UA-50755011-1 diff --git a/site/_includes/analytics.html b/site/_includes/analytics.html index 6bd86b1f..4ef9ea0f 100644 --- a/site/_includes/analytics.html +++ b/site/_includes/analytics.html @@ -18,15 +18,13 @@ {% if site.google_analytics_id %} {% endif %} diff --git a/site/_includes/anchor_links.html b/site/_includes/anchor_links.html new file mode 100644 index 00000000..e9802071 --- /dev/null +++ b/site/_includes/anchor_links.html @@ -0,0 +1,27 @@ + diff --git a/site/_includes/css/font-awesome.css b/site/_includes/css/font-awesome.css new file mode 100644 index 00000000..f864c27c --- /dev/null +++ b/site/_includes/css/font-awesome.css @@ -0,0 +1,44 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.0.3'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fa-link:before { + content: "\f0c1"; +} +/* + * This code is courtesy Ben Balter, modified by Parker Moore for jekyllrb.com + * http://ben.balter.com/2014/03/13/pages-anchor-links/ + */ +.header-link { + position: relative; + left: 0.5em; + opacity: 0; + font-size: 0.8em; + + -webkit-transition: opacity 0.2s ease-in-out 0.1s; + -moz-transition: opacity 0.2s ease-in-out 0.1s; + -ms-transition: opacity 0.2s ease-in-out 0.1s; +} +h2:hover .header-link, +h3:hover .header-link, +h4:hover .header-link, +h5:hover .header-link, +h6:hover .header-link { + opacity: 1; +} diff --git a/site/_includes/css/style.css b/site/_includes/css/style.css index dee485a7..e65c9065 100644 --- a/site/_includes/css/style.css +++ b/site/_includes/css/style.css @@ -1,18 +1,18 @@ /* Base */ * { - box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + box-sizing: border-box; } body { - font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 21px; - font-weight: 300; + font: 300 21px Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #ddd; - background: #333; + background-color: #333; border-top: 5px solid #fc0; + -webkit-box-shadow: inset 0 3px 30px rgba(0,0,0,.3); + -moz-box-shadow: inset 0 3px 30px rgba(0,0,0,.3); box-shadow: inset 0 3px 30px rgba(0,0,0,.3); text-shadow: 0 1px 3px rgba(0,0,0,.5); } @@ -31,7 +31,7 @@ body { /* Sections */ -body > header, body > section, body > footer { +header, section, footer { float: left; width: 100%; clear: both; @@ -39,11 +39,11 @@ body > header, body > section, body > footer { /* Header */ -body > header h1, body > header nav { +header h1, header nav { display: inline-block; } -body > header h1 span { +header h1 span { display: none; } @@ -65,26 +65,33 @@ nav li { } .main-nav li a { + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; font-weight: 900; font-size: 14px; padding: 0.5em 1em; text-shadow: none; text-transform: uppercase; + -webkit-transition: all .25s; + -moz-transition: all .25s; + -o-transition: all .25s; transition: all .25s; - -moz-transition: all .25s; - -webkit-transition: all .25s; } .main-nav li a:hover { - background: #252525; + background-color: #252525; + -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.1); + -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.1); box-shadow: inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.1); text-shadow: 0 1px 3px rgba(0,0,0,.5); } .main-nav li.current a { - background: #fc0; + background-color: #fc0; color: #222; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); text-shadow: 0 1px 0 rgba(255,255,255,.3); } @@ -98,19 +105,23 @@ nav li { .mobile-nav a { float: left; width: 100%; - background: #333; + background-color: #333; color: #fc0; text-align: center; text-transform: uppercase; font-size: 14px; font-weight: 900; padding: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; } .mobile-nav .current a { - background: #fc0; + background-color: #fc0; color: #222; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); text-shadow: 0 1px 0 rgba(255,255,255,.3); } @@ -121,12 +132,12 @@ nav li { padding: 8px 2px; } -@media (max-width: 768px){ +@media (max-width: 768px) { .main-nav ul { text-align: right; } } -@media (max-width: 830px){ +@media (max-width: 830px) { .main-nav .show-on-mobiles { display: inline; } @@ -137,23 +148,23 @@ nav li { /* Footer */ -body > footer { - background: #222; +footer { + background-color: #222; font-size: 16px; padding-bottom: 5px; color: #888; margin-top: 40px; } -body > footer a { +footer a { color: #fff; } -body > footer .align-right p, body > footer img { +footer .align-right p, footer img { display: inline-block; } -body > footer img { +footer img { position: relative; top: 8px; margin-left: 5px; @@ -161,14 +172,15 @@ body > footer img { padding: 1px; -webkit-transition: opacity .2s; -moz-transition: opacity .2s; + -o-transition: opacity .2s; transition: opacity .2s; } -body > footer a:hover img { +footer a:hover img { opacity: 1; } -@media (max-width: 568px){ +@media (max-width: 568px) { footer .one-third p { margin-bottom: 0; } @@ -189,7 +201,7 @@ body > footer a:hover img { margin: 0; } -@media (min-width: 569px){ +@media (min-width: 569px) { .intro p { font-size: 3.2em; } @@ -198,14 +210,16 @@ body > footer a:hover img { /* Quickstart */ .quickstart { - background: #3F1F1F; + background-color: #3F1F1F; color: #fff; margin: 60px 0; + -webkit-box-shadow: inset 0 3px 10px rgba(0,0,0,.4); + -moz-box-shadow: inset 0 3px 10px rgba(0,0,0,.4); box-shadow: inset 0 3px 10px rgba(0,0,0,.4); } .quickstart .content { - padding: 0px 0; + padding: 0; } .quickstart h4 { @@ -221,7 +235,7 @@ body > footer a:hover img { margin: 0 0 -30px; } -@media (min-width: 768px){ +@media (min-width: 768px) { .quickstart .code { font-size: 18px; margin: -30px 0; @@ -247,21 +261,22 @@ body > footer a:hover img { text-align: center; margin: 0 20px; padding: 5px 0; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; + -webkit-box-shadow: 0 3px 10px rgba(0,0,0,.5); + -moz-box-shadow: 0 3px 10px rgba(0,0,0,.5); box-shadow: 0 3px 10px rgba(0,0,0,.5); - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 16px; - font-weight: 400; + font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #444; text-shadow: 0 1px 0 rgba(255,255,255,.5); - background: #f7f7f7; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); - background: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(7%,#cfcfcf), color-stop(100%,#aaaaaa)); - background: -webkit-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: -o-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: -ms-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); + background-color: #f7f7f7; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), color-stop(7%, #cfcfcf), to(#aaaaaa)); + background-image: -webkit-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); + background-image: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); + background-image: -o-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); + background-image: linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#aaaaaa',GradientType=0 ); border-bottom: 1px solid #111; } @@ -270,8 +285,12 @@ body > footer a:hover img { padding: 20px; text-shadow: none; margin: 0 20px; - background: #3d3d3d; + background-color: #3d3d3d; + -webkit-border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; + -webkit-box-shadow: 0 5px 30px rgba(0,0,0,.3); + -moz-box-shadow: 0 5px 30px rgba(0,0,0,.3); box-shadow: 0 5px 30px rgba(0,0,0,.3); } @@ -314,7 +333,9 @@ body > footer a:hover img { /* Free Hosting */ .free-hosting .pane { - background: #444; + background-color: #444; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; border-radius: 10px; text-shadow: none; position: relative; @@ -340,7 +361,7 @@ body > footer a:hover img { margin: .75em 0; } -@media (min-width: 768px){ +@media (min-width: 768px) { .free-hosting img { float: left; margin: -20px -30px -30px -50px; @@ -371,27 +392,31 @@ body > footer a:hover img { article { - background: #444; + background-color: #444; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; border-radius: 10px; padding: 20px; margin: 0 10px; + -webkit-box-shadow: 0 3px 10px rgba(0,0,0,.1); + -moz-box-shadow: 0 3px 10px rgba(0,0,0,.1); box-shadow: 0 3px 10px rgba(0,0,0,.1); font-size: 16px; } -@media (max-width: 480px){ +@media (max-width: 480px) { article ul { padding-left: 20px; } } -@media (max-width: 568px){ +@media (max-width: 568px) { article { margin: 0; } } -@media (min-width: 768px){ +@media (min-width: 768px) { article { padding: 40px 40px 30px; font-size: 21px; @@ -471,15 +496,19 @@ aside li.current a:before { text-transform: uppercase; font-weight: 700; padding: 8px 12px 10px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; /*border: 1px solid #333;*/ + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.5); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.5); box-shadow: 0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.5); - background: #777; + background-color: #777; } .section-nav a:hover { color: #fff; - background: #888; + background-color: #888; } .section-nav .next, .section-nav .prev { @@ -522,6 +551,7 @@ aside li.current a:before { } .docs-nav-mobile select { + color: #000; width: 100%; } @@ -543,17 +573,20 @@ article h2:first-child { margin-left: -30px; padding: 6px 10px 8px; padding-left: 50px; + -webkit-border-radius: 0 5px 5px 0; + -moz-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; position: relative; + -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); + -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); - background: #9e2812; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9e2812), color-stop(100%,#6f0d0d)); - background: -webkit-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -o-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -ms-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); + background-color: #9e2812; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d)); + background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); } @@ -564,13 +597,13 @@ article h2:first-child { text-shadow: 0 -1px 0 rgba(0,0,0,.5); } -@media (max-width: 568px){ +@media (max-width: 568px) { .post-category { padding-left: 30px; } } -@media (min-width: 768px){ +@media (min-width: 768px) { .post-category { margin-left: -50px; } @@ -580,7 +613,7 @@ article h2:first-child { content: ""; position: absolute; top: -10px; - left: 0px; + left: 0; border-color: transparent #6f0d0d #6f0d0d transparent; border-style: solid; border-width: 5px; @@ -589,6 +622,8 @@ article h2:first-child { } .avatar { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; border-radius: 3px; display: inline-block; vertical-align: middle; @@ -608,8 +643,12 @@ article h2:first-child { .news article + article { margin-top: -10px; + -webkit-border-radius: 0 0 10px 10px; + -moz-border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px; border-top: 1px solid #555; + -webkit-box-shadow: 0 -1px 0 #2f2f2f; + -moz-box-shadow: 0 -1px 0 #2f2f2f; box-shadow: 0 -1px 0 #2f2f2f; } @@ -620,29 +659,35 @@ pre, code { white-space: pre; display: inline-block; margin: 0; - padding: 0; - font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; - font-size: 14px; - padding: 0 .5em; - line-height: 1.8em; + font: 14px/1.8em Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; + padding: 0 0.5em; } -@media (min-width: 768px){ +@media (min-width: 768px) { pre, code { font-size: 16px; } } .highlight, p > pre, p > code, p > nobr > code, li > code, h5 > code, .note > code { - background: #333; + background-color: #333; color: #fff; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; + -webkit-box-shadow: inset 0 1px 10px rgba(0,0,0,.3), + 0 1px 0 rgba(255,255,255,.1), + 0 -1px 0 rgba(0,0,0,.5); + -moz-box-shadow: inset 0 1px 10px rgba(0,0,0,.3), + 0 1px 0 rgba(255,255,255,.1), + 0 -1px 0 rgba(0,0,0,.5); box-shadow: inset 0 1px 10px rgba(0,0,0,.3), 0 1px 0 rgba(255,255,255,.1), 0 -1px 0 rgba(0,0,0,.5); } .note code { + background-color: #333; background-color: rgba(0,0,0,0.2); margin-left: 2.5px; margin-right: 2.5px; @@ -664,9 +709,10 @@ h1, h2, h3, h4, h5, h6 { a { color: #fc0; text-decoration: none; + -webkit-transition: all .25s; + -moz-transition: all .25s; + -o-transition: all .25s; transition: all .25s; - -moz-transition: all .25s; - -webkit-transition: all .25s; } a:hover { @@ -732,37 +778,50 @@ blockquote { table { width: 100%; - background: #555; + background-color: #555; margin: .5em 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; border-radius: 5px; + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.3); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.3); box-shadow: 0 1px 3px rgba(0,0,0,.3); } thead { + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; border-top-left-radius: 5px; + -webkit-border-top-right-radius: 5px; + -moz-border-radius-topright: 5px; border-top-right-radius: 5px; color: #fff; - background: #3a3a3a; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3a3a3a), color-stop(100%,#1e1e1e)); - background: -webkit-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: -o-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: -ms-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: linear-gradient(to bottom, #3a3a3a 0%,#1e1e1e 100%); + background-color: #3a3a3a; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3a3a3a), to(#1e1e1e)); + background-image: -webkit-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); + background-image: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); + background-image: -o-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); + background-image: linear-gradient(to bottom, #3a3a3a 0%,#1e1e1e 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#1e1e1e',GradientType=0 ); } thead th { position: relative; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.1); } thead th:first-child { + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; border-top-left-radius: 5px; } thead th:last-child { + -webkit-border-top-right-radius: 5px; + -moz-border-radius-topright: 5px; border-top-right-radius: 5px; } @@ -783,15 +842,17 @@ th { } tbody td { + border-top: 1px solid #747474; border-top: 1px solid rgba(0,0,0,.1); + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.1); background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); - background: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.1)), color-stop(100%,rgba(255,255,255,0))); - background: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: -ms-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0.1)), to(rgba(255,255,255,0))); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); + background-image: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#00ffffff',GradientType=0 ); } @@ -822,27 +883,30 @@ code.option, code.flag, code.filter, code.output { margin-left: -30px; padding: 20px 20px 24px; padding-left: 50px; + -webkit-border-radius: 0 5px 5px 0; + -moz-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; position: relative; + -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); + -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); - background: #7e6d42; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7e6d42), color-stop(100%,#5c4e35)); - background: -webkit-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: -o-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: -ms-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: linear-gradient(to bottom, #7e6d42 0%,#5c4e35 100%); + background-color: #7e6d42; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(#7e6d42), to(#5c4e35)); + background-image: -webkit-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); + background-image: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); + background-image: -o-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); + background-image: linear-gradient(to bottom, #7e6d42 0%,#5c4e35 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7e6d42', endColorstr='#5c4e35',GradientType=0 ); } -@media (max-width: 568px){ +@media (max-width: 568px) { .note { margin-right: -30px; } } -@media (min-width: 768px){ +@media (min-width: 768px) { .note { margin-left: -50px; } @@ -852,7 +916,7 @@ code.option, code.flag, code.filter, code.output { content: ""; position: absolute; top: -10px; - left: 0px; + left: 0; border-color: transparent #222 #222 transparent; border-style: solid; border-width: 5px; @@ -877,40 +941,36 @@ code.option, code.flag, code.filter, code.output { } .info { - background: #0389aa; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0389aa), color-stop(100%,#00617f)); - background: -webkit-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: -o-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: -ms-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: linear-gradient(to bottom, #0389aa 0%,#00617f 100%); + background-color: #0389aa; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(#0389aa), to(#00617f)); + background-image: -webkit-linear-gradient(top, #0389aa 0%, #00617f 100%); + background-image: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%); + background-image: -o-linear-gradient(top, #0389aa 0%, #00617f 100%); + background-image: linear-gradient(to bottom, #0389aa 0%,#00617f 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0389aa', endColorstr='#00617f',GradientType=0 ); } .warning { - background: #9e2812; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9e2812), color-stop(100%,#6f0d0d)); - background: -webkit-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -o-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -ms-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); + background-color: #9e2812; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d)); + background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); + background-image: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); } .unreleased { - background: rgb(205,146,57); /* Old browsers */ - /* IE9 SVG, needs conditional override of 'filter' to 'none' */ - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NkOTIzOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhMjc1MjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(205,146,57,1)), color-stop(100%,rgba(162,117,40,1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 ); /* IE6-8 */ + background-color: #cd9239; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NkOTIzOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhMjc1MjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(205,146,57,1)), to(rgba(162,117,40,1))); + background-image: -webkit-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%); + background-image: -moz-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%); + background-image: -o-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%); + background-image: linear-gradient(to bottom, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 ); } .info:before { @@ -971,7 +1031,7 @@ code.option, code.flag, code.filter, code.output { /* Responsive tables */ -@media (max-width: 768px){ +@media (max-width: 768px) { .mobile-side-scroller { overflow-x: scroll; margin: 0 -40px; diff --git a/site/_includes/footer.html b/site/_includes/footer.html index 6ceb6fcd..c42b1a46 100644 --- a/site/_includes/footer.html +++ b/site/_includes/footer.html @@ -1,7 +1,7 @@