jekyll 2.0.0.rc1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of jekyll might be problematic. Click here for more details.

Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/History.markdown +40 -0
  4. data/README.markdown +3 -3
  5. data/features/collections.feature +24 -0
  6. data/features/embed_filters.feature +32 -0
  7. data/features/site_configuration.feature +9 -0
  8. data/features/step_definitions/jekyll_steps.rb +2 -2
  9. data/features/support/env.rb +5 -1
  10. data/jekyll.gemspec +3 -3
  11. data/lib/jekyll/commands/build.rb +3 -3
  12. data/lib/jekyll/commands/doctor.rb +1 -1
  13. data/lib/jekyll/commands/new.rb +1 -1
  14. data/lib/jekyll/commands/serve.rb +45 -23
  15. data/lib/jekyll/configuration.rb +1 -2
  16. data/lib/jekyll/converters/markdown/redcarpet_parser.rb +1 -1
  17. data/lib/jekyll/convertible.rb +2 -2
  18. data/lib/jekyll/document.rb +10 -0
  19. data/lib/jekyll/entry_filter.rb +1 -3
  20. data/lib/jekyll/filters.rb +34 -0
  21. data/lib/jekyll/post.rb +1 -0
  22. data/lib/jekyll/site.rb +9 -10
  23. data/lib/jekyll/stevenson.rb +23 -10
  24. data/lib/jekyll/tags/highlight.rb +24 -48
  25. data/lib/jekyll/utils.rb +10 -10
  26. data/lib/jekyll/version.rb +1 -1
  27. data/lib/site_template/_config.yml +9 -4
  28. data/lib/site_template/_includes/footer.html +9 -9
  29. data/lib/site_template/_includes/head.html +3 -3
  30. data/lib/site_template/_includes/header.html +5 -4
  31. data/lib/site_template/{about/index.md → about.md} +2 -1
  32. data/lib/site_template/css/main.css +6 -1
  33. data/lib/site_template/feed.xml +5 -5
  34. data/lib/site_template/index.html +6 -3
  35. data/site/_config.yml +1 -1
  36. data/site/_includes/css/style.css +180 -120
  37. data/site/_includes/footer.html +1 -1
  38. data/site/_includes/top.html +1 -1
  39. data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +31 -0
  40. data/site/docs/assets.md +0 -8
  41. data/site/docs/collections.md +11 -9
  42. data/site/docs/configuration.md +28 -10
  43. data/site/docs/deployment-methods.md +1 -1
  44. data/site/docs/history.md +227 -0
  45. data/site/docs/permalinks.md +8 -0
  46. data/site/docs/plugins.md +2 -1
  47. data/site/docs/templates.md +43 -0
  48. data/site/docs/variables.md +8 -3
  49. data/site/js/html5shiv.min.js +4 -0
  50. data/test/helper.rb +10 -0
  51. data/test/source/+/foo.md +1 -1
  52. data/test/test_collections.rb +2 -2
  53. data/test/test_configuration.rb +2 -2
  54. data/test/test_convertible.rb +3 -3
  55. data/test/test_entry_filter.rb +16 -0
  56. data/test/test_filters.rb +25 -0
  57. data/test/test_new_command.rb +1 -1
  58. data/test/test_redcarpet.rb +3 -3
  59. data/test/test_sass.rb +0 -41
  60. data/test/test_tags.rb +4 -4
  61. metadata +19 -19
  62. data/lib/site_template/projects/index.md +0 -14
  63. data/site/js/html5shiv.js +0 -8
@@ -1,7 +1,7 @@
1
1
  <footer>
2
2
  <div class="grid">
3
3
  <div class="unit one-third center-on-mobiles">
4
- <p>The contents of this website are &copy;&nbsp;2013 <a href="http://tom.preston-werner.com/">Tom Preston-Werner</a> under the terms of the <a href="{{ site.repository }}/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
4
+ <p>The contents of this website are &copy;&nbsp;{{ site.time | date: '%Y' }} <a href="http://tom.preston-werner.com/">Tom Preston-Werner</a> under the terms of the <a href="{{ site.repository }}/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
5
5
  </div>
6
6
  <div class="unit two-thirds align-right center-on-mobiles">
7
7
  <p>
@@ -11,7 +11,7 @@
11
11
  <link rel="stylesheet" href="/css/screen.css">
12
12
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
13
13
  <!--[if lt IE 9]>
14
- <script src="/js/html5shiv.js"></script>
14
+ <script src="/js/html5shiv.min.js"></script>
15
15
  <script src="/js/respond.min.js"></script>
16
16
  <![endif]-->
17
17
  </head>
