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.
- checksums.yaml +8 -8
- data/History.markdown +46 -0
- data/Rakefile +35 -1
- data/bin/jekyll +6 -4
- data/features/create_sites.feature +8 -8
- data/features/drafts.feature +3 -3
- data/features/embed_filters.feature +5 -5
- data/features/markdown.feature +2 -2
- data/features/pagination.feature +8 -8
- data/features/permalinks.feature +5 -5
- data/features/post_data.feature +23 -23
- data/features/site_configuration.feature +9 -9
- data/features/site_data.feature +14 -14
- data/features/step_definitions/jekyll_steps.rb +16 -27
- data/features/support/env.rb +11 -6
- data/jekyll.gemspec +7 -4
- data/lib/jekyll.rb +7 -2
- data/lib/jekyll/command.rb +3 -3
- data/lib/jekyll/commands/build.rb +5 -5
- data/lib/jekyll/commands/doctor.rb +2 -2
- data/lib/jekyll/commands/new.rb +8 -3
- data/lib/jekyll/configuration.rb +31 -6
- data/lib/jekyll/converters/markdown/maruku_parser.rb +11 -7
- data/lib/jekyll/convertible.rb +4 -7
- data/lib/jekyll/deprecator.rb +2 -2
- data/lib/jekyll/filters.rb +12 -2
- data/lib/jekyll/generators/pagination.rb +3 -2
- data/lib/jekyll/layout.rb +3 -0
- data/lib/jekyll/post.rb +1 -23
- data/lib/jekyll/related_posts.rb +58 -0
- data/lib/jekyll/site.rb +2 -4
- data/lib/jekyll/{logger.rb → stevenson.rb} +26 -12
- data/lib/jekyll/tags/gist.rb +13 -3
- data/lib/site_template/_layouts/default.html +1 -1
- data/lib/site_template/_layouts/post.html +1 -1
- data/lib/site_template/css/main.css +7 -7
- data/site/_includes/docs_contents.html +3 -0
- data/site/css/pygments.css +1 -1
- data/site/css/style.css +9 -2
- data/site/docs/deployment-methods.md +1 -1
- data/site/docs/frontmatter.md +10 -0
- data/site/docs/history.md +536 -0
- data/site/docs/installation.md +2 -4
- data/site/docs/migrations.md +57 -58
- data/site/docs/plugins.md +3 -0
- data/site/docs/posts.md +24 -2
- data/site/docs/templates.md +50 -3
- data/site/docs/upgrading.md +45 -29
- data/test/source/_layouts/default.html +1 -1
- data/test/test_configuration.rb +15 -3
- data/test/test_page.rb +1 -1
- data/test/test_pager.rb +7 -0
- data/test/test_post.rb +11 -11
- data/test/test_redcloth.rb +3 -3
- data/test/test_related_posts.rb +41 -0
- data/test/test_site.rb +6 -6
- data/test/test_tags.rb +40 -0
- metadata +9 -5
data/site/docs/installation.md
CHANGED
@@ -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
|
54
|
-
[
|
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>
|
data/site/docs/migrations.md
CHANGED
@@ -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
|
19
|
-
|
20
|
-
|
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/
|
59
|
-
|
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/
|
73
|
-
|
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/
|
84
|
-
|
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
|
108
|
-
|
109
|
-
|
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/
|
113
|
-
|
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
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
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/
|
129
|
-
|
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/
|
138
|
-
|
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/
|
149
|
-
|
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/
|
165
|
-
|
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/
|
172
|
-
|
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/
|
200
|
-
|
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/
|
208
|
-
|
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/
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
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).
|
data/site/docs/plugins.md
CHANGED
@@ -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>
|
data/site/docs/posts.md
CHANGED
@@ -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
|
-
|
120
|
-
|
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 %}
|
data/site/docs/templates.md
CHANGED
@@ -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/).
|
170
|
-
|
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 %}
|
data/site/docs/upgrading.md
CHANGED
@@ -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
|
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
|
33
|
+
`watch: true`. Instead, use the `--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
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
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
|
78
|
-
<p markdown="1">If you use the
|
79
|
-
|
94
|
+
<h5>The config flag explicitly specifies your configuration file(s)</h5>
|
95
|
+
<p markdown="1">If you use the `--config` flag, Jekyll will ignore your
|
96
|
+
`_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
|
83
|
-
the values in the config files on the right (
|
84
|
-
those on the left (
|
99
|
+
that if I run `jekyll serve --config _config.yml,_config-dev.yml`,
|
100
|
+
the values in the config files on the right (`_config-dev.yml`) overwrite
|
101
|
+
those on the left (`_config.yml`) when both contain the same key.</p>
|
85
102
|
</div>
|
86
103
|
|
87
|
-
###
|
104
|
+
### New Config File Options
|
88
105
|
|
89
|
-
Jekyll
|
90
|
-
|
91
|
-
|
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
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
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
|
|