jekyll-docs 2.5.3 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-docs.rb +34 -4
  3. data/site/CNAME +1 -0
  4. data/site/README.md +16 -0
  5. data/site/_config.yml +21 -0
  6. data/site/_data/docs.yml +47 -0
  7. data/site/_docs/assets.md +93 -0
  8. data/site/_docs/collections.md +380 -0
  9. data/site/_docs/configuration.md +677 -0
  10. data/site/_docs/continuous-integration.md +221 -0
  11. data/site/_docs/contributing.md +124 -0
  12. data/site/_docs/datafiles.md +151 -0
  13. data/site/_docs/deployment-methods.md +192 -0
  14. data/site/_docs/drafts.md +20 -0
  15. data/site/_docs/extras.md +22 -0
  16. data/site/_docs/frontmatter.md +191 -0
  17. data/site/_docs/github-pages.md +134 -0
  18. data/site/_docs/history.md +2131 -0
  19. data/site/_docs/index.md +56 -0
  20. data/site/_docs/installation.md +106 -0
  21. data/site/_docs/migrations.md +9 -0
  22. data/site/_docs/pages.md +84 -0
  23. data/site/_docs/pagination.md +221 -0
  24. data/site/_docs/permalinks.md +307 -0
  25. data/site/_docs/plugins.md +891 -0
  26. data/site/_docs/posts.md +237 -0
  27. data/site/_docs/quickstart.md +27 -0
  28. data/site/_docs/resources.md +46 -0
  29. data/site/_docs/sites.md +29 -0
  30. data/site/_docs/static_files.md +52 -0
  31. data/site/_docs/structure.md +211 -0
  32. data/site/_docs/templates.md +425 -0
  33. data/site/_docs/troubleshooting.md +207 -0
  34. data/site/_docs/upgrading.md +140 -0
  35. data/site/_docs/usage.md +101 -0
  36. data/site/_docs/variables.md +390 -0
  37. data/site/_docs/windows.md +44 -0
  38. data/site/_includes/analytics.html +30 -0
  39. data/site/_includes/anchor_links.html +33 -0
  40. data/site/_includes/docs_contents.html +8 -0
  41. data/site/_includes/docs_contents_mobile.html +10 -0
  42. data/site/_includes/docs_option.html +11 -0
  43. data/site/_includes/docs_ul.html +21 -0
  44. data/site/_includes/footer.html +15 -0
  45. data/site/_includes/header.html +18 -0
  46. data/site/_includes/news_contents.html +33 -0
  47. data/site/_includes/news_contents_mobile.html +11 -0
  48. data/site/_includes/news_item.html +24 -0
  49. data/site/_includes/primary-nav-items.html +17 -0
  50. data/site/_includes/section_nav.html +39 -0
  51. data/site/_includes/top.html +17 -0
  52. data/site/_layouts/default.html +13 -0
  53. data/site/_layouts/docs.html +26 -0
  54. data/site/_layouts/news.html +19 -0
  55. data/site/_layouts/news_item.html +27 -0
  56. data/site/_layouts/page.html +18 -0
  57. data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +23 -0
  58. data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +27 -0
  59. data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +28 -0
  60. data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +25 -0
  61. data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +27 -0
  62. data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +31 -0
  63. data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +20 -0
  64. data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +20 -0
  65. data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +23 -0
  66. data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +19 -0
  67. data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +17 -0
  68. data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +43 -0
  69. data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +21 -0
  70. data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +30 -0
  71. data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +18 -0
  72. data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +18 -0
  73. data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +26 -0
  74. data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +19 -0
  75. data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +26 -0
  76. data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +31 -0
  77. data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +18 -0
  78. data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +19 -0
  79. data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +31 -0
  80. data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +30 -0
  81. data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +19 -0
  82. data/site/_posts/2014-08-10-jekyll-2-3-0-released.markdown +41 -0
  83. data/site/_posts/2014-09-09-jekyll-2-4-0-released.markdown +25 -0
  84. data/site/_posts/2014-11-06-jekylls-midlife-crisis-jekyll-turns-2-5-0.markdown +47 -0
  85. data/site/_posts/2014-11-08-jekyll-2-5-1-released.markdown +29 -0
  86. data/site/_posts/2014-11-12-jekyll-2-5-2-released.markdown +18 -0
  87. data/site/_posts/2014-12-17-alfredxing-welcome-to-jekyll-core.md +27 -0
  88. data/site/_posts/2014-12-22-jekyll-2-5-3-released.markdown +20 -0
  89. data/site/_posts/2015-01-20-jekyll-meet-and-greet.markdown +20 -0
  90. data/site/_posts/2015-01-24-jekyll-3-0-0-beta1-released.markdown +40 -0
  91. data/site/_posts/2015-02-26-introducing-jekyll-talk.markdown +15 -0
  92. data/site/_posts/2015-10-26-jekyll-3-0-released.markdown +35 -0
  93. data/site/_posts/2015-11-17-jekyll-3-0-1-released.markdown +25 -0
  94. data/site/_posts/2016-01-20-jekyll-3-0-2-released.markdown +14 -0
  95. data/site/_posts/2016-02-08-jekyll-3-0-3-released.markdown +31 -0
  96. data/site/_sass/_font-awesome.scss +25 -0
  97. data/site/_sass/_gridism.scss +124 -0
  98. data/site/_sass/_mixins.scss +38 -0
  99. data/site/_sass/_normalize.scss +1 -0
  100. data/site/_sass/_pygments.scss +78 -0
  101. data/site/_sass/_style.scss +998 -0
  102. data/site/css/screen.scss +9 -0
  103. data/site/favicon.ico +0 -0
  104. data/site/fonts/fontawesome-webfont.eot +0 -0
  105. data/site/fonts/fontawesome-webfont.svg +640 -0
  106. data/site/fonts/fontawesome-webfont.ttf +0 -0
  107. data/site/fonts/fontawesome-webfont.woff +0 -0
  108. data/site/fonts/fontawesome-webfont.woff2 +0 -0
  109. data/site/freenode.txt +1 -0
  110. data/site/help/index.md +36 -0
  111. data/site/img/article-footer.png +0 -0
  112. data/site/img/footer-arrow.png +0 -0
  113. data/site/img/footer-logo.png +0 -0
  114. data/site/img/jekyll-sticker.jpg +0 -0
  115. data/site/img/logo-2x.png +0 -0
  116. data/site/img/logo-rss.png +0 -0
  117. data/site/img/octojekyll.png +0 -0
  118. data/site/index.html +90 -0
  119. data/site/js/html5shiv.min.js +4 -0
  120. data/site/js/respond.min.js +5 -0
  121. data/site/latest_version.txt +1 -0
  122. data/site/news/index.html +10 -0
  123. data/site/news/releases/index.html +10 -0
  124. metadata +138 -6
  125. data/lib/jekyll-docs/version.rb +0 -5
  126. data/lib/jekyll/commands/docs.rb +0 -30
  127. data/lib/jekyll/docs.rb +0 -7
