jekyll 1.0.2 → 1.0.3

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 (58) hide show
  1. checksums.yaml +8 -8
  2. data/History.markdown +46 -0
  3. data/Rakefile +35 -1
  4. data/bin/jekyll +6 -4
  5. data/features/create_sites.feature +8 -8
  6. data/features/drafts.feature +3 -3
  7. data/features/embed_filters.feature +5 -5
  8. data/features/markdown.feature +2 -2
  9. data/features/pagination.feature +8 -8
  10. data/features/permalinks.feature +5 -5
  11. data/features/post_data.feature +23 -23
  12. data/features/site_configuration.feature +9 -9
  13. data/features/site_data.feature +14 -14
  14. data/features/step_definitions/jekyll_steps.rb +16 -27
  15. data/features/support/env.rb +11 -6
  16. data/jekyll.gemspec +7 -4
  17. data/lib/jekyll.rb +7 -2
  18. data/lib/jekyll/command.rb +3 -3
  19. data/lib/jekyll/commands/build.rb +5 -5
  20. data/lib/jekyll/commands/doctor.rb +2 -2
  21. data/lib/jekyll/commands/new.rb +8 -3
  22. data/lib/jekyll/configuration.rb +31 -6
  23. data/lib/jekyll/converters/markdown/maruku_parser.rb +11 -7
  24. data/lib/jekyll/convertible.rb +4 -7
  25. data/lib/jekyll/deprecator.rb +2 -2
  26. data/lib/jekyll/filters.rb +12 -2
  27. data/lib/jekyll/generators/pagination.rb +3 -2
  28. data/lib/jekyll/layout.rb +3 -0
  29. data/lib/jekyll/post.rb +1 -23
  30. data/lib/jekyll/related_posts.rb +58 -0
  31. data/lib/jekyll/site.rb +2 -4
  32. data/lib/jekyll/{logger.rb → stevenson.rb} +26 -12
  33. data/lib/jekyll/tags/gist.rb +13 -3
  34. data/lib/site_template/_layouts/default.html +1 -1
  35. data/lib/site_template/_layouts/post.html +1 -1
  36. data/lib/site_template/css/main.css +7 -7
  37. data/site/_includes/docs_contents.html +3 -0
  38. data/site/css/pygments.css +1 -1
  39. data/site/css/style.css +9 -2
  40. data/site/docs/deployment-methods.md +1 -1
  41. data/site/docs/frontmatter.md +10 -0
  42. data/site/docs/history.md +536 -0
  43. data/site/docs/installation.md +2 -4
  44. data/site/docs/migrations.md +57 -58
  45. data/site/docs/plugins.md +3 -0
  46. data/site/docs/posts.md +24 -2
  47. data/site/docs/templates.md +50 -3
  48. data/site/docs/upgrading.md +45 -29
  49. data/test/source/_layouts/default.html +1 -1
  50. data/test/test_configuration.rb +15 -3
  51. data/test/test_page.rb +1 -1
  52. data/test/test_pager.rb +7 -0
  53. data/test/test_post.rb +11 -11
  54. data/test/test_redcloth.rb +3 -3
  55. data/test/test_related_posts.rb +41 -0
  56. data/test/test_site.rb +6 -6
  57. data/test/test_tags.rb +40 -0
  58. metadata +9 -5
@@ -50,10 +50,8 @@ community can improve the experience for everyone.
50
50
 
51
51
  There are a number of (optional) extra features that Jekyll supports that you
52
52
  may want to install, depending on how you plan to use Jekyll. These extras
