jekyll-docs 3.0.3 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/site/_config.yml +4 -0
  3. data/site/_data/docs.yml +3 -1
  4. data/site/_docs/assets.md +4 -3
  5. data/site/_docs/conduct.md +55 -0
  6. data/site/_docs/configuration.md +77 -7
  7. data/site/_docs/contributing.md +1 -1
  8. data/site/_docs/datafiles.md +3 -3
  9. data/site/_docs/deployment-methods.md +49 -28
  10. data/site/_docs/extras.md +1 -1
  11. data/site/_docs/github-pages.md +27 -28
  12. data/site/_docs/history.md +356 -196
  13. data/site/_docs/index.md +1 -0
  14. data/site/_docs/installation.md +4 -4
  15. data/site/_docs/pages.md +20 -4
  16. data/site/_docs/pagination.md +7 -4
  17. data/site/_docs/permalinks.md +4 -3
  18. data/site/_docs/plugins.md +20 -8
  19. data/site/_docs/posts.md +8 -8
  20. data/site/_docs/quickstart.md +1 -2
  21. data/site/_docs/resources.md +16 -24
  22. data/site/_docs/sites.md +1 -7
  23. data/site/_docs/structure.md +3 -3
  24. data/site/_docs/templates.md +39 -13
  25. data/site/_docs/upgrading.md +3 -133
  26. data/site/_docs/upgrading/0-to-2.md +140 -0
  27. data/site/_docs/upgrading/2-to-3.md +126 -0
  28. data/site/_docs/variables.md +1 -1
  29. data/site/_docs/windows.md +5 -3
  30. data/site/_includes/docs_ul.html +2 -6
  31. data/site/_includes/footer.html +1 -1
  32. data/site/_posts/2015-10-26-jekyll-3-0-released.markdown +1 -1
  33. data/site/_posts/2016-01-20-jekyll-3-0-2-released.markdown +5 -0
  34. data/site/_posts/2016-01-24-jekyll-3-1-0-released.markdown +50 -0
  35. data/site/_posts/2016-01-28-jekyll-3-1-1-released.markdown +33 -0
  36. data/site/_posts/2016-02-08-jekyll-3-0-3-released.markdown +4 -3
  37. data/site/_posts/2016-02-19-jekyll-3-1-2-released.markdown +20 -0
  38. data/site/_sass/_style.scss +4 -0
  39. data/site/help/index.md +5 -0
  40. data/site/index.html +2 -2
  41. data/site/latest_version.txt +1 -1
  42. data/site/redirects/github.html +4 -0
  43. data/site/redirects/issues.html +4 -0
  44. metadata +11 -3
@@ -4,137 +4,7 @@ title: Upgrading
4
4
  permalink: /docs/upgrading/
5
5
  ---
6
6
 
7
- Upgrading from an older version of Jekyll? A few things have changed in 1.0
8
- that you'll want to know about.
7
+ Upgrading from an older version of Jekyll? Upgrading to a new major version of Jekyll (e.g. from v2.x to v3.x) may cause some headaches. Take the following guides to aid your upgrade:
9
8
 