@@ -0,0 +1,425 @@
1
+ ---
2
+ layout: docs
3
+ title: Templates
4
+ permalink: /docs/templates/
5
+ ---
6
+
7
+ Jekyll uses the [Liquid](https://github.com/Shopify/liquid/wiki) templating language to
8
+ process templates. All of the standard Liquid [tags](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers#tags) and
9
+ [filters](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers#standard-filters) are
10
+ supported. Jekyll even adds a few handy filters and tags of its own to make
11
+ common tasks easier.
12
+
13
+ ## Filters
14
+
15
+ <div class="mobile-side-scroller">
16
+ <table>
17
+ <thead>
18
+ <tr>
19
+ <th>Description</th>
20
+ <th><span class="filter">Filter</span> and <span class="output">Output</span></th>
21
+ </tr>
22
+ </thead>
23
+ <tbody>
24
+ <tr>
25
+ <td>
26
+ <p class="name"><strong>Date to XML Schema</strong></p>
27
+ <p>Convert a Date into XML Schema (ISO 8601) format.</p>
28
+ </td>
29
+ <td class="align-center">
30
+ <p>
31
+ <code class="filter">{% raw %}{{ site.time | date_to_xmlschema }}{% endraw %}</code>
32
+ </p>
33
+ <p>
34
+ <code class="output">2008-11-07T13:07:54-08:00</code>
35
+ </p>
36
+ </td>
37
+ </tr>
38
+ <tr>
39
+ <td>
40
+ <p class="name"><strong>Date to RFC-822 Format</strong></p>
41
+ <p>Convert a Date into the RFC-822 format used for RSS feeds.</p>
42
+ </td>
43
+ <td class="align-center">
44
+ <p>
45
+ <code class="filter">{% raw %}{{ site.time | date_to_rfc822 }}{% endraw %}</code>
46
+ </p>
47
+ <p>
48
+ <code class="output">Mon, 07 Nov 2008 13:07:54 -0800</code>
49
+ </p>
50
+ </td>
51
+ </tr>
52
+ <tr>
53
+ <td>
54
+ <p class="name"><strong>Date to String</strong></p>
55
+ <p>Convert a date to short format.</p>
56
+ </td>
57
+ <td class="align-center">
58
+ <p>
59
+ <code class="filter">{% raw %}{{ site.time | date_to_string }}{% endraw %}</code>
60
+ </p>
61
+ <p>
62
+ <code class="output">07 Nov 2008</code>
63
+ </p>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <td>
68
+ <p class="name"><strong>Date to Long String</strong></p>
69
+ <p>Format a date to long format.</p>
70
+ </td>
71
+ <td class="align-center">
72
+ <p>
73
+ <code class="filter">{% raw %}{{ site.time | date_to_long_string }}{% endraw %}</code>
74
+ </p>
75
+ <p>
76
+ <code class="output">07 November 2008</code>
77
+ </p>
78
+ </td>
79
+ </tr>
80
+ <tr>
81
+ <td>
82
+ <p class="name"><strong>Where</strong></p>
83
+ <p>Select all the objects in an array where the key has the given value.</p>
84
+ </td>
85
+ <td class="align-center">
86
+ <p>
87
+ <code class="filter">{% raw %}{{ site.members | where:"graduation_year","2014" }}{% endraw %}</code>
88
+ </p>
89
+ </td>
90
+ </tr>
91
+ <tr>
92
+ <td>
93
+ <p class="name"><strong>Group By</strong></p>
94
+ <p>Group an array's items by a given property.</p>
95
+ </td>
96
+ <td class="align-center">
97
+ <p>
98
+ <code class="filter">{% raw %}{{ site.members | group_by:"graduation_year" }}{% endraw %}</code>
99
+ </p>
100
+ <p>
101
+ <code class="output">[{"name"=>"2013", "items"=>[...]},
102
+ {"name"=>"2014", "items"=>[...]}]</code>
103
+ </p>
104
+ </td>
105
+ </tr>
106
+ <tr>
107
+ <td>
108
+ <p class="name"><strong>XML Escape</strong></p>
109
+ <p>Escape some text for use in XML.</p>
110
+ </td>
111
+ <td class="align-center">
112
+ <p>
113
+ <code class="filter">{% raw %}{{ page.content | xml_escape }}{% endraw %}</code>
114
+ </p>
115
+ </td>
116
+ </tr>
117
+ <tr>
118
+ <td>
119
+ <p class="name"><strong>CGI Escape</strong></p>
120
+ <p>
121
+ CGI escape a string for use in a URL. Replaces any special characters
122
+ with appropriate %XX replacements.
123
+ </p>
124
+ </td>
125
+ <td class="align-center">
126
+ <p>
127
+ <code class="filter">{% raw %}{{ "foo,bar;baz?" | cgi_escape }}{% endraw %}</code>
128
+ </p>
129
+ <p>
130
+ <code class="output">foo%2Cbar%3Bbaz%3F</code>
131
+ </p>
132
+ </td>
133
+ </tr>
134
+ <tr>
135
+ <td>
136
+ <p class="name"><strong>URI Escape</strong></p>
137
+ <p>
138
+ URI escape a string.
139
+ </p>
140
+ </td>
141
+ <td class="align-center">
142
+ <p>
143
+ <code class="filter">{% raw %}{{ "foo, bar \baz?" | uri_escape }}{% endraw %}</code>
144
+ </p>
145
+ <p>
146
+ <code class="output">foo,%20bar%20%5Cbaz?</code>
147
+ </p>
148
+ </td>
149
+ </tr>
150
+ <tr>
151
+ <td>
152
+ <p class="name"><strong>Number of Words</strong></p>
153
+ <p>Count the number of words in some text.</p>
154
+ </td>
155
+ <td class="align-center">
156
+ <p>
157
+ <code class="filter">{% raw %}{{ page.content | number_of_words }}{% endraw %}</code>
158
+ </p>
159
+ <p>
160
+ <code class="output">1337</code>
161
+ </p>
162
+ </td>
163
+ </tr>
164
+ <tr>
165
+ <td>
166
+ <p class="name"><strong>Array to Sentence</strong></p>
167
+ <p>Convert an array into a sentence. Useful for listing tags.</p>
168
+ </td>
169
+ <td class="align-center">
170
+ <p>
171
+ <code class="filter">{% raw %}{{ page.tags | array_to_sentence_string }}{% endraw %}</code>
172
+ </p>
173
+ <p>
174
+ <code class="output">foo, bar, and baz</code>
175
+ </p>
176
+ </td>
177
+ </tr>
178
+ <tr>
179
+ <td>
180
+ <p class="name"><strong>Markdownify</strong></p>
181
+ <p>Convert a Markdown-formatted string into HTML.</p>
182
+ </td>
183
+ <td class="align-center">
184
+ <p>
185
+ <code class="filter">{% raw %}{{ page.excerpt | markdownify }}{% endraw %}</code>
186
+ </p>
187
+ </td>
188
+ </tr>
189
+ <tr>
190
+ <td>
191
+ <p class="name"><strong>Converting Sass/SCSS</strong></p>
192
+ <p>Convert a Sass- or SCSS-formatted string into CSS.</p>
193
+ </td>
194
+ <td class="align-center">
195
+ <p>
196
+ <code class="filter">{% raw %}{{ some_scss | scssify }}{% endraw %}</code>
197
+ <code class="filter">{% raw %}{{ some_sass | sassify }}{% endraw %}</code>
198
+ </p>
199
+ </td>
200
+ </tr>
201
+ <tr>
202
+ <td>
203
+ <p class="name"><strong>Slugify</strong></p>
204
+ <p>Convert a string into a lowercase URL "slug". See below for options.</p>
205
+ </td>
206
+ <td class="align-center">
207
+ <p>
208
+ <code class="filter">{% raw %}{{ "The _config.yml file" | slugify }}{% endraw %}</code>
209
+ </p>
210
+ <p>
211
+ <code class="output">the-config-yml-file</code>
212
+ </p>
213
+ <p>
214
+ <code class="filter">{% raw %}{{ "The _config.yml file" | slugify: 'pretty' }}{% endraw %}</code>
215
+ </p>
216
+ <p>
217
+ <code class="output">the-_config.yml-file</code>
218
+ </p>
219
+ </td>
220
+ </tr>
221
+ <tr>
222
+ <td>
223
+ <p class="name"><strong>Data To JSON</strong></p>
224
+ <p>Convert Hash or Array to JSON.</p>
225
+ </td>
226
+ <td class="align-center">
227
+ <p>
228
+ <code class="filter">{% raw %}{{ site.data.projects | jsonify }}{% endraw %}</code>
229
+ </p>
230
+ </td>
231
+ </tr>
232
+ <tr>
233
+ <td>
234
+ <p class="name"><strong>Sort</strong></p>
235
+ <p>Sort an array. Optional arguments for hashes: 1.&nbsp;property name 2.&nbsp;nils order (<em>first</em> or <em>last</em>).</p>
236
+ </td>
237
+ <td class="align-center">
238
+ <p>
239
+ <code class="filter">{% raw %}{{ page.tags | sort }}{% endraw %}</code>
240
+ </p>
241
+ <p>
242
+ <code class="filter">{% raw %}{{ site.posts | sort: 'author' }}{% endraw %}</code>
243
+ </p>
244
+ <p>
245
+ <code class="filter">{% raw %}{{ site.pages | sort: 'title', 'last' }}{% endraw %}</code>
246
+ </p>
247
+ </td>
248
+ </tr>
249
+ </tbody>
250
+ </table>
251
+ </div>
252
+
253
+ ### Options for the `slugify` filter
254
+
255
+ The `slugify` filter accepts an option, each specifying what to filter.
256
+ The default is `default`. They are as follows (with what they filter):
257
+
258
+ - `none`: no characters
259
+ - `raw`: spaces
260
+ - `default`: spaces and non-alphanumeric characters
261
+ - `pretty`: spaces and non-alphanumeric characters except for `._~!$&'()+,;=@`
262
+
263
+ ## Tags
264
+
265
+ ### Includes
266
+
267
+ If you have small page fragments that you wish to include in multiple places on
268
+ your site, you can use the `include` tag.
269
+
270
+ {% highlight ruby %}
271
+ {% raw %}{% include footer.html %}{% endraw %}
272
+ {% endhighlight %}
273
+
274
+ Jekyll expects all include files to be placed in an `_includes` directory at the
275
+ root of your source directory. This will embed the contents of
276
+ `<source>/_includes/footer.html` into the calling file.
277
+
278
+ <div class="note">
279
+ <h5>ProTip™: Use variables as file name</h5>
280
+ <p>
281
+
282
+ The name of the file you wish to embed can be literal (as in the example above),
283
+ or you can use a variable, using liquid-like variable syntax as in
284
+ <code>{% raw %}{% include {{my_variable}} %}{% endraw %}</code>.
285
+
286
+ </p>
287
+ </div>
288
+
289
+ You can also pass parameters to an include. Omit the quotation marks to send a variable's value. Liquid curly brackets should not be used here:
290
+
291
+ {% highlight ruby %}
292
+ {% raw %}{% include footer.html param="value" variable-param=page.variable %}{% endraw %}
293
+ {% endhighlight %}
294
+
295
+ These parameters are available via Liquid in the include:
296
+
297
+ {% highlight ruby %}
298
+ {% raw %}{{ include.param }}{% endraw %}
299
+ {% endhighlight %}
300
+
301
+ #### Including files relative to another file
302
+
303
+ You can also choose to include file fragments relative to the current file:
304
+
305
+ {% highlight ruby %}
306
+ {% raw %}{% include_relative somedir/footer.html %}{% endraw %}
307
+ {% endhighlight %}
308
+
309
+ You won't need to place your included content within the `_includes` directory. Instead,
310
+ the inclusion is specifically relative to the file where the tag is being used. For example,
311
+ if `_posts/2014-09-03-my-file.markdown` uses the `include_relative` tag, the included file
312
+ must be within the `_posts` directory, or one of its subdirectories. You cannot include
313
+ files in other locations.
314
+
315
+ All the other capabilities of the `include` tag are available to the `include_relative` tag,
316
+ such as using variables.
317
+
318
+ ### Code snippet highlighting
319
+
320
+ Jekyll has built in support for syntax highlighting of [over 100
321
+ languages](http://pygments.org/languages/) thanks to
322
+ [Pygments](http://pygments.org/). To use Pygments, you must have Python installed
323
+ on your system and set `highlighter` to `pygments` in your site's configuration
324
+ file.
325
+
326
+ Alternatively, you can use [Rouge](https://github.com/jayferd/rouge) to highlight
327
+ your code snippets. It doesn't support as many languages as Pygments, however it
328
+ should suit most use cases. Also, since [Rouge](https://github.com/jayferd/rouge)
329
+ is written in pure Ruby, you don't need Python on your system!
330
+
331
+ To render a code block with syntax highlighting, surround your code as follows:
332
+
333
+ {% highlight text %}
334
+ {% raw %}
335
+ {% highlight ruby %}
336
+ def foo
337
+ puts 'foo'
338
+ end
339
+ {% endhighlight %}
340
+ {% endraw %}
341
+ {% endhighlight %}
342
+
343
+ The argument to the `highlight` tag (`ruby` in the example above) is the
344
+ language identifier. To find the appropriate identifier to use for the language
345
+ you want to highlight, look for the “short name” on the [Pygments' Lexers
346
+ page](http://pygments.org/docs/lexers/) or the [Rouge
347
+ wiki](https://github.com/jayferd/rouge/wiki/List-of-supported-languages-and-lexers).
348
+
349
+ #### Line numbers
350
+
351
+ There is a second argument to `highlight` called `linenos` that is optional.
352
+ Including the `linenos` argument will force the highlighted code to include line
353
+ numbers. For instance, the following code block would include line numbers next
354
+ to each line:
355
+
356
+ {% highlight text %}
357
+ {% raw %}
358
+ {% highlight ruby linenos %}
359
+ def foo
360
+ puts 'foo'
361
+ end
362
+ {% endhighlight %}
363
+ {% endraw %}
364
+ {% endhighlight %}
365
+
366
+ #### Stylesheets for syntax highlighting
367
+
368
+ In order for the highlighting to show up, you’ll need to include a highlighting
369
+ stylesheet. For an example stylesheet you can look at
370
+ [syntax.css](https://github.com/mojombo/tpw/tree/master/css/syntax.css). These
371
+ are the same styles as used by GitHub and you are free to use them for your own
372
+ site. If you use `linenos`, you might want to include an additional CSS class
373
+ definition for the `.lineno` class in `syntax.css` to distinguish the line
374
+ numbers from the highlighted code.
375
+
376
+ ### Post URL
377
+
378
+ If you would like to include a link to a post on your site, the `post_url` tag
379
+ will generate the correct permalink URL for the post you specify.
380
+
381
+ {% highlight text %}
382
+ {% raw %}
383
+ {% post_url 2010-07-21-name-of-post %}
384
+ {% endraw %}
385
+ {% endhighlight %}
386
+
387
+ If you organize your posts in subdirectories, you need to include subdirectory
388
+ path to the post:
389
+
390
+ {% highlight text %}
391
+ {% raw %}
392
+ {% post_url /subdir/2010-07-21-name-of-post %}
393
+ {% endraw %}
394
+ {% endhighlight %}
395
+
396
+ There is no need to include the file extension when using the `post_url` tag.
397
+
398
+ You can also use this tag to create a link to a post in Markdown as follows:
399
+
400
+ {% highlight text %}
401
+ {% raw %}
402
+ [Name of Link]({% post_url 2010-07-21-name-of-post %})
403
+ {% endraw %}
404
+ {% endhighlight %}
405
+
406
+ ### Gist
407
+
408
+ Use the `gist` tag to easily embed a GitHub Gist onto your site. This works
409
+ with public or secret gists:
410
+
411
+ {% highlight text %}
412
+ {% raw %}
413
+ {% gist parkr/931c1c8d465a04042403 %}
414
+ {% endraw %}
415
+ {% endhighlight %}
416
+
417
+ You may also optionally specify the filename in the gist to display:
418
+
419
+ {% highlight text %}
420
+ {% raw %}
421
+ {% gist parkr/931c1c8d465a04042403 jekyll-private-gist.markdown %}
422
+ {% endraw %}
423
+ {% endhighlight %}
424
+
425
+ To use the `gist` tag, you'll need to add the [jekyll-gist](https://github.com/jekyll/jekyll-gist) gem to your project.
@@ -0,0 +1,207 @@
1
+ ---
2
+ layout: docs
3
+ title: Troubleshooting
4
+ permalink: /docs/troubleshooting/
5
+ ---
6
+
7
+ If you ever run into problems installing or using Jekyll, here are a few tips
8
+ that might be of help. If the problem you’re experiencing isn’t covered below,
9
+ **please [check out our other help resources](/help/)** as well.
10
+
11
+ - [Installation Problems](#installation-problems)
12
+ - [Problems running Jekyll](#problems-running-jekyll)
13
+ - [Base-URL Problems](#base-url-problems)
14
+ - [Configuration problems](#configuration-problems)
15
+ - [Markup Problems](#markup-problems)
16
+
17
+ ## Installation Problems
18
+
19
+ If you encounter errors during gem installation, you may need to install
20
+ the header files for compiling extension modules for Ruby 2.0.0. This
21
+ can be done on Ubuntu or Debian by running:
22
+
23
+ {% highlight bash %}
24
+ sudo apt-get install ruby2.0.0-dev
25
+ {% endhighlight %}
26
+
27
+ On Red Hat, CentOS, and Fedora systems you can do this by running:
28
+
29
+ {% highlight bash %}
30
+ sudo yum install ruby-devel
31
+ {% endhighlight %}
32
+
33
+ On [NearlyFreeSpeech](https://www.nearlyfreespeech.net/) you need to run the
34
+ following commands before installing Jekyll:
35
+
36
+ {% highlight bash %}
37
+ export GEM_HOME=/home/private/gems
38
+ export GEM_PATH=/home/private/gems:/usr/local/lib/ruby/gems/1.8/
39
+ export PATH=$PATH:/home/private/gems/bin
40
+ export RB_USER_INSTALL='true'
41
+ {% endhighlight %}
42
+
43
+ To install RubyGems on Gentoo:
44
+
45
+ {% highlight bash %}
46
+ sudo emerge -av dev-ruby/rubygems
47
+ {% endhighlight %}
48
+
49
+ On Windows, you may need to install [RubyInstaller
50
+ DevKit](https://wiki.github.com/oneclick/rubyinstaller/development-kit).
51
+
52
+ On Mac OS X, you may need to update RubyGems (using `sudo` only if necessary):
53
+
54
+ {% highlight bash %}
55
+ sudo gem update --system
56
+ {% endhighlight %}
57
+
58
+ If you still have issues, you can download and install new Command Line
59
+ Tools (such as `gcc`) using the command
60
+
61
+ {% highlight bash %}
62
+ xcode-select --install
63
+ {% endhighlight %}
64
+
65
+ which may allow you to install native gems using this command (again using
66
+ `sudo` only if necessary):
67
+
68
+ {% highlight bash %}
69
+ sudo gem install jekyll
70
+ {% endhighlight %}
71
+
72
+ Note that upgrading Mac OS X does not automatically upgrade Xcode itself
73
+ (that can be done separately via the App Store), and having an out-of-date
74
+ Xcode.app can interfere with the command line tools downloaded above. If
75
+ you run into this issue, upgrade Xcode and install the upgraded Command
76
+ Line Tools.
77
+
78
+ ### Jekyll &amp; Mac OS X 10.11
79
+
80
+ With the introduction of System Integrity Protection, several directories
81
+ that were previously writable are now considered system locations and are no
82
+ longer available. Given these changes, there are a couple of simple ways to get
83
+ up and running. One option is to change the location where the gem will be
84
+ installed (again using `sudo` only if necessary):
85
+
86
+ {% highlight bash %}
87
+ sudo gem install -n /usr/local/bin jekyll
88
+ {% endhighlight %}
89
+
90
+ Alternatively, Homebrew can be installed and used to set up Ruby. This can be
91
+ done as follows:
92
+
93
+ {% highlight bash %}
94
+ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
95
+ {% endhighlight %}
96
+
97
+ Once Homebrew is installed, the second step is easy:
98
+
99
+ {% highlight bash %}
100
+ brew install ruby
101
+ {% endhighlight %}
102
+
103
+ Advanced users (with more complex needs) may find it helpful to choose one of a
104
+ number of Ruby version managers ([RVM][], [rbenv][], [chruby][], [etc][].) in
105
+ which to install Jekyll.
106
+
107
+ [RVM]: https://rvm.io
108
+ [rbenv]: http://rbenv.org
109
+ [chruby]: https://github.com/postmodern/chruby
110
+ [etc]: https://github.com/rvm/rvm/blob/master/docs/alt.md
111
+
112
+ If you elect to use one of the above methods to install Ruby, it might be
113
+ necessary to modify your `$PATH` variable using the following command:
114
+
115
+ {% highlight bash %}
116
+ export PATH=/usr/local/bin:$PATH
117
+ {% endhighlight %}
118
+
119
+ GUI apps can modify the `$PATH` as follows:
120
+
121
+ {% highlight bash %}
122
+ launchctl setenv PATH "/usr/local/bin:$PATH"
123
+ {% endhighlight %}
124
+
125
+ Either of these approaches are useful because `/usr/local` is considered a
126
+ "safe" location on systems which have SIP enabled, they avoid potential
127
+ conflicts with the version of Ruby included by Apple, and it keeps Jekyll and
128
+ its dependencies in a sandboxed environment. This also has the added
129
+ benefit of not requiring `sudo` when you want to add or remove a gem.
130
+
131
+ ### Could not find a JavaScript runtime. (ExecJS::RuntimeUnavailable)
132
+
133
+ This error can occur during the installation of `jekyll-coffeescript` when
134
+ you don't have a proper JavaScript runtime. To solve this, either install
135
+ `execjs` and `therubyracer` gems, or install `nodejs`. Check out
136
+ [issue #2327](https://github.com/jekyll/jekyll/issues/2327) for more info.
137
+
138
+ ## Problems running Jekyll
139
+
140
+ On Debian or Ubuntu, you may need to add `/var/lib/gems/1.8/bin/` to your path
141
+ in order to have the `jekyll` executable be available in your Terminal.
142
+
143
+ ## Base-URL Problems
144
+
145
+ If you are using base-url option like:
146
+
147
+ {% highlight bash %}
148
+ jekyll serve --baseurl '/blog'
149
+ {% endhighlight %}
150
+
151
+ … then make sure that you access the site at:
152
+
153
+ {% highlight bash %}
154
+ http://localhost:4000/blog/index.html
155
+ {% endhighlight %}
156
+
157
+ It won’t work to just access:
158
+
159
+ {% highlight bash %}
160
+ http://localhost:4000/blog
161
+ {% endhighlight %}
162
+
163
+ ## Configuration problems
164
+
165
+ The order of precedence for conflicting [configuration settings](../configuration/)
166
+ is as follows:
167
+
168
+ 1. Command-line flags
169
+ 2. Configuration file settings
170
+ 3. Defaults
171
+
172
+ That is: defaults are overridden by options specified in `_config.yml`,
173
+ and flags specified at the command-line will override all other settings
174
+ specified elsewhere.
175
+
176
+ ## Markup Problems
177
+
178
+ The various markup engines that Jekyll uses may have some issues. This
179
+ page will document them to help others who may run into the same
180
+ problems.
181
+
182
+ ### Liquid
183
+
184
+ The latest version, version 2.0, seems to break the use of `{{ "{{" }}` in
185
+ templates. Unlike previous versions, using `{{ "{{" }}` in 2.0 triggers the
186
+ following error:
187
+
188
+ {% highlight bash %}
189
+ '{{ "{{" }}' was not properly terminated with regexp: /\}\}/ (Liquid::SyntaxError)
190
+ {% endhighlight %}
191
+
192
+ ### Excerpts
193
+
194
+ Since v1.0.0, Jekyll has had automatically-generated post excerpts. Since
195
+ v1.1.0, Jekyll also passes these excerpts through Liquid, which can cause
196
+ strange errors where references don't exist or a tag hasn't been closed. If you
197
+ run into these errors, try setting `excerpt_separator: ""` in your
198
+ `_config.yml`, or set it to some nonsense string.
199
+
200
+ <div class="note">
201
+ <h5>Please report issues you encounter!</h5>
202
+ <p>
203
+ If you come across a bug, please <a href="{{ site.help_url }}/issues/new">create an issue</a>
204
+ on GitHub describing the problem and any work-arounds you find so we can
205
+ document it here for others.
206
+ </p>
207
+ </div>