@@ -0,0 +1,31 @@
1
+ ---
2
+ layout: news_item
3
+ title: 'Jekyll turns 2.0.0'
4
+ author: parkr
5
+ version: 2.0.0
6
+ categories: [release]
7
+ ---
8
+
9
+ A year ago to the day, [we released Jekyll 1.0.0][jekyll-1]. One year later, we present to you the next major version: Jekyll 2.0.0.
10
+
11
+ Jam-packed with some [highly-requested features and bugfixes galore][changelog], this is the best Jekyll yet. Some notable changes:
12
+
13
+ 1. [Collections](/docs/collections/) - Collections allow you to define an unlimited number of custom document types (beyond just posts and pages) for different types of content you may want to author in Jekyll such as API documentation or a cookbook!
14
+ 2. [Brand new site template](https://github.com/jekyll/jekyll/pull/2050#issuecomment-35938016) (thanks [@jglovier][]!) - Getting started with Jekyll just got a lot easier and a lot more beautiful. Just run `jekyll new <path>` and you're good to go.
15
+ 3. [Native Sass & CoffeeScript support](/docs/assets/) - We love CSS and JavaScript as much as the next guy, but there will always be a special place in our hearts for Sass and CoffeeScript. We now offer native support for these file types &mdash; no more messing around with Rake or Grunt!
16
+ 4. [YAML Front-Matter defaults](/docs/configuration/#frontmatter_defaults) - If you've set `layout: post` more than once in your life, you'll love this new feature: set front-matter defaults for a given directory or type.
17
+ 5. [Custom markdown processors](/docs/configuration/#custom-markdown-processors) - Always wanted to use your favourite home-grown Markdown converter, but couldn't with Jekyll? Now you can. Simply specify `markdown: MyConverterClass` and you're on your way.
18
+ 6. [Addition of `where` and `group_by` Liquid filters](/docs/templates/#filters) - Simplifying your Liquid templates one filter at a time. The `where` filter selects from an array all items within which have a given value for a property. The `group_by` filter groups all items in an array which have the same value for a given property.
19
+ 7. [Switch from Maruku to Kramdown as default markdown converter](https://github.com/jekyll/jekyll/pull/1988) - Maruku is dead. We've replaced it with the converter which has the closest feature parity: Kramdown!
20
+
21
+ Check out our [changelog][] for a complete list of all (200+) changes.
22
+
23
+ Many thanks to these 183 contributors for making Jekyll 2.0.0 happen:
24
+
25
+ Parker Moore, Matt Rogers, maul.esel, Anatol Broder, Zach Gersh, Joel Glovier, Ben Balter, XhmikosR, Coby Chapple, John Piasetzki, Aidan Feldman, Robin Dupret, Pascal Borreli, Troy Swanson, Erik Michaels-Ober, albertogg, Lucas Jenss, Matt Rogers & Persa Zula, Eric Mill, Shigeya Suzuki, Jens Nazarenus, ddavison, Pat Hawks, Rob Wierzbowski, MURAOKA Taro, Casey Lang, Fabian Rodriguez, Greg Karékinian, Zlatan Vasović, Christopher Nicotera, Dmitry Chestnykh, Ryan Morrissey, Jordon, John Hughes, akira yamada, Matt Swanson, Jashank Jeremy, Matthew Iversen, Meeka, liufengyun, Anand Narayan, nitoyon, Geoff Shannon, Benjamin J. Balter, Juan Ignacio Donoso, David Briggs, Benjamin Esham, Slava Pavlutin, Assaf Gelber, Josh Brown, Nick Fagerlund, Davide Ficano, pilosus, Anthony Smith, André Arko, Mikael Konutgan, Matthew Scharley, Dan Tao, scribu, Mort Yao, m, Stephen McDonald, Marcus Stollsteimer, Thomas Torsney-Weir, Jordon Bedwell, Tom Preston-Werner, Lincoln Mullen, Philip Poots, Ivan Tse, Christopher Giroir, Valery Tolstov, Wlodek Bzyl, Xavier Noria, Yi Zeng, Persa Zula, Phil Leggetter, Pirogov Evgenij, Rafael Revi, Rob McGuire-Dale, Rob Muhlestein, Robin Mehner, Roland Warmerdam, Rusty Geldmacher, Sam Rayner, Santeri Paavolainen, Sebastian Morr, Stephan Groß, Steven Spasbo, Tobias Brunner, Tuomas Kareinen, Tyler Margison, Uwe Dauernheim, Yihang Ho, Zach Leatherman, Zequez, andrew morton, andrewhavens, imathis, jannypie, jaybe@jekyll, kk_Ataka, markets, redwallhp, schneems, szymzet, thomasdao, tomsugden, wǒ_is神仙, 张君君, Noah Slater, Abhi Yerra, Adam Heckler, Ahmed Hazem, Aigars Dzerviniks, Aleksey V. Zapparov, Andreas Möller, Andy Lindeman, Arlen Cuss, Aziz Shamim, Ben Baker-Smith, Ben Hanzl, Ben Hildred, Brian Kim, Brice, Carol Nichols, Chezou, Chris Jones, Christian Grobmeier, Christoph Hochstrasser, Christoph Schiessl, Clint Shryock, Colin Dean, Corey Ward, Damian Lettie, Daniel Schauenberg, David Ensinger, David Paschich, David Sawyer, David Silva Smith, Donald Perry, Doug Johnston, Edward Ball, Eric Dobson, Erik Dungan, Florent Guilleux, Francis, Frederic ROS, GSI2013, Garen Torikian, George Anderson, Giuseppe Capizzi, Ishibashi Hideto, Jarrod Birch, Jeff Kolesky, Jens Bissinger, Jens Krause, John Firebaugh, John Papandriopoulos, Josh Branchaud, Katy DeCorah, Lachlan Holden, Mark Prins, Markus Roth, Martin Charles, Matt Iversen, Matt Sheehan, Matt Swensen, Matthias Vogelgesang, Michael Parker, Miha Rekar, Nathan Youngman, Nick Quaranto, Nick Quinlan, Nick Schonning, Nicolas Alpi, Nicolás Reynolds, Nikkau, 4ensicLog, Octavian Damiean, Olov Lassus, PatrickC8t, Paul Annesley, and Paul Oppenheim.
26
+
27
+ Happy developing!
28
+
29
+ [changelog]: /docs/history/
30
+ [@jglovier]: https://github.com/jglovier
31
+ [jekyll-1]: {% post_url 2013-05-05-jekyll-1-0-0-released %}
@@ -6,14 +6,6 @@ next_section: migrations
6
6
  permalink: /docs/assets/
7
7
  ---
8
8
 
9
- <div class="note unreleased">
10
- <h5>Sass and CoffeeScript support is currently unreleased.</h5>
11
- <p>
12
- In order to use this feature, <a href="/docs/installation/#pre-releases">
13
- install the latest development version of Jekyll</a>.
14
- </p>
15
- </div>
16
-
17
9
  Jekyll provides built-in support for Sass and CoffeeScript. In order to use
18
10
  them, create a file with the proper extension name (one of `.sass`, `.scss`,
19
11
  or `.coffee`) and start the file with two lines of triple dashes, like this:
@@ -6,14 +6,6 @@ next_section: datafiles
6
6
  permalink: /docs/collections/
7
7
  ---
8
8
 
9
- <div class="note unreleased">
10
- <h5>Collections support is currently unreleased.</h5>
11
- <p>
12
- In order to use this feature, <a href="/docs/installation/#pre-releases">
13
- install the latest development version of Jekyll</a>.
14
- </p>
15
- </div>
16
-
17
9
  <div class="note warning">
18
10
  <h5>Collections support is unstable and may change</h5>
19
11
  <p>
@@ -155,13 +147,23 @@ In addition to any YAML front-matter provided in the document's corresponding fi
155
147
  </td>
156
148
  <td>
157
149
  <p>
158
- The content of the document. If no YAML front-matter is provided,
150
+ The (unrendered) content of the document. If no YAML front-matter is provided,
159
151
  this is the entirety of the file contents. If YAML front-matter
160
152
  is used, then this is all the contents of the file after the terminating
161
153
  `---` of the front-matter.
162
154
  </p>
163
155
  </td>
164
156
  </tr>
157
+ <tr>
158
+ <td>
159
+ <p><code>output</code></p>
160
+ </td>
161
+ <td>
162
+ <p>
163
+ The rendered output of the document, based on the <code>content</code>.
164
+ </p>
165
+ </td>
166
+ </tr>
165
167
  <tr>
166
168
  <td>
167
169
  <p><code>path</code></p>
@@ -95,7 +95,7 @@ class="flag">flags</code> (specified on the command-line) that control them.
95
95
  environment variable, which Ruby uses to handle time and date
96
96
  creation and manipulation. Any entry from the
97
97
  <a href="http://en.wikipedia.org/wiki/Tz_database">IANA Time Zone
98
- Database</a> is valid, e.g. <code>America/New_York</code>. A list of all
98
+ Database</a> is valid, e.g. <code>America/New_York</code>. A list of all
99
99
  available values can be found <a href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones">
100
100
  here</a>. The default is the local time zone, as set by your operating system.
101
101
  </p>
@@ -400,15 +400,6 @@ redcloth:
400
400
  hard_breaks: true
401
401
  {% endhighlight %}
402
402
 
403
- <div class="note unreleased">
404
- <h5>Kramdown as the default is currently unreleased.</h5>
405
- <p>
406
- In the latest development releases, we've deprecated Maruku and will default to
407
- Kramdown instead of Maruku. All versions below this will use Maruku as the
408
- default.
409
- </p>
410
- </div>
411
-
412
403
  ## Markdown Options
413
404
 
414
405
  The various Markdown renderers supported by Jekyll sometimes have extra options available.
@@ -446,3 +437,30 @@ For example, in your `_config.yml`:
446
437
 
447
438
  kramdown:
448
439
  input: GFM
440
+
441
+ ### Custom Markdown Processors
442
+
443
+ If you're interested in creating a custom markdown processor, you're in luck! Create a new class in the `Jekyll::Converters::Markdown` namespace:
444
+
445
+ {% highlight ruby %}
446
+ class Jekyll::Converters::Markdown::MyCustomProcessor
447
+ def initialize(config)
448
+ require 'funky_markdown'
449
+ @config = config
450
+ rescue LoadError
451
+ STDERR.puts 'You are missing a library required for Markdown. Please run:'
452
+ STDERR.puts ' $ [sudo] gem install funky_markdown'
453
+ raise FatalException.new("Missing dependency: funky_markdown")
454
+ end
455
+
456
+ def convert(content)
457
+ ::FunkyMarkdown.new(content).convert
458
+ end
459
+ end
460
+ {% endhighlight %}
461
+
462
+ Once you've created your class and have it properly setup either as a plugin in the `_plugins` folder or as a gem, specify it in your `_config.yml`:
463
+
464
+ {% highlight yaml %}
465
+ markdown: MyCustomProcessor
466
+ {% endhighlight %}
@@ -27,7 +27,7 @@ There are also a number of ways to easily automate the deployment of a Jekyll si
27
27
 
28
28
  ### Git post-update hook
29
29
 
30
- If you store your jekyll site in [Git](http://git-scm.com/) (you are using version control, right?), it’s pretty easy to automate the
30
+ If you store your Jekyll site in [Git](http://git-scm.com/) (you are using version control, right?), it’s pretty easy to automate the
31
31
  deployment process by setting up a post-update hook in your Git
32
32
  repository, [like
33
33
  this](http://web.archive.org/web/20091223025644/http://www.taknado.com/en/2009/03/26/deploying-a-jekyll-generated-site/).
@@ -5,6 +5,233 @@ permalink: "/docs/history/"
5
5
  prev_section: contributing
6
6
  ---
7
7
 
8
+ ## 2.0.0 / 2014-05-06
9
+
10
+ ### Major Enhancements
11
+ - Add "Collections" feature ([#2199]({{ site.repository }}/issues/2199))
12
+ - Add gem-based plugin whitelist to safe mode ([#1657]({{ site.repository }}/issues/1657))
13
+ - Replace the commander command line parser with a more robust
14
+ solution for our needs called `mercenary` ([#1706]({{ site.repository }}/issues/1706))
15
+ - Remove support for Ruby 1.8.x ([#1780]({{ site.repository }}/issues/1780))
16
+ - Move to jekyll/jekyll from mojombo/jekyll ([#1817]({{ site.repository }}/issues/1817))
17
+ - Allow custom markdown processors ([#1872]({{ site.repository }}/issues/1872))
18
+ - Provide support for the Rouge syntax highlighter ([#1859]({{ site.repository }}/issues/1859))
19
+ - Provide support for Sass ([#1932]({{ site.repository }}/issues/1932))
20
+ - Provide a 300% improvement when generating sites that use
21
+ `Post#next` or `Post#previous` ([#1983]({{ site.repository }}/issues/1983))
22
+ - Provide support for CoffeeScript ([#1991]({{ site.repository }}/issues/1991))
23
+ - Replace Maruku with Kramdown as Default Markdown Processor ([#1988]({{ site.repository }}/issues/1988))
24
+ - Expose `site.static_files` to Liquid ([#2075]({{ site.repository }}/issues/2075))
25
+ - Complete redesign of the template site generated by `jekyll new` ([#2050]({{ site.repository }}/issues/2050))
26
+ - Update Listen from 1.x to 2.x ([#2097]({{ site.repository }}/issues/2097))
27
+ - Front-matter defaults ([#2205]({{ site.repository }}/issues/2205))
28
+ - Deprecate `relative_permalinks` configuration option (default to `false`) ([#2307]({{ site.repository }}/issues/2307))
29
+ - Exclude files based on prefix as well as `fnmatch?` ([#2303]({{ site.repository }}/issues/2303))
30
+
31
+ ### Minor Enhancements
32
+ - Move the EntryFilter class into the Jekyll module to avoid polluting the
33
+ global namespace ([#1800]({{ site.repository }}/issues/1800))
34
+ - Add `group_by` Liquid filter create lists of items grouped by a common
35
+ property's value ([#1788]({{ site.repository }}/issues/1788))
36
+ - Add support for Maruku's `fenced_code_blocks` option ([#1799]({{ site.repository }}/issues/1799))
37
+ - Update Redcarpet dependency to ~> 3.0 ([#1815]({{ site.repository }}/issues/1815))
38
+ - Automatically sort all pages by name ([#1848]({{ site.repository }}/issues/1848))
39
+ - Better error message when time is not parseable ([#1847]({{ site.repository }}/issues/1847))
40
+ - Allow `include` tag variable arguments to use filters ([#1841]({{ site.repository }}/issues/1841))
41
+ - `post_url` tag should raise `ArgumentError` for invalid name ([#1825]({{ site.repository }}/issues/1825))
42
+ - Bump dependency `mercenary` to `~> 0.2.0` ([#1879]({{ site.repository }}/issues/1879))
43
+ - Bump dependency `safe_yaml` to `~> 1.0` ([#1886]({{ site.repository }}/issues/1886))
44
+ - Allow sorting of content by custom properties ([#1849]({{ site.repository }}/issues/1849))
45
+ - Add `--quiet` flag to silence output during build and serve ([#1898]({{ site.repository }}/issues/1898))
46
+ - Add a `where` filter to filter arrays based on a key/value pair
47
+ ([#1875]({{ site.repository }}/issues/1875))
48
+ - Route 404 errors to a custom 404 page in development ([#1899]({{ site.repository }}/issues/1899))
49
+ - Excludes are now relative to the site source ([#1916]({{ site.repository }}/issues/1916))
50
+ - Bring MIME Types file for `jekyll serve` to complete parity with GH Pages
51
+ servers ([#1993]({{ site.repository }}/issues/1993))
52
+ - Adding Breakpoint to make new site template more responsive ([#2038]({{ site.repository }}/issues/2038))
53
+ - Default to using the UTF-8 encoding when reading files. ([#2031]({{ site.repository }}/issues/2031))
54
+ - Update Redcarpet dependency to ~> 3.1 ([#2044]({{ site.repository }}/issues/2044))
55
+ - Remove support for Ruby 1.9.2 ([#2045]({{ site.repository }}/issues/2045))
56
+ - Add `.mkdown` as valid Markdown extension ([#2048]({{ site.repository }}/issues/2048))
57
+ - Add `index.xml` to the list of WEBrick directory index files ([#2041]({{ site.repository }}/issues/2041))
58
+ - Make the `layouts` config key relative to CWD or to source ([#2058]({{ site.repository }}/issues/2058))
59
+ - Update Kramdown to `~> 1.3` ([#1894]({{ site.repository }}/issues/1894))
60
+ - Remove unnecessary references to `self` ([#2090]({{ site.repository }}/issues/2090))
61
+ - Update to Mercenary v0.3.x ([#2085]({{ site.repository }}/issues/2085))
62
+ - Ship Sass support as a separate gem ([#2098]({{ site.repository }}/issues/2098))
63
+ - Extract core extensions into a Utils module ([#2112]({{ site.repository }}/issues/2112))
64
+ - Refactor CLI & Commands For Greater Happiness ([#2143]({{ site.repository }}/issues/2143))
65
+ - Provide useful error when Pygments returns `nil` and error out ([#2148]({{ site.repository }}/issues/2148))
66
+ - Add support for unpublished drafts ([#2164]({{ site.repository }}/issues/2164))
67
+ - Add `force_polling` option to the `serve` command ([#2165]({{ site.repository }}/issues/2165))
68
+ - Clean up the `<head>` in the site template ([#2186]({{ site.repository }}/issues/2186))
69
+ - Permit YAML blocks to end with three dots to better conform with the
70
+ YAML spec ([#2110]({{ site.repository }}/issues/2110))
71
+ - Use `File.exist?` instead of deprecated `File.exists?` ([#2214]({{ site.repository }}/issues/2214))
72
+ - Require newline after start of YAML front-matter header ([#2211]({{ site.repository }}/issues/2211))
73
+ - Add the ability for pages to be marked as `published: false` ([#1492]({{ site.repository }}/issues/1492))
74
+ - Add `Jekyll::LiquidExtensions` with `.lookup_variable` method for easy
75
+ looking up of variable values in a Liquid context. ([#2253]({{ site.repository }}/issues/2253))
76
+ - Remove literal lang name from class ([#2292]({{ site.repository }}/issues/2292))
77
+ - Return `utf-8` encoding in header for webrick error page response ([#2289]({{ site.repository }}/issues/2289))
78
+ - Make template site easier to customize ([#2268]({{ site.repository }}/issues/2268))
79
+ - Add two-digit year to permalink template option ([#2301]({{ site.repository }}/issues/2301))
80
+ - Add `site.documents` to Liquid payload (list of all docs) ([#2295]({{ site.repository }}/issues/2295))
81
+ - Take into account missing values in the Liquid sort filter ([#2299]({{ site.repository }}/issues/2299))
82
+
83
+ ### Bug Fixes
84
+ - Don't allow nil entries when loading posts ([#1796]({{ site.repository }}/issues/1796))
85
+ - Remove the scrollbar that's always displayed in new sites generated
86
+ from the site template ([#1805]({{ site.repository }}/issues/1805))
87
+ - Add `#path` to required methods in `Jekyll::Convertible` ([#1866]({{ site.repository }}/issues/1866))
88
+ - Default Maruku fenced code blocks to ON for 2.0.0-dev ([#1831]({{ site.repository }}/issues/1831))
89
+ - Change short opts for host and port for `jekyll docs` to be consistent with
90
+ other subcommands ([#1877]({{ site.repository }}/issues/1877))
91
+ - Fix typos ([#1910]({{ site.repository }}/issues/1910))
92
+ - Lock Maruku at 0.7.0 to prevent bugs caused by Maruku 0.7.1 ([#1958]({{ site.repository }}/issues/1958))
93
+ - Fixes full path leak to source directory when using include tag ([#1951]({{ site.repository }}/issues/1951))
94
+ - Don't generate pages that aren't being published ([#1931]({{ site.repository }}/issues/1931))
95
+ - Use `SafeYAML.load` to avoid conflicts with other projects ([#1982]({{ site.repository }}/issues/1982))
96
+ - Relative posts should never fail to build ([#1976]({{ site.repository }}/issues/1976))
97
+ - Remove executable bits of non executable files ([#2056]({{ site.repository }}/issues/2056))
98
+ - `#path` for a draft is now `_drafts` instead of `_posts` ([#2042]({{ site.repository }}/issues/2042))
99
+ - Patch a couple show-stopping security vulnerabilities ([#1946]({{ site.repository }}/issues/1946))
100
+ - Sanitize paths uniformly, in a Windows-friendly way ([#2065]({{ site.repository }}/issues/2065), [#2109]({{ site.repository }}/issues/2109))
101
+ - Update gem build steps to work correctly on Windows ([#2118]({{ site.repository }}/issues/2118))
102
+ - Remove obsolete `normalize_options` method call from `bin/jekyll` ([#2121]({{ site.repository }}/issues/2121)).
103
+ - Remove `+` characters from Pygments lexer names when adding as a CSS
104
+ class ([#994]({{ site.repository }}/issues/994))
105
+ - Remove some code that caused Ruby interpreter warnings ([#2178]({{ site.repository }}/issues/2178))
106
+ - Only strip the drive name if it begins the string ([#2175]({{ site.repository }}/issues/2175))
107
+ - Remove default post with invalid date from site template ([#2200]({{ site.repository }}/issues/2200))
108
+ - Fix `Post#url` and `Page#url` escape ([#1568]({{ site.repository }}/issues/1568))
109
+ - Strip newlines from the {% raw %}`{% highlight %}`{% endraw %} block content ([#1823]({{ site.repository }}/issues/1823))
110
+ - Load in `rouge` only when it's been requested as the highlighter ([#2189]({{ site.repository }}/issues/2189))
111
+ - Convert input to string before XML escaping (`xml_escape` liquid filter) ([#2244]({{ site.repository }}/issues/2244))
112
+ - Modify configuration key for Collections and reset properly. ([#2238]({{ site.repository }}/issues/2238))
113
+ - Avoid duplicated output using `highlight` tag ([#2264]({{ site.repository }}/issues/2264))
114
+ - Only use Jekyll.logger for output ([#2307]({{ site.repository }}/issues/2307))
115
+ - Close the file descriptor in `has_yaml_header?` ([#2310]({{ site.repository }}/issues/2310))
116
+ - Add `output` to `Document` liquid output hash ([#2309]({{ site.repository }}/issues/2309))
117
+
118
+ ### Development Fixes
119
+ - Add a link to the site in the README.md file ([#1795]({{ site.repository }}/issues/1795))
120
+ - Add in History and site changes from `v1-stable` branch ([#1836]({{ site.repository }}/issues/1836))
121
+ - Testing additions on the Excerpt class ([#1893]({{ site.repository }}/issues/1893))
122
+ - Fix the `highlight` tag feature ([#1859]({{ site.repository }}/issues/1859))
123
+ - Test Jekyll under Ruby 2.1.0 ([#1900]({{ site.repository }}/issues/1900))
124
+ - Add script/cibuild for fun and profit ([#1912]({{ site.repository }}/issues/1912))
125
+ - Use `Forwardable` for delegation between `Excerpt` and `Post`
126
+ ([#1927]({{ site.repository }}/issues/1927))
127
+ - Rename `read_things` to `read_content` ([#1928]({{ site.repository }}/issues/1928))
128
+ - Add `script/branding` script for ASCII art lovin' ([#1936]({{ site.repository }}/issues/1936))
129
+ - Update the README to reflect the repo move ([#1943]({{ site.repository }}/issues/1943))
130
+ - Add the project vision to the README ([#1935]({{ site.repository }}/issues/1935))
131
+ - Speed up Travis CI builds by using Rebund ([#1985]({{ site.repository }}/issues/1985))
132
+ - Use Yarp as a Gem proxy for Travis CI ([#1984]({{ site.repository }}/issues/1984))
133
+ - Remove Yarp as a Gem proxy for Travis CI ([#2004]({{ site.repository }}/issues/2004))
134
+ - Move the reading of layouts into its own class ([#2020]({{ site.repository }}/issues/2020))
135
+ - Test Sass import ([#2009]({{ site.repository }}/issues/2009))
136
+ - Switch Maruku and Kramdown in lists of Runtime vs. Development dependencies ([#2049]({{ site.repository }}/issues/2049))
137
+ - Clean up the gemspec for the project ([#2095]({{ site.repository }}/issues/2095))
138
+ - Add Japanese translation of README and CONTRIBUTING docs. ([#2081]({{ site.repository }}/issues/2081))
139
+ - Re-align the tables in Cucumber ([#2108]({{ site.repository }}/issues/2108))
140
+ - Trim trailing spaces and convert tabs to spaces ([#2122]({{ site.repository }}/issues/2122))
141
+ - Fix the failing Travis scenarios due to Cucumber issues ([#2155]({{ site.repository }}/issues/2155))
142
+ - Wrap `bundle install` in `travis_retry` to retry when RubyGems fails ([#2160]({{ site.repository }}/issues/2160))
143
+ - Refactor tags and categories ([#1639]({{ site.repository }}/issues/1639))
144
+ - Extract plugin management into its own class ([#2197]({{ site.repository }}/issues/2197))
145
+ - Add missing tests for `Command` ([#2216]({{ site.repository }}/issues/2216))
146
+ - Update `rr` link in CONTRIBUTING doc ([#2247]({{ site.repository }}/issues/2247))
147
+ - Streamline cucumber execution of `jekyll` subcommands ([#2258]({{ site.repository }}/issues/2258))
148
+ - Refactor `Commands::Serve`. ([#2269]({{ site.repository }}/issues/2269))
149
+ - Refactor `highlight` tag ([#2154]({{ site.repository }}/issues/2154))
150
+ - Update `Util` hash functions with latest from Rails ([#2273]({{ site.repository }}/issues/2273))
151
+ - Workaround for Travis bug ([#2290]({{ site.repository }}/issues/2290))
152
+
153
+ ### Site Enhancements
154
+ - Document Kramdown's GFM parser option ([#1791]({{ site.repository }}/issues/1791))
155
+ - Move CSS to includes & update normalize.css to v2.1.3 ([#1787]({{ site.repository }}/issues/1787))
156
+ - Minify CSS only in production ([#1803]({{ site.repository }}/issues/1803))
157
+ - Fix broken link to installation of Ruby on Mountain Lion blog post on
158
+ Troubleshooting docs page ([#1797]({{ site.repository }}/issues/1797))
159
+ - Fix issues with 1.4.1 release blog post ([#1804]({{ site.repository }}/issues/1804))
160
+ - Add note about deploying to OpenShift ([#1812]({{ site.repository }}/issues/1812))
161
+ - Collect all Windows-related docs onto one page ([#1818]({{ site.repository }}/issues/1818))
162
+ - Fixed typo in datafiles doc page ([#1854]({{ site.repository }}/issues/1854))
163
+ - Clarify how to access `site` in docs ([#1864]({{ site.repository }}/issues/1864))
164
+ - Add closing `<code>` tag to `context.registers[:site]` note ([#1867]({{ site.repository }}/issues/1867))
165
+ - Fix link to [@mojombo](https://github.com/mojombo)'s site source ([#1897]({{ site.repository }}/issues/1897))
166
+ - Add `paginate: nil` to default configuration in docs ([#1896]({{ site.repository }}/issues/1896))
167
+ - Add link to our License in the site footer ([#1889]({{ site.repository }}/issues/1889))
168
+ - Add a charset note in "Writing Posts" doc page ([#1902]({{ site.repository }}/issues/1902))
169
+ - Disallow selection of path and prompt in bash examples
170
+ - Add jekyll-compass to the plugin list ([#1923]({{ site.repository }}/issues/1923))
171
+ - Add note in Posts docs about stripping `<p>` tags from excerpt ([#1933]({{ site.repository }}/issues/1933))
172
+ - Add additional info about the new exclude behavior ([#1938]({{ site.repository }}/issues/1938))
173
+ - Linkify 'awesome contributors' to point to the contributors graph on
174
+ GitHub ([#1940]({{ site.repository }}/issues/1940))
175
+ - Update `docs/sites.md` link to GitHub Training materials ([#1949]({{ site.repository }}/issues/1949))
176
+ - Update `master` with the release info from 1.4.3 ([#1947]({{ site.repository }}/issues/1947))
177
+ - Define docs nav in datafile ([#1953]({{ site.repository }}/issues/1953))
178
+ - Clarify the docs around the naming convention for posts ([#1971]({{ site.repository }}/issues/1971))
179
+ - Add missing `next` and `previous` docs for post layouts and templates ([#1970]({{ site.repository }}/issues/1970))
180
+ - Add note to `Writing posts` page about how to strip html from excerpt ([#1962]({{ site.repository }}/issues/1962))
181
+ - Add `jekyll-humanize` plugin to plugin list ([#1998]({{ site.repository }}/issues/1998))
182
+ - Add `jekyll-font-awesome` plugin to plugin list ([#1999]({{ site.repository }}/issues/1999))
183
+ - Add `sublime-jekyll` to list of Editor plugins ([#2001]({{ site.repository }}/issues/2001))
184
+ - Add `vim-jekyll` to the list of Editor plugins ([#2005]({{ site.repository }}/issues/2005))
185
+ - Fix non-semantic nesting of `p` tags in `news_item` layout ([#2013]({{ site.repository }}/issues/2013))
186
+ - Document destination folder cleaning ([#2016]({{ site.repository }}/issues/2016))
187
+ - Updated instructions for NearlyFreeSpeech.NET installation ([#2015]({{ site.repository }}/issues/2015))
188
+ - Update link to rack-jekyll on "Deployment Methods" page ([#2047]({{ site.repository }}/issues/2047))
189
+ - Fix typo in /docs/configuration ([#2073]({{ site.repository }}/issues/2073))
190
+ - Fix count in docs for `site.static_files` ([#2077]({{ site.repository }}/issues/2077))
191
+ - Update configuration docs to indicate utf-8 is the default for 2.0.0
192
+ and ASCII for 1.9.3 ([#2074]({{ site.repository }}/issues/2074))
193
+ - Add info about unreleased feature to the site ([#2061]({{ site.repository }}/issues/2061))
194
+ - Add whitespace to liquid example in GitHub Pages docs ([#2084]({{ site.repository }}/issues/2084))
195
+ - Clarify the way Sass and CoffeeScript files are read in and output ([#2067]({{ site.repository }}/issues/2067))
196
+ - Add lyche gallery tag plugin link to list of plugins ([#2094]({{ site.repository }}/issues/2094))
197
+ - Add Jekyll Pages Directory plugin to list of plugins ([#2096]({{ site.repository }}/issues/2096))
198
+ - Update Configuration docs page with new markdown extension ([#2102]({{ site.repository }}/issues/2102))
199
+ - Add `jekyll-image-set` to the list of third-party plugins ([#2105]({{ site.repository }}/issues/2105))
200
+ - Losslessly compress images ([#2128]({{ site.repository }}/issues/2128))
201
+ - Update normalize.css to 3.0.0 ([#2126]({{ site.repository }}/issues/2126))
202
+ - Update modernizr to v2.7.1 ([#2129]({{ site.repository }}/issues/2129))
203
+ - Add `jekyll-ordinal` to list of third-party plugins ([#2150]({{ site.repository }}/issues/2150))
204
+ - Add `jekyll_figure` to list of third-party plugins ([#2158]({{ site.repository }}/issues/2158))
205
+ - Clarify the documentation for safe mode ([#2163]({{ site.repository }}/issues/2163))
206
+ - Some HTML tidying ([#2130]({{ site.repository }}/issues/2130))
207
+ - Remove modernizr and use html5shiv.js directly for IE less than v9 ([#2131]({{ site.repository }}/issues/2131))
208
+ - Remove unused images ([#2187]({{ site.repository }}/issues/2187))
209
+ - Use `array_to_sentence_string` filter when outputting news item
210
+ categories ([#2191]({{ site.repository }}/issues/2191))
211
+ - Add link to Help repo in primary navigation bar ([#2177]({{ site.repository }}/issues/2177))
212
+ - Switch to using an ico file for the shortcut icon ([#2193]({{ site.repository }}/issues/2193))
213
+ - Use numbers to specify font weights and only bring in font weights used ([#2185]({{ site.repository }}/issues/2185))
214
+ - Add a link to the list of all tz database time zones ([#1824]({{ site.repository }}/issues/1824))
215
+ - Clean-up and improve documentation `feed.xml` ([#2192]({{ site.repository }}/issues/2192))
216
+ - Remove duplicate entry in list of third-party plugins ([#2206]({{ site.repository }}/issues/2206))
217
+ - Reduce the whitespace in the favicon. ([#2213]({{ site.repository }}/issues/2213))
218
+ - Add `jekyll-page-collections` to list of third-party plugins ([#2215]({{ site.repository }}/issues/2215))
219
+ - Add a cross-reference about `post_url` ([#2243]({{ site.repository }}/issues/2243))
220
+ - Add `jekyll-live-tiles` to list of third-party plugins ([#2250]({{ site.repository }}/issues/2250))
221
+ - Fixed broken link to GitHub training material site source ([#2257]({{ site.repository }}/issues/2257))
222
+ - Update link to help repo, now called `jekyll-help` ([#2277]({{ site.repository }}/issues/2277))
223
+ - Fix capitalization of 'Jekyll' on Deployment Methods page ([#2291]({{ site.repository }}/issues/2291))
224
+ - Include plugins by sonnym in list of third-party plugins ([#2297]({{ site.repository }}/issues/2297))
225
+ - Add deprecated articles keeper filter to list of third-party plugins ([#2300]({{ site.repository }}/issues/2300))
226
+ - Simplify and improve our CSS. ([#2127]({{ site.repository }}/issues/2127))
227
+ - Use black text color for the mobile navbar ([#2306]({{ site.repository }}/issues/2306))
228
+ - Use the built in date filter and `site.time` for the copyright year. ([#2305]({{ site.repository }}/issues/2305))
229
+ - Update html5shiv to v3.7.2 ([#2304]({{ site.repository }}/issues/2304))
230
+ - Add 2.0.0 release post ([#2298]({{ site.repository }}/issues/2298))
231
+ - Add docs for custom markdown processors ([#2298]({{ site.repository }}/issues/2298))
232
+ - Add docs for `where` and `group_by` Liquid filters ([#2298]({{ site.repository }}/issues/2298))
233
+ - Remove notes in docs for unreleased features ([#2309]({{ site.repository }}/issues/2309))
234
+
8
235
  ## 1.5.1 / 2014-03-27
9
236
 
10
237
  ### Bug Fixes
@@ -67,6 +67,14 @@ permalink is defined as `/:categories/:year/:month/:day/:title.html`.
67
67
  <p>Day from the Post’s filename without leading zeros.</p>
68
68
  </td>
69
69
  </tr>
70
+ <tr>
71
+ <td>
72
+ <p><code>short_year</code></p>
73
+ </td>
74
+ <td>
75
+ <p>Year from the Post’s filename without the century.</p>
76
+ </td>
77
+ </tr>
70
78
  <tr>
71
79
  <td>
72
80
  <p><code>title</code></p>
@@ -73,7 +73,7 @@ instances of
73
73
  and are available via `site.pages`. Static files become instances of
74
74
  [`Jekyll::StaticFile`]({{ site.repository }}/blob/master/lib/jekyll/static_file.rb)
75
75
  and are available via `site.static_files`. See
76
- [the Variables documentation page](../installation/) and
76
+ [the Variables documentation page](/docs/variables/) and
77
77
  [`Jekyll::Site`]({{ site.repository }}/blob/master/lib/jekyll/site.rb)
78
78
  for more details.
79
79
 
@@ -462,6 +462,7 @@ You can find a few useful plugins at the following locations:
462
462
  - [Table of Content Generator](https://github.com/dafi/jekyll-toc-generator): Generate the HTML code containing a table of content (TOC), the TOC can be customized in many way, for example you can decide which pages can be without TOC.
463
463
  - [jekyll-humanize](https://github.com/23maverick23/jekyll-humanize): This is a port of the Django app humanize which adds a "human touch" to data. Each method represents a Fluid type filter that can be used in your Jekyll site templates. Given that Jekyll produces static sites, some of the original methods do not make logical sense to port (e.g. naturaltime).
464
464
  - [Jekyll-Ordinal](https://github.com/PatrickC8t/Jekyll-Ordinal): Jekyll liquid filter to output a date ordinal such as "st", "nd", "rd", or "th".
465
+ - [Deprecated articles keeper](https://github.com/kzykbys/JekyllPlugins) by [Kazuya Kobayashi](http://blog.kazuya.co/): A simple Jekyll filter which monitor how old an article is.
465
466
 
466
467
  #### Tags
467
468
 
@@ -79,6 +79,32 @@ common tasks easier.
79
79
  </p>
80
80
  </td>
81
81
  </tr>
82
+ <tr>
83
+ <td>
84
+ <p class="name"><strong>Where</strong></p>
85
+ <p>Select all the object in an array where the key has the given.</p>
86
+ </td>
87
+ <td class="align-center">
88
+ <p>
89
+ <code class="filter">{% raw %}{{ site.members | where:"graduation_year","2014" }}{% endraw %}</code>
90
+ </p>
91
+ </td>
92
+ </tr>
93
+ <tr>
94
+ <td>
95
+ <p class="name"><strong>Group By</strong></p>
96
+ <p>Group an array's items by a given property.</p>
97
+ </td>
98
+ <td class="align-center">
99
+ <p>
100
+ <code class="filter">{% raw %}{{ site.members | group_by:"graduation_year" }}{% endraw %}</code>
101
+ </p>
102
+ <p>
103
+ <code class="output">[{"name"=>"2013", "items"=>[...]},
104
+ {"name"=>"2014", "items"=>[...]}]</code>
105
+ </p>
106
+ </td>
107
+ </tr>
82
108
  <tr>
83
109
  <td>
84
110
  <p class="name"><strong>XML Escape</strong></p>
@@ -184,6 +210,23 @@ common tasks easier.
184
210
  </p>
185
211
  </td>
186
212
  </tr>
213
+ <tr>
214
+ <td>
215
+ <p class="name"><strong>Sort</strong></p>
216
+ <p>Sort an array. Optional arguments for hashes: 1.&nbsp;property name 2.&nbsp;nils order (<em>first</em> or <em>last</em>).</p>
217
+ </td>
218
+ <td class="align-center">
219
+ <p>
220
+ <code class="filter">{% raw %}{{ page.tags | sort }}{% endraw %}</code>
221
+ </p>
222
+ <p>
223
+ <code class="filter">{% raw %}{{ site.posts | sort: 'author' }}{% endraw %}</code>
224
+ </p>
225
+ <p>
226
+ <code class="filter">{% raw %}{{ site.pages | sort: 'title', 'last' }}{% endraw %}</code>
227
+ </p>
228
+ </td>
229
+ </tr>
187
230
  </tbody>
188
231
  </table>
189
232
  </div>