10
- Before we dive in, go ahead and fetch the latest version of Jekyll:
11
-
12
- {% highlight bash %}
13
- $ gem update jekyll
14
- {% endhighlight %}
15
-
16
- <div class="note feature">
17
- <h5 markdown="1">Diving in</h5>
18
- <p markdown="1">Want to get a new Jekyll site up and running quickly? Simply
19
- run <code>jekyll new SITENAME</code> to create a new folder with a bare bones
20
- Jekyll site.</p>
21
- </div>
22
-
23
- ### The Jekyll Command
24
-
25
- For better clarity, Jekyll now accepts the commands `build` and `serve`.
26
- Whereas before you might simply run the command `jekyll` to generate a site
27
- and `jekyll --server` to view it locally, in v2.0 (and later) you should
28
- use the subcommands `jekyll build` and `jekyll serve` to build and preview
29
- your site.
30
-
31
- <div class="note info">
32
- <h5>Watching and Serving</h5>
33
- <p markdown="1">With the new subcommands, the way sites are previewed locally
34
- changed a bit. Instead of specifying `server: true` in the site's
35
- configuration file, use `jekyll serve`. The same holds true for
36
- `watch: true`. Instead, use the `--watch` flag with either `jekyll serve`
37
- or `jekyll build`.</p>
38
- </div>
39
-
40
- ### Absolute Permalinks
41
-
42
- In Jekyll v1.0, we introduced absolute permalinks for pages in
43
- subdirectories. Starting with v2.0, absolute permalinks are opt-out,
44
- meaning Jekyll will default to using absolute permalinks instead of
45
- relative permalinks. Relative permalink backwards-compatibility was removed in v3.0.
46
-
47
- <div class="note warning" id="absolute-permalinks-warning">
48
- <h5 markdown="1">Absolute permalinks will be required in v3.0 and on</h5>
49
- <p markdown="1">
50
- Starting with Jekyll v3.0, relative permalinks functionality will be removed and thus unavailable for use.
51
- </p>
52
- </div>
53
-
54
- ### Draft Posts
55
-
56
- Jekyll now lets you write draft posts, and allows you to easily preview how
57
- they will look prior to publishing. To start a draft, simply create a folder
58
- called `_drafts` in your site's source directory (e.g., alongside `_posts`),
59
- and add a new markdown file to it. To preview your new post, simply run the
60
- `jekyll serve` command with the `--drafts` flag.
61
-
62
- <div class="note info">
63
- <h5 markdown="1">Drafts don't have dates</h5>
64
- <p markdown="1">
65
- Unlike posts, drafts don't have a date, since they haven't
66
- been published yet. Rather than naming your draft something like
67
- `2013-07-01-my-draft-post.md`, simply name the file what you'd like your
68
- post to eventually be titled, here `my-draft-post.md`.</p>
69
- </div>
70
-
71
- ### Custom Config File
72
-
73
- Rather than passing individual flags via the command line, you can now pass
74
- an entire custom Jekyll config file. This helps to distinguish between
75
- environments, or lets you programmatically override user-specified
76
- defaults. Simply add the `--config` flag to the `jekyll` command, followed
77
- by the path to one or more config files (comma-delimited, no spaces).
78
-
79
- #### As a result, the following command line flags are now deprecated:
80
-
81
- * `--no-server`
82
- * `--no-auto` (now `--no-watch`)
83
- * `--auto` (now `--watch`)
84
- * `--server`
85
- * `--url=`
86
- * `--maruku`, `--rdiscount`, and `--redcarpet`
87
- * `--pygments`
88
- * `--permalink=`
89
- * `--paginate`
90
-
91
- <div class="note info">
92
- <h5>The config flag explicitly specifies your configuration file(s)</h5>
93
- <p markdown="1">If you use the `--config` flag, Jekyll will ignore your
94
- `_config.yml` file. Want to merge a custom configuration with the normal
95
- configuration? No problem. Jekyll will accept more than one custom config
96
- file via the command line. Config files cascade from right to left, such
97
- that if I run `jekyll serve --config _config.yml,_config-dev.yml`,
98
- the values in the config files on the right (`_config-dev.yml`) overwrite
99
- those on the left (`_config.yml`) when both contain the same key.</p>
100
- </div>
101
-
102
- ### New Config File Options
103
-
104
- Jekyll 1.0 introduced several new config file options. Before you upgrade,
105
- you should check to see if any of these are present in your pre-1.0 config
106
- file, and if so, make sure that you're using them properly:
107
-
108
- * `excerpt_separator`
109
- * `host`
110
- * `include`
111
- * `keep_files`
112
- * `layouts`
113
- * `show_drafts`
114
- * `timezone`
115
- * `url`
116
-
117
- ### Baseurl
118
-
119
- Often, you'll want the ability to run a Jekyll site in multiple places,
120
- such as previewing locally before pushing to GitHub Pages. Jekyll 1.0 makes
121
- that easier with the new `--baseurl` flag. To take advantage of this
122
- feature, first add the production `baseurl` to your site's `_config.yml`
123
- file. Then, throughout the site, simply prefix relative URLs
124
- with `{% raw %}{{ site.baseurl }}{% endraw %}`.
125
- When you're ready to preview your site locally, pass along the `--baseurl`
126
- flag with your local baseurl (most likely `/`) to `jekyll serve` and Jekyll
127
- will swap in whatever you've passed along, ensuring all your links work as
128
- you'd expect in both environments.
129
-
130
-
131
- <div class="note warning">
132
- <h5 markdown="1">All page and post URLs contain leading slashes</h5>
133
- <p markdown="1">If you use the method described above, please remember
134
- that the URLs for all posts and pages contain a leading slash. Therefore,
135
- concatenating the site baseurl and the post/page url where
136
- `site.baseurl = /` and `post.url = /2013/06/05/my-fun-post/` will
137
- result in two leading slashes, which will break links. It is thus
138
- suggested that prefixing with `site.baseurl` only be used when the
139
- `baseurl` is something other than the default of `/`.</p>
140
- </div>
9
+ - [From 0.x to 1.x and 2.x](/docs/upgrading/0-to-2/)
10
+ - [From 2.x to 3.x](/docs/upgrading/2-to-3/)
@@ -0,0 +1,140 @@
1
+ ---
2
+ layout: docs
3
+ title: Upgrading from 0.x to 2.x
4
+ permalink: /docs/upgrading/0-to-2/
5
+ ---
6
+
7
+ Upgrading from an older version of Jekyll? A few things have changed in 1.0
8
+ and 2.0 that you'll want to know about.
9
+
10
+ Before we dive in, go ahead and fetch the latest version of Jekyll:
11
+
12
+ {% highlight bash %}
13
+ $ gem update jekyll
14
+ {% endhighlight %}
15
+
16
+ <div class="note feature">
17
+ <h5 markdown="1">Diving in</h5>
18
+ <p markdown="1">Want to get a new Jekyll site up and running quickly? Simply
19
+ run <code>jekyll new SITENAME</code> to create a new folder with a bare bones
20
+ Jekyll site.</p>
21
+ </div>
22
+
23
+ ### The Jekyll Command
24
+
25
+ For better clarity, Jekyll now accepts the commands `build` and `serve`.
26
+ Whereas before you might simply run the command `jekyll` to generate a site
27
+ and `jekyll --server` to view it locally, in v2.0 (and later) you should
28
+ use the subcommands `jekyll build` and `jekyll serve` to build and preview
29
+ your site.
30
+
31
+ <div class="note info">
32
+ <h5>Watching and Serving</h5>
33
+ <p markdown="1">With the new subcommands, the way sites are previewed locally
34
+ changed a bit. Instead of specifying `server: true` in the site's
35
+ configuration file, use `jekyll serve`. The same holds true for
36
+ `watch: true`. Instead, use the `--watch` flag with either `jekyll serve`
37
+ or `jekyll build`.</p>
38
+ </div>
39
+
40
+ ### Absolute Permalinks
41
+
42
+ In Jekyll v1.0, we introduced absolute permalinks for pages in
43
+ subdirectories. Starting with v2.0, absolute permalinks are opt-out,
44
+ meaning Jekyll will default to using absolute permalinks instead of
45
+ relative permalinks. Relative permalink backwards-compatibility was removed in v3.0.
46
+
47
+ <div class="note warning" id="absolute-permalinks-warning">
48
+ <h5 markdown="1">Absolute permalinks will be required in v3.0 and on</h5>
49
+ <p markdown="1">
50
+ Starting with Jekyll v3.0, relative permalinks functionality will be removed and thus unavailable for use.
51
+ </p>
52
+ </div>
53
+
54
+ ### Draft Posts
55
+
56
+ Jekyll now lets you write draft posts, and allows you to easily preview how
57
+ they will look prior to publishing. To start a draft, simply create a folder
58
+ called `_drafts` in your site's source directory (e.g., alongside `_posts`),
59
+ and add a new markdown file to it. To preview your new post, simply run the
60
+ `jekyll serve` command with the `--drafts` flag.
61
+
62
+ <div class="note info">
63
+ <h5 markdown="1">Drafts don't have dates</h5>
64
+ <p markdown="1">
65
+ Unlike posts, drafts don't have a date, since they haven't
66
+ been published yet. Rather than naming your draft something like
67
+ `2013-07-01-my-draft-post.md`, simply name the file what you'd like your
68
+ post to eventually be titled, here `my-draft-post.md`.</p>
69
+ </div>
70
+
71
+ ### Custom Config File
72
+
73
+ Rather than passing individual flags via the command line, you can now pass
74
+ an entire custom Jekyll config file. This helps to distinguish between
75
+ environments, or lets you programmatically override user-specified
76
+ defaults. Simply add the `--config` flag to the `jekyll` command, followed
77
+ by the path to one or more config files (comma-delimited, no spaces).
78
+
79
+ #### As a result, the following command line flags are now deprecated:
80
+
81
+ * `--no-server`
82
+ * `--no-auto` (now `--no-watch`)
83
+ * `--auto` (now `--watch`)
84
+ * `--server`
85
+ * `--url=`
86
+ * `--maruku`, `--rdiscount`, and `--redcarpet`
87
+ * `--pygments`
88
+ * `--permalink=`
89
+ * `--paginate`
90
+
91
+ <div class="note info">
92
+ <h5>The config flag explicitly specifies your configuration file(s)</h5>
93
+ <p markdown="1">If you use the `--config` flag, Jekyll will ignore your
94
+ `_config.yml` file. Want to merge a custom configuration with the normal
95
+ configuration? No problem. Jekyll will accept more than one custom config
96
+ file via the command line. Config files cascade from right to left, such
97
+ that if I run `jekyll serve --config _config.yml,_config-dev.yml`,
98
+ the values in the config files on the right (`_config-dev.yml`) overwrite
99
+ those on the left (`_config.yml`) when both contain the same key.</p>
100
+ </div>
101
+
102
+ ### New Config File Options
103
+
104
+ Jekyll 1.0 introduced several new config file options. Before you upgrade,
105
+ you should check to see if any of these are present in your pre-1.0 config
106
+ file, and if so, make sure that you're using them properly:
107
+
108
+ * `excerpt_separator`
109
+ * `host`
110
+ * `include`
111
+ * `keep_files`
112
+ * `layouts`
113
+ * `show_drafts`
114
+ * `timezone`
115
+ * `url`
116
+
117
+ ### Baseurl
118
+
119
+ Often, you'll want the ability to run a Jekyll site in multiple places,
120
+ such as previewing locally before pushing to GitHub Pages. Jekyll 1.0 makes
121
+ that easier with the new `--baseurl` flag. To take advantage of this
122
+ feature, first add the production `baseurl` to your site's `_config.yml`
123
+ file. Then, throughout the site, simply prefix relative URLs
124
+ with `{% raw %}{{ site.baseurl }}{% endraw %}`.
125
+ When you're ready to preview your site locally, pass along the `--baseurl`
126
+ flag with your local baseurl (most likely `/`) to `jekyll serve` and Jekyll
127
+ will swap in whatever you've passed along, ensuring all your links work as
128
+ you'd expect in both environments.
129
+
130
+
131
+ <div class="note warning">
132
+ <h5 markdown="1">All page and post URLs contain leading slashes</h5>
133
+ <p markdown="1">If you use the method described above, please remember
134
+ that the URLs for all posts and pages contain a leading slash. Therefore,
135
+ concatenating the site baseurl and the post/page url where
136
+ `site.baseurl = /` and `post.url = /2013/06/05/my-fun-post/` will
137
+ result in two leading slashes, which will break links. It is thus
138
+ suggested that prefixing with `site.baseurl` only be used when the
139
+ `baseurl` is something other than the default of `/`.</p>
140
+ </div>
@@ -0,0 +1,126 @@
1
+ ---
2
+ layout: docs
3
+ title: Upgrading from 2.x to 3.x
4
+ permalink: /docs/upgrading/2-to-3/
5
+ ---
6
+
7
+ Upgrading from an older version of Jekyll? A few things have changed in 3.0
8
+ that you'll want to know about.
9
+
10
+ Before we dive in, go ahead and fetch the latest version of Jekyll:
11
+
12
+ {% highlight bash %}
13
+ $ gem update jekyll
14
+ {% endhighlight %}
15
+
16
+ Please note: Jekyll 3 requires Ruby version >= 2.0.0.
17
+
18
+ <div class="note feature">
19
+ <h5 markdown="1">Diving in</h5>
20
+ <p markdown="1">Want to get a new Jekyll site up and running quickly? Simply
21
+ run <code>jekyll new SITENAME</code> to create a new folder with a bare bones
22
+ Jekyll site.</p>
23
+ </div>
24
+
25
+ ### site.collections has changed
26
+
27
+ In 2.x, your iterations over `site.collections` yielded an array with the collection
28
+ label and the collection object as the first and second items, respectively. In 3.x,
29
+ this complication has been removed and iterations now yield simply the collection object.
30
+ A simple conversion must be made in your templates:
31
+
32
+ - `collection[0]` becomes `collection.label`
33
+ - `collection[1]` becomes `collection`
34
+
35
+ When iterating over `site.collections`, ensure the above conversions are made.
36
+
37
+ For `site.collections.myCollection` in Jekyll 2, you now do:
38
+
39
+ {% highlight liquid %}
40
+ {% raw %}
41
+ {% assign myCollection = site.collections | where: "label", "myCollection" | first %}
42
+ {% endraw %}
43
+ {% endhighlight %}
44
+
45
+ This is a bit cumbersome at first, but is easier than a big `for` loop.
46
+
47
+ ### Dropped dependencies
48
+
49
+ We dropped a number of dependencies the Core Team felt were optional. As such, in 3.0, they must be explicitly installed and included if you use any of the features. They are:
50
+
51
+ - jekyll-paginate – Jekyll's pagination solution from days past
52
+ - jekyll-coffeescript – processing of CoffeeScript
53
+ - jekyll-gist – the `gist` Liquid tag
54
+ - pygments.rb – the Pygments highlighter
55
+ - redcarpet – the Markdown processor
56
+ - toml – an alternative to YAML for configuration files
57
+ - classifier-reborn – for `site.related_posts`
58
+
59
+ ### Future posts
60
+
61
+ A seeming feature regression in 2.x, the `--future` flag was automatically _enabled_.
62
+ The future flag allows post authors to give the post a date in the future and to have
63
+ it excluded from the build until the system time is equal or after the post time.
64
+ In Jekyll 3, this has been corrected. **Now, `--future` is disabled by default.**
65
+ This means you will need to include `--future` if you want your future-dated posts to
66
+ generate when running `jekyll build` or `jekyll serve`.
67
+
68
+ ### Layout metadata
69
+
70
+ Introducing: `layout`. In Jekyll 2 and below, any metadata in the layout was merged onto
71
+ the `page` variable in Liquid. This caused a lot of confusion in the way the data was
72
+ merged and some unexpected behaviour. In Jekyll 3, all layout data is accessible via `layout`
73
+ in Liquid. For example, if your layout has `class: my-layout` in its YAML front matter,
74
+ then the layout can access that via `{% raw %}{{ layout.class }}{% endraw %}`.
75
+
76
+ ### Syntax highlighter changed
77
+
78
+ For the first time, the default syntax highlighter has changed for the
79
+ `highlight` tag and for backtick code blocks. Instead of [Pygments.rb](https://github.com/tmm1/pygments.rb),
80
+ it's now [Rouge](http://rouge.jneen.net/). If you were using the `highlight` tag with certain
81
+ options, such as `hl_lines`, they may not be available when using Rouge. To
82
+ go back to using Pygments, set `highlighter: pygments` in your
83
+ `_config.yml` file and run `gem install pygments.rb` or add
84
+ `gem 'pygments.rb'` to your project's `Gemfile`.
85
+
86
+ ### Relative Permalink support removed
87
+
88
+ In Jekyll 3 and above, relative permalinks have been deprecated. If you
89
+ created your site using Jekyll 2 and below, you may receive the following
90
+ error when trying to **serve** or **build**:
91
+
92
+ {% highlight text %}
93
+ Since v3.0, permalinks for pages in subfolders must be relative to the site
94
+ source directory, not the parent directory. Check
95
+ http://jekyllrb.com/docs/upgrading/ for more info.
96
+ {% endhighlight %}
97
+
98
+ This can be fixed by removing the following line from your `_config.yml` file:
99
+
100
+ {% highlight yaml %}
101
+ relative_permalinks: true
102
+ {% endhighlight %}
103
+
104
+ ### Permalinks no longer automatically add a trailing slash
105
+
106
+ In Jekyll 2, any URL constructed from the `permalink:` field had a trailing slash (`/`) added to it automatically. Jekyll 3 no longer adds a trailing slash automatically to `permalink:` URLs. This can potentially result in old links to pages returning a 404 error. For example, suppose a page previously contained the YAML `permalink: /:year-:month-:day-:title` that resulted in the URL `example.com/2016-02-01-test/` (notice the trailing slash), Jekyll internally generates a folder named `2016-02-01-test`. In Jekyll 3, the same `permalink:` generate the file `2016-02-01-test.html` and the URL for the same page will be `example.com/2016-02-01-test`, and consequently any links to the old URL will result in a 404 error. In order to maintain the same URLs and avoid this problem, a trailing slash should be added to the `permalink:` field, for example `permalink: /:year-:month-:day-:title/`.
107
+
108
+ ### All my posts are gone! Where'd they go!
109
+
110
+ Try adding `future: true` to your `_config.yml` file. Are they showing up now? If they are, then you were ensnared by an issue with the way Ruby parses times. Each of your posts is being read in a different timezone than you might expect and, when compared to the computer's current time, is "in the future." The fix for this is to add [a timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_time_offsets) to each post (and make sure you remove `future: true` from your `_config.yml` file). If you're writing from California, for example, you would change this:
111
+
112
+ {% highlight yaml %}
113
+ ---
114
+ date: 2016-02-06 19:32:10
115
+ ---
116
+ {% endhighlight %}
117
+
118
+ to this (note the offset):
119
+
120
+ {% highlight yaml %}
121
+ ---
122
+ date: 2016-02-06 19:32:10 -0800
123
+ ---
124
+ {% endhighlight %}
125
+
126
+ _Did we miss something? Please click "Improve this page" above and add a section. Thanks!_
@@ -106,7 +106,7 @@ following is a reference of the available data.
106
106
  related Posts. By default, these are the ten most recent posts.
107
107
  For high quality but slow to compute results, run the
108
108
  <code>jekyll</code> command with the <code>--lsi</code> (latent semantic
109
- indexing) option. Also note Github pages does not support the <code>lsi</code> option when generating sites.
109
+ indexing) option. Also note GitHub Pages does not support the <code>lsi</code> option when generating sites.
110
110
 