53
- include syntax highlighting of code snippets using
54
- [Pygments](http://pygments.org/), LaTeX support, and the use of alternative
55
- content rendering engines. Check out [the extras page](../extras) for more
56
- information.
53
+ include LaTeX support, and the use of alternative content rendering engines.
54
+ Check out [the extras page](../extras) for more information.
57
55
 
58
56
  <div class="note">
59
57
  <h5>ProTip™: Enable Syntax Highlighting</h5>
@@ -15,12 +15,13 @@ the foreign system.
15
15
  ## Preparing for migrations
16
16
 
17
17
  Because the importers have many of their own dependencies, they are made
18
- available via a separate gem called `jekyll-import`. To use them, all you need
19
- to do is install the gem, and they will become available as part of Jekyll's
20
- standard command line interface.
18
+ available via a separate gem called
19
+ [`jekyll-import`](https://github.com/jekyll/jekyll-import). To use them, all
20
+ you need to do is install the gem, and they will become available as part of
21
+ Jekyll's standard command line interface.
21
22
 
22
23
  {% highlight bash %}
23
- $ gem install jekyll-import
24
+ $ gem install jekyll-import --pre
24
25
  {% endhighlight %}
25
26
 
26
27
  You should now be all set to run the importers below. If you ever get stuck, you
@@ -55,13 +56,13 @@ Next, export your blog using the Wordpress export utility. Assuming that the
55
56
  exported file is saved as `wordpress.xml`, here is the command you need to run:
56
57
 
57
58
  {% highlight bash %}
58
- $ ruby -rubygems -e 'require "jekyll/migrators/wordpressdotcom";
59
- Jekyll::WordpressDotCom.process("wordpress.xml")'
59
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/wordpressdotcom";
60
+ JekyllImport::WordpressDotCom.process("wordpress.xml")'
60
61
  {% endhighlight %}
61
62
 
62
63
  <div class="note">
63
64
  <h5>ProTip™: Wordpress.com Export Tool</h5>
64
- <p>If you are migrating from a Wordpress.com account, you can access the export tool at the following URL: `https://YOUR-USER-NAME.wordpress.com/wp-admin/export.php`.</p>
65
+ <p markdown="1">If you are migrating from a Wordpress.com account, you can access the export tool at the following URL: `https://YOUR-USER-NAME.wordpress.com/wp-admin/export.php`.</p>
65
66
  </div>
66
67
 
67
68
  ### Using Wordpress MySQL server connection
@@ -69,8 +70,8 @@ $ ruby -rubygems -e 'require "jekyll/migrators/wordpressdotcom";
69
70
  If you want to import using a direct connection to the Wordpress MySQL server, here's how:
70
71
 
71
72
  {% highlight bash %}
72
- $ ruby -rubygems -e 'require "jekyll/migrators/wordpress";
73
- Jekyll::WordPress.process("database", "user", "pass")'
73
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/wordpress";
74
+ JekyllImport::WordPress.process("database", "user", "pass")'
74
75
  {% endhighlight %}
75
76
 
76
77
  If you are using Webfaction and have to set up an [SSH
@@ -80,8 +81,8 @@ your access based on `localhost` and `127.0.0.1` not being equivalent in its
80
81
  authentication system:
81
82
 
82
83
  {% highlight bash %}
83
- $ ruby -rubygems -e 'require "jekyll/migrators/wordpress";
84
- Jekyll::WordPress.process("database", "user", "pass", "127.0.0.1")'
84
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/wordpress";
85
+ JekyllImport::WordPress.process("database", "user", "pass", "127.0.0.1")'
85
86
  {% endhighlight %}
86
87
 
87
88
  ### Further Wordpress migration alternatives
@@ -104,29 +105,38 @@ might be useful to you:
104
105
 
105
106
  ## Drupal
106
107
 
107
- If you’re migrating from [Drupal](http://drupal.org), there is [a
108
- migrator](https://github.com/mojombo/jekyll/blob/master/lib/jekyll/migrators/drupal.rb)
109
- for you too:
108
+ If you’re migrating from [Drupal](http://drupal.org), there are two migrators
109
+ for you, depending upon your Drupal version:
110
+ - [Drupal 6](https://github.com/jekyll/jekyll-import/blob/v0.1.0.beta1/lib/jekyll/jekyll-import/drupal6.rb)
111
+ - [Drupal 7](https://github.com/jekyll/jekyll-import/blob/v0.1.0.beta1/lib/jekyll/jekyll-import/drupal7.rb)
110
112
 
111
113
  {% highlight bash %}
112
- $ ruby -rubygems -e 'require "jekyll/migrators/drupal";
113
- Jekyll::Drupal.process("database", "user", "pass")'
114
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/drupal6";
115
+ JekyllImport::Drupal6.process("dbname", "user", "pass")'
116
+ # ... or ...
117
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/drupal7";
118
+ JekyllImport::Drupal7.process("dbname", "user", "pass")'
114
119
  {% endhighlight %}
115
120
 
116
- <div class="note warning">
117
- <h5>Warning: Drupal Version Compatibility</h5>
118
- <p>This migrator was written for Drupal 6.1 and may not work as expected with
119
- newer versions of Drupal. Please update it and send us a pull request if
120
- necessary.</p>
121
- </div>
121
+ If you are connecting to a different host or need to specify a table prefix for
122
+ your database, you may optionally add those two parameters to the end of either
123
+ Drupal migrator execution:
124
+
125
+ {% highlight bash %}
126
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/drupal6";
127
+ JekyllImport::Drupal6.process("dbname", "user", "pass", "host", "table_prefix")'
128
+ # ... or ...
129
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/drupal7";
130
+ JekyllImport::Drupal7.process("dbname", "user", "pass", "host", "table_prefix")'
131
+ {% endhighlight %}
122
132
 
123
133
  ## Movable Type
124
134
 
125
135
  To import posts from Movable Type:
126
136
 
127
137
  {% highlight bash %}
128
- $ ruby -rubygems -e 'require "jekyll/migrators/mt";
129
- Jekyll::MT.process("database", "user", "pass")'
138
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/mt";
139
+ JekyllImport::MT.process("database", "user", "pass")'
130
140
  {% endhighlight %}
131
141
 
132
142
  ## Typo
@@ -134,8 +144,8 @@ $ ruby -rubygems -e 'require "jekyll/migrators/mt";
134
144
  To import posts from Typo:
135
145
 
136
146
  {% highlight bash %}
137
- $ ruby -rubygems -e 'require "jekyll/migrators/typo";
138
- Jekyll::Typo.process("database", "user", "pass")'
147
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/typo";
148
+ JekyllImport::Typo.process("database", "user", "pass")'
139
149
  {% endhighlight %}
140
150
 
141
151
  This code has only been tested with Typo version 4+.
@@ -145,8 +155,8 @@ This code has only been tested with Typo version 4+.
145
155
  To import posts from TextPattern:
146
156
 
147
157
  {% highlight bash %}
148
- $ ruby -rubygems -e 'require "jekyll/migrators/textpattern";
149
- Jekyll::TextPattern.process("database_name", "username", "password", "hostname")'
158
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/textpattern";
159
+ JekyllImport::TextPattern.process("database_name", "username", "password", "hostname")'
150
160
  {% endhighlight %}
151
161
 
152
162
  You will need to run the above from the parent directory of your `_import`
@@ -161,15 +171,15 @@ sticky.
161
171
  To import posts from Mephisto:
162
172
 
163
173
  {% highlight bash %}
164
- $ ruby -rubygems -e 'require "jekyll/migrators/mephisto";
165
- Jekyll::Mephisto.process("database", "user", "password")'
174
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/mephisto";
175
+ JekyllImport::Mephisto.process("database", "user", "password")'
166
176
  {% endhighlight %}
167
177
 
168
178
  If your data is in Postgres, you should do this instead:
169
179
 
170
180
  {% highlight bash %}
171
- $ ruby -rubygems -e 'require "jekyll/migrators/mephisto";
172
- Jekyll::Mephisto.postgres({:database => "database", :username=>"username", :password =>"password"})'
181
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/mephisto";
182
+ JekyllImport::Mephisto.postgres({:database => "database", :username=>"username", :password =>"password"})'
173
183
  {% endhighlight %}
174
184
 
175
185
  ## Blogger (Blogspot)
@@ -196,16 +206,16 @@ alternatives:
196
206
  To import posts from your primary Posterous blog:
197
207
 
198
208
  {% highlight bash %}
199
- $ ruby -rubygems -e 'require "jekyll/migrators/posterous";
200
- Jekyll::Posterous.process("my_email", "my_pass")'
209
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/posterous";
210
+ JekyllImport::Posterous.process("my_email", "my_pass")'
201
211
  {% endhighlight %}
202
212
 
203
213
  For any other Posterous blog on your account, you will need to specify the
204
214
  `blog_id` for the blog:
205
215
 
206
216
  {% highlight bash %}
207
- $ ruby -rubygems -e 'require "jekyll/migrators/posterous";
208
- Jekyll::Posterous.process("my_email", "my_pass", "blog_id")'
217
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/posterous";
218
+ JekyllImport::Posterous.process("my_email", "my_pass", "blog_id")'
209
219
  {% endhighlight %}
210
220
 
211
221
  There is also an [alternative Posterous
@@ -217,30 +227,19 @@ that maintains permalinks and attempts to import images too.
217
227
  To import posts from Tumblr:
218
228
 
219
229
  {% highlight bash %}
220
- $ ruby -rubygems -e 'require "jekyll/migrators/tumblr";
221
- Jekyll::Tumblr.process("http://www.your_blog_url.com", true)'
222
- {% endhighlight %}
223
-
224
- There is also [a modified Tumblr
225
- migrator](https://github.com/stephenmcd/jekyll/blob/master/lib/jekyll/migrators/tumblr.rb)
226
- that exports posts as Markdown and preserves post tags.
227
-
228
- The migrator above requires the `json` gem and Python's `html2text` to be
229
- installed as follows:
230
-
231
- {% highlight bash %}
232
- $ gem install json
233
- $ pip install html2text
234
- {% endhighlight %}
235
-
236
- Once installed, simply use the format argument:
237
-
238
- {% highlight bash %}
239
- $ ruby -rubygems -e 'require "jekyll/migrators/tumblr";
240
- Jekyll::Tumblr.process("http://www.your_blog_url.com", format="md")'
230
+ $ ruby -rubygems -e 'require "jekyll/jekyll-import/tumblr";
231
+ JekyllImport::Tumblr.process(url, format, grab_images, add_highlights, rewrite_urls)'
232
+ # url - String: your blog's URL
233
+ # format - String: the output file extension. Use "md" to have your content
234
+ # converted from HTML to Markdown. Defaults to "html".
235
+ # grab_images - Boolean: whether to download images as well. Defaults to false.
236
+ # add_highlights - Boolean: whether to wrap code blocks (indented 4 spaces) in a Liquid
237
+ "highlight" tag. Defaults to false.
238
+ # rewrite_urls - Boolean: whether to write pages that redirect from the old Tumblr paths
239
+ to the new Jekyll paths. Defaults to false.
241
240
  {% endhighlight %}
242
241
 
243
242
  ## Other Systems
244
243
 
245
244
  If you have a system for which there is currently no migrator, consider writing
246
- one and sending us a pull request.
245
+ one and sending us [a pull request](https://github.com/jekyll/jekyll-import).
@@ -404,6 +404,7 @@ There are a few useful, prebuilt plugins at the following locations:
404
404
  - [jekyll-rendering](https://github.com/blackwinter/jekyll-rendering): Jekyll plugin to provide alternative rendering engines.
405
405
  - [jekyll-pagination](https://github.com/blackwinter/jekyll-pagination): Jekyll plugin to extend the pagination generator.
406
406
  - [jekyll-tagging](https://github.com/pattex/jekyll-tagging): Jekyll plugin to automatically generate a tag cloud and tag pages.
407
+ - [jekyll-contentblocks](https://github.com/rustygeldmacher/jekyll-contentblocks): Lets you use Rails-like content_for tags in your templates, for passing content from your posts up to your layouts.
407
408
  - [Generate YouTube Embed (tag)](https://gist.github.com/1805814) by [joelverhagen](https://github.com/joelverhagen): Jekyll plugin which allows you to embed a YouTube video in your page with the YouTube ID. Optionally specify width and height dimensions. Like “oEmbed Tag” but just for YouTube.
408
409
  - [JSON Filter](https://gist.github.com/1850654) by [joelverhagen](https://github.com/joelverhagen): filter that takes input text and outputs it as JSON. Great for rendering JavaScript.
409
410
  - [jekyll-beastiepress](https://github.com/okeeblow/jekyll-beastiepress): FreeBSD utility tags for Jekyll sites.
@@ -426,6 +427,8 @@ There are a few useful, prebuilt plugins at the following locations:
426
427
  - [File compressor](https://gist.github.com/2758691) by [mytharcher](https://github.com/mytharcher): Compress HTML (\*.html) and JavaScript(\*.js) files when output.
427
428
  - [smilify](https://github.com/SaswatPadhi/jekyll_smilify) by [SaswatPadhi](https://github.com/SaswatPadhi): Convert text emoticons in your content to themeable smiley pics. [Demo](http://saswatpadhi.github.com/)
428
429
  - [excerpts](http://blog.darkrefraction.com/2012/jekyll-excerpt-plugin.html) by [drawoc](https://github.com/drawoc): provides a nice way to implement page excerpts.
430
+ - [jekyll-minibundle](https://github.com/tkareine/jekyll-minibundle): Asset bundling and cache busting using external minification tool of your choice, no gem dependencies.
431
+ - [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid with a Liquid tag.
429
432
 
430
433
  <div class="note info">
431
434
  <h5>Jekyll Plugins Wanted</h5>
@@ -113,11 +113,33 @@ Of course, you have full control over how (and where) you display your posts,
113
113
  and how you structure your site. You should read more about [how templates
114
114
  work](../templates) with Jekyll if you want to know more.
115
115
 
116
+ ## Post excerpts
117
+
118
+ Each post automatically takes the first block of text, from the beginning of the content
119
+ to the first occurrence of `excerpt_separator`, and sets it as the `post.excerpt`.
120
+ Take the above example of an index of posts. Perhaps you want to include
121
+ a little hint about the post's content by adding the first paragraph of each of your
122
+ posts:
123
+
124
+ {% highlight html %}
125
+ <ul>
126
+ {% raw %}{% for post in site.posts %}{% endraw %}
127
+ <li>
128
+ <a href="{% raw %}{{ post.url }}{% endraw %}">{% raw %}{{ post.title }}{% endraw %}</a>
129
+ <p>{% raw %}{{ post.excerpt }}{% endraw %}</p>
130
+ </li>
131
+ {% raw %}{% endfor %}{% endraw %}
132
+ </ul>
133
+ {% endhighlight %}
134
+
135
+ If you don't like the automatically-generated post excerpt, it can be overridden by adding
136
+ `excerpt` to your post's YAML front-matter.
137
+
116
138
  ## Highlighting code snippets
117
139
 
118
140
  Jekyll also has built-in support for syntax highlighting of code snippets using
119
- [Pygments](../extras), and including a code snippet in any post is easy. Just
120
- use the dedicated Liquid tag as follows:
141
+ Pygments, and including a code snippet in any post is easy. Just use the
142
+ dedicated Liquid tag as follows:
121
143
 
122
144
  {% highlight text %}
123
145
  {% raw %}{% highlight ruby %}{% endraw %}
@@ -37,6 +37,20 @@ common tasks easier.
37
37
  </p>
38
38
  </td>
39
39
  </tr>
40
+ <tr>
41
+ <td>
42
+ <p class='name'><strong>Date to RFC-822 Format</strong></p>
43
+ <p>Convert a Date into the RFC-822 format used for RSS feeds.</p>
44
+ </td>
45
+ <td class='align-center'>
46
+ <p>
47
+ <code class='filter'>{% raw %}{{ site.time | date_to_rfc822 }}{% endraw %}</code>
48
+ </p>
49
+ <p>
50
+ <code class='output'>Mon, 17 Nov 2008 13:07:54 -0800</code>
51
+ </p>
52
+ </td>
53
+ </tr>
40
54
  <tr>
41
55
  <td>
42
56
  <p class='name'><strong>Date to String</strong></p>
@@ -93,6 +107,22 @@ common tasks easier.
93
107
  </p>
94
108
  </td>
95
109
  </tr>
110
+ <tr>
111
+ <td>
112
+ <p class='name'><strong>URI Escape</strong></p>
113
+ <p>
114
+ URI escape a string.
115
+ </p>
116
+ </td>
117
+ <td class='align-center'>
118
+ <p>
119
+ <code class='filter'>{% raw %}{{ “'foo, bar \\baz?'” | uri_escape }}{% endraw %}</code>
120
+ </p>
121
+ <p>
122
+ <code class='output'>foo,%20bar%20%5Cbaz?</code>
123
+ </p>
124
+ </td>
125
+ </tr>
96
126
  <tr>
97
127
  <td>
98
128
  <p class='name'><strong>Number of Words</strong></p>
@@ -166,9 +196,8 @@ root of your source directory. This will embed the contents of
166
196
 
167
197
  Jekyll has built in support for syntax highlighting of [over 100
168
198
  languages](http://pygments.org/languages/) thanks to
169
- [Pygments](http://pygments.org/). In order to take advantage of this you’ll need
170
- to have Pygments installed, and the `pygmentize` binary must be in your `$PATH`.
171
- When you run Jekyll, make sure you run it with [Pygments enabled](../extras).
199
+ [Pygments](http://pygments.org/). When you run Jekyll, make sure you run it
200
+ with `pygments` set to `true` in your configuration file.
172
201
 
173
202
  To render a code block with syntax highlighting, surround your code as follows:
174
203
 
@@ -234,3 +263,21 @@ You can also use this tag to create a link to a post in Markdown as follows:
234
263
  [Name of Link]({% post_url 2010-07-21-name-of-post %})
235
264
  {% endraw %}
236
265
  {% endhighlight %}
266
+
267
+ ### Gist
268
+
269
+ Use the `gist` tag to easily embed a GitHub Gist onto your site:
270
+
271
+ {% highlight text %}
272
+ {% raw %}
273
+ {% gist 5555251 %}
274
+ {% endraw %}
275
+ {% endhighlight %}
276
+
277
+ You may also optionally specify the filename in the gist to display:
278
+
279
+ {% highlight text %}
280
+ {% raw %}
281
+ {% gist 5555251 result.md %}
282
+ {% endraw %}
283
+ {% endhighlight %}
@@ -2,6 +2,7 @@
2
2
  layout: docs
3
3
  title: Upgrading
4
4
  prev_section: resources
5
+ next_section: history
5
6
  permalink: /docs/upgrading/
6
7
  ---
7
8
 
@@ -25,24 +26,23 @@ and `jekyll serve` to do the same. And if you want Jekyll to automatically
25
26
  rebuild each time a file changes, just add the `--watch` flag at the end.
26
27
 
27
28
  <div class="note info">
28
- <h5 markdown="1">Watching and Serving</h5>
29
+ <h5>Watching and Serving</h5>
29
30
  <p markdown="1">With the new subcommands, the way sites are previewed locally
30
31
  changed a bit. Instead of specifying `server: true` in the site's
31
32
  configuration file, use `jekyll serve`. The same hold's true for
32
- `watch: true`. Instead, use the `--watch` flag with either `jekyll serve`
33
+ `watch: true`. Instead, use the `&#45;&#45;watch` flag with either `jekyll serve`
33
34
  or `jekyll build`.</p>
34
35
  </div>
35
36
 
36
37
  ### Absolute Permalinks
37
38
 
38
- In older Jekyll versions, one could use relative permalinks for pages in
39
- subdirectories. As of Jekyll v1.0, **we introduced absolute permalinks**,
40
- which do not take advantage of the page's directory position to write the
41
- permalink. As of Jekyll v1.0.2, a new switch, `relative_permalinks`,
42
- allows the user to turn relative permalinks on and off at will, in order
43
- to preserve the old behaviour, or use the new behaviour. As of v1.0.2,
44
- this switch defaults to `true`, but it will default to `false`
45
- in v1.1.0 and beyond.
39
+ In Jekyll v1.0, we introduced absolute permalinks for pages in subdirectories.
40
+ Until v1.1, it is **opt-in**. Starting with v1.1, however, absolute permalinks
41
+ will become **opt-out**, meaning Jekyll will default to using absolute permalinks
42
+ instead of relative permalinks.
43
+
44
+ * To use absolute permalinks, set `relative_permalinks: false` in your configuration file.
45
+ * To continue using relative permalinks, set `relative_permalinks: true` in your configuration file.
46
46
 
47
47
  <div class="note warning" id="absolute-permalinks-warning">
48
48
  <h5 markdown="1">Absolute permalinks will be default in v1.1 and on</h5>
@@ -53,6 +53,23 @@ in v1.1.0 and beyond.
53
53
  </p>
54
54
  </div>
55
55
 
56
+ ### Draft Posts
57
+
58
+ Jekyll now lets you write draft posts, and allows you to easily preview how
59
+ they will look prior to publishing. To start a draft, simply create a folder
60
+ called `_drafts` in your site's source directory (e.g., alongside `_posts`),
61
+ and add a new markdown file to it. To preview your new post, simply run the
62
+ `jekyll serve` command with the `--drafts` flag.
63
+
64
+ <div class="note info">
65
+ <h5 markdown="1">Drafts don't have dates</h5>
66
+ <p markdown="1">
67
+ Unlike posts, drafts don't have a date, since they haven't
68
+ been published yet. Rather than naming your draft something like
69
+ `2013-07-01-my-draft-post.md`, simply name the file what you'd like your
70
+ post to eventually be titled, here `my-draft-post.md`.</p>
71
+ </div>
72
+
56
73
  ### Custom Config File
57
74
 
58
75
  Rather than passing individual flags via the command line, you can now pass an
@@ -74,31 +91,30 @@ to one or more config files (comma-delimited, no spaces).
74
91
  * `--paginate`
75
92
 
76
93
  <div class="note info">
77
- <h5 markdown="1">The `--config` explicitly specifies your configuration file(s)</h5>
78
- <p markdown="1">If you use the `--config` flag, Jekyll will ignore your
79
- `config.yml` file. Want to merge a custom configuration with the normal
94
+ <h5>The config flag explicitly specifies your configuration file(s)</h5>
95
+ <p markdown="1">If you use the `&#45;&#45;config` flag, Jekyll will ignore your
96
+ `&#95;config.yml` file. Want to merge a custom configuration with the normal
80
97
  configuration? No problem. Jekyll will accept more than one custom config
81
98
  file via the command line. Config files cascade from right to left, such
82
- that if I run `jekyll serve --config config.yml,config-dev.yml`,
83
- the values in the config files on the right (`config-dev.yml`) overwrite
84
- those on the left (`config.yml`) when both contain the same key.</p>
99
+ that if I run `jekyll serve &#45;&#45;config &#95;config.yml,&#95;config-dev.yml`,
100
+ the values in the config files on the right (`&#95;config-dev.yml`) overwrite
101
+ those on the left (`&#95;config.yml`) when both contain the same key.</p>
85
102
  </div>
86
103
 
87
- ### Draft posts
104
+ ### New Config File Options
88
105
 
89
- Jekyll now lets you write draft posts, and allows you to easily preview how
90
- they will look prior to publishing. To start a draft, simply create a folder
91
- called `_drafts` in your site's source directory (e.g., alongside `_posts`),
92
- and add a new markdown file to it. To preview your new post, simply run the
93
- `Jekyll serve` command with the `--drafts` flag.
106
+ Jekyll 1.0 introduced several new config file options. Before you upgrade, you
107
+ should check to see if any of these are present in your pre-1.0 config file, and
108
+ if so, make sure that you're using them properly:
94
109
 
95
- <div class="note info">
96
- <h5 markdown="1">Drafts don't have dates</h5>
97
- <p markdown="1">Unlike posts, drafts don't have a date, since they haven't
98
- been published yet. Rather than naming your draft something like
99
- `2013-07-01-my-draft-post.md`, simply name the file what you'd like your
100
- post to eventually be titled, here `my-draft-post.md`.</p>
101
- </div>
110
+ * `excerpt_separator`
111
+ * `host`
112
+ * `include`
113
+ * `keep_files`
114
+ * `layouts`
115
+ * `show_drafts`
116
+ * `timezone`
117
+ * `url`
102
118
 
103
119
  ### Baseurl
104
120