111
111
  </p></td>
112
112
  </tr>
@@ -11,9 +11,11 @@ knowledge and lessons that have been unearthed by Windows users.
11
11
  ## Installation
12
12
 
13
13
  Julian Thilo has written up instructions to get
14
- [Jekyll running on Windows][windows-installation] and it seems to work for most.
15
- The instructions were written for Ruby 2.0.0, but should work for later versions
16
- [prior to 2.2][hitimes-issue].
14
+ [Jekyll running on Windows][windows-installation] and it seems to work for most
15
+ people. The instructions were written for Ruby 2.0.0, but should work for later
16
+ versions [prior to 2.2][hitimes-issue].
17
+
18
+ Alternatively David Burela has written instructions on [how to install Jekyll via Chocolately with 3 command prompt entries](https://davidburela.wordpress.com/2015/11/28/easily-install-jekyll-on-windows-with-3-command-prompt-entries-and-chocolatey/).
17
19
 
18
20
  ## Encoding
19
21
 
@@ -10,12 +10,8 @@
10
10
  {% assign c = "" %}
11
11
  {% endif %}
12
12
 
13
- {% for p in site.docs %}
14
- {% if p.url == item_url %}
15
- <li class="{{ c }}"><a href="{{ site.url }}{{ p.url }}">{{ p.title }}</a></li>
16
- {% break %}
17
- {% endif %}
18
- {% endfor %}
13
+ {% assign p = site.docs | where:"url",item_url | first %}
14
+ <li class="{{ c }}"><a href="{{ site.url }}{{ p.url }}">{{ p.title }}</a></li>
19
15
 
20
16
  {% endfor %}
21
17
  </ul>