jekyll-docs 3.6.0 → 3.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll.rb +195 -0
  3. data/lib/jekyll/cleaner.rb +110 -0
  4. data/lib/jekyll/collection.rb +230 -0
  5. data/lib/jekyll/command.rb +78 -0
  6. data/lib/jekyll/commands/build.rb +102 -0
  7. data/lib/jekyll/commands/clean.rb +43 -0
  8. data/lib/jekyll/commands/doctor.rb +153 -0
  9. data/lib/jekyll/commands/help.rb +34 -0
  10. data/lib/jekyll/commands/new.rb +156 -0
  11. data/lib/jekyll/commands/new_theme.rb +40 -0
  12. data/lib/jekyll/commands/serve.rb +245 -0
  13. data/lib/jekyll/commands/serve/servlet.rb +62 -0
  14. data/lib/jekyll/configuration.rb +410 -0
  15. data/lib/jekyll/converter.rb +54 -0
  16. data/lib/jekyll/converters/identity.rb +23 -0
  17. data/lib/jekyll/converters/markdown.rb +104 -0
  18. data/lib/jekyll/converters/markdown/kramdown_parser.rb +123 -0
  19. data/lib/jekyll/converters/markdown/rdiscount_parser.rb +35 -0
  20. data/lib/jekyll/converters/markdown/redcarpet_parser.rb +108 -0
  21. data/lib/jekyll/converters/smartypants.rb +36 -0
  22. data/lib/jekyll/convertible.rb +251 -0
  23. data/lib/jekyll/deprecator.rb +52 -0
  24. data/lib/jekyll/document.rb +507 -0
  25. data/lib/jekyll/drops/collection_drop.rb +22 -0
  26. data/lib/jekyll/drops/document_drop.rb +69 -0
  27. data/lib/jekyll/drops/drop.rb +214 -0
  28. data/lib/jekyll/drops/excerpt_drop.rb +15 -0
  29. data/lib/jekyll/drops/jekyll_drop.rb +33 -0
  30. data/lib/jekyll/drops/site_drop.rb +47 -0
  31. data/lib/jekyll/drops/static_file_drop.rb +13 -0
  32. data/lib/jekyll/drops/unified_payload_drop.rb +25 -0
  33. data/lib/jekyll/drops/url_drop.rb +88 -0
  34. data/lib/jekyll/entry_filter.rb +123 -0
  35. data/lib/jekyll/errors.rb +20 -0
  36. data/lib/jekyll/excerpt.rb +126 -0
  37. data/lib/jekyll/external.rb +74 -0
  38. data/lib/jekyll/filters.rb +430 -0
  39. data/lib/jekyll/filters/grouping_filters.rb +65 -0
  40. data/lib/jekyll/filters/url_filters.rb +60 -0
  41. data/lib/jekyll/frontmatter_defaults.rb +197 -0
  42. data/lib/jekyll/generator.rb +5 -0
  43. data/lib/jekyll/hooks.rb +104 -0
  44. data/lib/jekyll/layout.rb +62 -0
  45. data/lib/jekyll/liquid_extensions.rb +24 -0
  46. data/lib/jekyll/liquid_renderer.rb +49 -0
  47. data/lib/jekyll/liquid_renderer/file.rb +56 -0
  48. data/lib/jekyll/liquid_renderer/table.rb +96 -0
  49. data/lib/jekyll/log_adapter.rb +147 -0
  50. data/lib/jekyll/mime.types +825 -0
  51. data/lib/jekyll/page.rb +187 -0
  52. data/lib/jekyll/plugin.rb +98 -0
  53. data/lib/jekyll/plugin_manager.rb +113 -0
  54. data/lib/jekyll/publisher.rb +23 -0
  55. data/lib/jekyll/reader.rb +134 -0
  56. data/lib/jekyll/readers/collection_reader.rb +22 -0
  57. data/lib/jekyll/readers/data_reader.rb +77 -0
  58. data/lib/jekyll/readers/layout_reader.rb +71 -0
  59. data/lib/jekyll/readers/page_reader.rb +25 -0
  60. data/lib/jekyll/readers/post_reader.rb +72 -0
  61. data/lib/jekyll/readers/static_file_reader.rb +25 -0
  62. data/lib/jekyll/readers/theme_assets_reader.rb +49 -0
  63. data/lib/jekyll/regenerator.rb +201 -0
  64. data/lib/jekyll/related_posts.rb +52 -0
  65. data/lib/jekyll/renderer.rb +269 -0
  66. data/lib/jekyll/site.rb +471 -0
  67. data/lib/jekyll/static_file.rb +162 -0
  68. data/lib/jekyll/stevenson.rb +61 -0
  69. data/lib/jekyll/tags/highlight.rb +141 -0
  70. data/lib/jekyll/tags/include.rb +215 -0
  71. data/lib/jekyll/tags/link.rb +37 -0
  72. data/lib/jekyll/tags/post_url.rb +103 -0
  73. data/lib/jekyll/theme.rb +68 -0
  74. data/lib/jekyll/theme_builder.rb +119 -0
  75. data/lib/jekyll/url.rb +161 -0
  76. data/lib/jekyll/utils.rb +337 -0
  77. data/lib/jekyll/utils/ansi.rb +59 -0
  78. data/lib/jekyll/utils/exec.rb +27 -0
  79. data/lib/jekyll/utils/platforms.rb +82 -0
  80. data/lib/jekyll/utils/rouge.rb +21 -0
  81. data/lib/jekyll/utils/win_tz.rb +75 -0
  82. data/lib/jekyll/version.rb +5 -0
  83. data/lib/site_template/404.html +24 -0
  84. data/lib/site_template/_config.yml +43 -0
  85. data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +25 -0
  86. data/lib/site_template/about.md +18 -0
  87. data/lib/site_template/index.md +6 -0
  88. data/lib/theme_template/CODE_OF_CONDUCT.md.erb +74 -0
  89. data/lib/theme_template/Gemfile +4 -0
  90. data/lib/theme_template/LICENSE.txt.erb +21 -0
  91. data/lib/theme_template/README.md.erb +52 -0
  92. data/lib/theme_template/_layouts/default.html +1 -0
  93. data/lib/theme_template/_layouts/page.html +5 -0
  94. data/lib/theme_template/_layouts/post.html +5 -0
  95. data/lib/theme_template/example/_config.yml.erb +1 -0
  96. data/lib/theme_template/example/_post.md +12 -0
  97. data/lib/theme_template/example/index.html +14 -0
  98. data/lib/theme_template/example/style.scss +7 -0
  99. data/lib/theme_template/gitignore.erb +5 -0
  100. data/lib/theme_template/theme.gemspec.erb +19 -0
  101. metadata +103 -156
  102. data/lib/jekyll-docs.rb +0 -31
  103. data/site/404.html +0 -153
  104. data/site/CNAME +0 -1
  105. data/site/community/index.html +0 -299
  106. data/site/conduct/index.html +0 -10
  107. data/site/css/screen.css +0 -1
  108. data/site/docs/assets/index.html +0 -724
  109. data/site/docs/code_of_conduct/index.html +0 -730
  110. data/site/docs/collections/index.html +0 -1097
  111. data/site/docs/conduct/index.html +0 -744
  112. data/site/docs/configuration/index.html +0 -1403
  113. data/site/docs/continuous-integration/buddyworks/index.html +0 -726
  114. data/site/docs/continuous-integration/circleci/index.html +0 -757
  115. data/site/docs/continuous-integration/index.html +0 -681
  116. data/site/docs/continuous-integration/travis-ci/index.html +0 -891
  117. data/site/docs/contributing/index.html +0 -863
  118. data/site/docs/datafiles/index.html +0 -780
  119. data/site/docs/deployment-methods/index.html +0 -875
  120. data/site/docs/drafts/index.html +0 -636
  121. data/site/docs/extras/index.html +0 -689
  122. data/site/docs/frontmatter/index.html +0 -807
  123. data/site/docs/github-pages/index.html +0 -819
  124. data/site/docs/history/index.html +0 -3955
  125. data/site/docs/home/index.html +0 -644
  126. data/site/docs/includes/index.html +0 -800
  127. data/site/docs/index.html +0 -10
  128. data/site/docs/installation/index.html +0 -732
  129. data/site/docs/maintaining/affinity-team-captain/index.html +0 -706
  130. data/site/docs/maintaining/avoiding-burnout/index.html +0 -709
  131. data/site/docs/maintaining/becoming-a-maintainer/index.html +0 -717
  132. data/site/docs/maintaining/index.html +0 -713
  133. data/site/docs/maintaining/merging-a-pull-request/index.html +0 -747
  134. data/site/docs/maintaining/reviewing-a-pull-request/index.html +0 -725
  135. data/site/docs/maintaining/special-labels/index.html +0 -705
  136. data/site/docs/maintaining/triaging-an-issue/index.html +0 -735
  137. data/site/docs/migrations/index.html +0 -647
  138. data/site/docs/pages/index.html +0 -695
  139. data/site/docs/pagination/index.html +0 -870
  140. data/site/docs/permalinks/index.html +0 -1027
  141. data/site/docs/plugins/index.html +0 -1800
  142. data/site/docs/posts/index.html +0 -858
  143. data/site/docs/quickstart/index.html +0 -650
  144. data/site/docs/resources/index.html +0 -769
  145. data/site/docs/sites/index.html +0 -702
  146. data/site/docs/static-files/index.html +0 -720
  147. data/site/docs/structure/index.html +0 -822
  148. data/site/docs/templates/index.html +0 -1208
  149. data/site/docs/themes/index.html +0 -935
  150. data/site/docs/troubleshooting/index.html +0 -893
  151. data/site/docs/upgrading/0-to-2/index.html +0 -826
  152. data/site/docs/upgrading/2-to-3/index.html +0 -824
  153. data/site/docs/upgrading/index.html +0 -693
  154. data/site/docs/usage/index.html +0 -705
  155. data/site/docs/variables/index.html +0 -1048
  156. data/site/docs/windows/index.html +0 -799
  157. data/site/favicon.ico +0 -0
  158. data/site/feed.xml +0 -372
  159. data/site/fonts/FontAwesome.eot +0 -0
  160. data/site/fonts/FontAwesome.svg +0 -12
  161. data/site/fonts/FontAwesome.ttf +0 -0
  162. data/site/fonts/FontAwesome.woff +0 -0
  163. data/site/github.html +0 -10
  164. data/site/help/index.html +0 -244
  165. data/site/icomoon-selection.json +0 -96
  166. data/site/img/article-footer.png +0 -0
  167. data/site/img/footer-arrow.png +0 -0
  168. data/site/img/footer-logo.png +0 -0
  169. data/site/img/jekyll-sticker.jpg +0 -0
  170. data/site/img/jekylllayoutconcept.png +0 -0
  171. data/site/img/logo-2x.png +0 -0
  172. data/site/img/logo-rss.png +0 -0
  173. data/site/img/octojekyll.png +0 -0
  174. data/site/index.html +0 -267
  175. data/site/issues.html +0 -10
  176. data/site/js/html5shiv.min.js +0 -4
  177. data/site/js/respond.min.js +0 -5
  178. data/site/latest_version.txt +0 -1
  179. data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +0 -570
  180. data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +0 -570
  181. data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +0 -571
  182. data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +0 -568
  183. data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +0 -570
  184. data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +0 -569
  185. data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +0 -565
  186. data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +0 -565
  187. data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +0 -572
  188. data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +0 -566
  189. data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +0 -564
  190. data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +0 -599
  191. data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +0 -568
  192. data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +0 -583
  193. data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +0 -565
  194. data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +0 -564
  195. data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +0 -573
  196. data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +0 -564
  197. data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +0 -569
  198. data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +0 -585
  199. data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +0 -565
  200. data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +0 -567
  201. data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +0 -582
  202. data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +0 -579
  203. data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +0 -568
  204. data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +0 -588
  205. data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +0 -574
  206. data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +0 -597
  207. data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +0 -575
  208. data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +0 -565
  209. data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +0 -572
  210. data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +0 -567
  211. data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +0 -568
  212. data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +0 -588
  213. data/site/news/2015/02/26/introducing-jekyll-talk/index.html +0 -563
  214. data/site/news/2015/10/26/jekyll-3-0-released/index.html +0 -592
  215. data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +0 -576
  216. data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +0 -566
  217. data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +0 -599
  218. data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +0 -583
  219. data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +0 -578
  220. data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +0 -569
  221. data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +0 -565
  222. data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +0 -571
  223. data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +0 -566
  224. data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +0 -572
  225. data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +0 -576
  226. data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +0 -564
  227. data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +0 -566
  228. data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +0 -567
  229. data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +0 -676
  230. data/site/news/2016/08/02/jekyll-3-2-1-released/index.html +0 -571
  231. data/site/news/2016/08/24/jekyll-admin-initial-release/index.html +0 -566
  232. data/site/news/2016/10/06/jekyll-3-3-is-here/index.html +0 -645
  233. data/site/news/2016/11/14/jekyll-3-3-1-released/index.html +0 -569
  234. data/site/news/2017/01/18/jekyll-3-4-0-released/index.html +0 -592
  235. data/site/news/2017/03/02/jekyll-3-4-1-released/index.html +0 -649
  236. data/site/news/2017/03/09/jekyll-3-4-2-released/index.html +0 -598
  237. data/site/news/2017/03/21/jekyll-3-4-3-released/index.html +0 -594
  238. data/site/news/2017/06/15/jekyll-3-5-0-released/index.html +0 -589
  239. data/site/news/2017/07/17/jekyll-3-5-1-released/index.html +0 -569
  240. data/site/news/2017/08/12/jekyll-3-5-2-released/index.html +0 -573
  241. data/site/news/2017/09/21/jekyll-3-6-0-released/index.html +0 -565
  242. data/site/news/index.html +0 -3609
  243. data/site/news/releases/index.html +0 -3344
  244. data/site/philosophy.html +0 -46
  245. data/site/readme.md +0 -23
  246. data/site/robots.txt +0 -1
  247. data/site/sitemap.xml +0 -485
  248. data/site/tutorials/convert-site-to-jekyll/index.html +0 -793
  249. data/site/tutorials/custom-404-page/index.html +0 -358
  250. data/site/tutorials/home/index.html +0 -323
  251. data/site/tutorials/index.html +0 -10
  252. data/site/tutorials/navigation/index.html +0 -872
  253. data/site/tutorials/orderofinterpretation/index.html +0 -441
@@ -1,441 +0,0 @@
1
- <!DOCTYPE HTML>
2
- <html lang="en-US">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width,initial-scale=1">
7
- <meta name="generator" content="Jekyll v3.6.0">
8
- <link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites">
9
- <link rel="alternate" type="application/atom+xml" title="Recent commits to Jekyll’s master branch" href="https://github.com/jekyll/jekyll/commits/master.atom">
10
- <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
11
- <link rel="stylesheet" href="/css/screen.css">
12
- <link rel="icon" type="image/x-icon" href="/favicon.ico">
13
- <!-- Begin Jekyll SEO tag v2.3.0 -->
14
- <title>Order of interpretation | Jekyll • Simple, blog-aware, static sites</title>
15
- <meta property="og:title" content="Order of interpretation">
16
- <meta property="og:locale" content="en_US">
17
- <meta name="description" content="Jekyll’s main job is to convert your raw text files into a static website. It does this by rendering Liquid, Markdown, and other transforms as it generates the static HTML output.">
18
- <meta property="og:description" content="Jekyll’s main job is to convert your raw text files into a static website. It does this by rendering Liquid, Markdown, and other transforms as it generates the static HTML output.">
19
- <link rel="canonical" href="https://jekyllrb.com/tutorials/orderofinterpretation/">
20
- <meta property="og:url" content="https://jekyllrb.com/tutorials/orderofinterpretation/">
21
- <meta property="og:site_name" content="Jekyll • Simple, blog-aware, static sites">
22
- <meta property="og:type" content="article">
23
- <meta property="article:published_time" content="2017-10-24T08:07:43-07:00">
24
- <meta name="twitter:card" content="summary">
25
- <meta name="twitter:site" content="@jekyllrb">
26
- <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY">
27
- <script type="application/ld+json">
28
- {"name":null,"description":"Jekyll’s main job is to convert your raw text files into a static website. It does this by rendering Liquid, Markdown, and other transforms as it generates the static HTML output.","url":"https://jekyllrb.com/tutorials/orderofinterpretation/","headline":"Order of interpretation","dateModified":"2017-10-24T08:07:43-07:00","datePublished":"2017-10-24T08:07:43-07:00","sameAs":null,"@type":"BlogPosting","author":null,"image":null,"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/orderofinterpretation/"},"@context":"http://schema.org"}</script>
29
- <!-- End Jekyll SEO tag -->
30
-
31
- <!--[if lt IE 9]>
32
- <script src="/js/html5shiv.min.js"></script>
33
- <script src="/js/respond.min.js"></script>
34
- <![endif]-->
35
- </head>
36
-
37
-
38
- <body class="wrap">
39
- <header>
40
- <nav class="mobile-nav show-on-mobiles">
41
- <ul>
42
- <li class="">
43
- <a href="/">Home</a>
44
- </li>
45
- <li class="">
46
- <a href="/docs/home/">Docs</a>
47
- </li>
48
- <li class="">
49
- <a href="/news/">News</a>
50
- </li>
51
- <li class="">
52
- <a href="/community/">Community</a>
53
- </li>
54
- <li class="">
55
- <a href="/help/">Help</a>
56
- </li>
57
- <li>
58
- <a href="https://github.com/jekyll/jekyll">GitHub</a>
59
- </li>
60
- </ul>
61
-
62
- </nav>
63
- <div class="grid">
64
- <div class="unit one-third center-on-mobiles">
65
- <h1>
66
- <a href="/">
67
- <span class="sr-only">Jekyll</span>
68
- <img src="/img/logo-2x.png" width="249" height="115" alt="Jekyll Logo">
69
- </a>
70
- </h1>
71
- </div>
72
- <nav class="main-nav unit two-thirds hide-on-mobiles">
73
- <ul>
74
- <li class="">
75
- <a href="/">Home</a>
76
- </li>
77
- <li class="">
78
- <a href="/docs/home/">Docs</a>
79
- </li>
80
- <li class="">
81
- <a href="/news/">News</a>
82
- </li>
83
- <li class="">
84
- <a href="/community/">Community</a>
85
- </li>
86
- <li class="">
87
- <a href="/help/">Help</a>
88
- </li>
89
- <li>
90
- <a href="https://github.com/jekyll/jekyll">GitHub</a>
91
- </li>
92
- </ul>
93
-
94
- </nav>
95
- </div>
96
- </header>
97
-
98
-
99
- <section class="docs">
100
- <div class="grid">
101
-
102
- <div class="docs-nav-mobile unit whole show-on-mobiles">
103
- <select onchange="if (this.value) window.location.href=this.value">
104
- <option value="">Navigate the tutorials…</option>
105
-
106
- <optgroup label="Tutorials">
107
-
108
-
109
-
110
- <option value="/tutorials/home/">Tutorials</option>
111
-
112
-
113
-
114
- <option value="/tutorials/navigation/">Navigation</option>
115
-
116
-
117
-
118
- <option value="/tutorials/orderofinterpretation/">Order of interpretation</option>
119
-
120
-
121
-
122
- <option value="/tutorials/custom-404-page/">Custom 404 Page</option>
123
-
124
-
125
-
126
- <option value="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</option>
127
-
128
-
129
- </optgroup>
130
-
131
- </select>
132
- </div>
133
-
134
-
135
- <div class="unit four-fifths">
136
- <article>
137
- <div class="improve right hide-on-mobiles">
138
- <a href="https://github.com/jekyll/jekyll/edit/master/docs/_tutorials/orderofinterpretation.md"><i class="fa fa-pencil"></i>  Improve this page</a>
139
- </div>
140
- <h1>Order of interpretation</h1>
141
- <p>Jekyll’s main job is to convert your raw text files into a static website. It does this by rendering Liquid, Markdown, and other transforms as it generates the static HTML output.</p>
142
-
143
- <p>In this conversion process, it’s important to understand Jekyll’s order of interpretation. By “order of interpretation,” we mean what gets rendered, in what order, and what rules get applied in converting content.</p>
144
-
145
- <p>If an element isn’t converting, you can troubleshoot the problem by analyzing the order of interpretation.</p>
146
-
147
- <h2 id="order-of-interpretations">Order of interpretations</h2>
148
-
149
- <p>Jekyll converts your site in the following order:</p>
150
-
151
- <ol>
152
- <li>
153
- <p><strong>Site variables</strong>. Jekyll looks across your files and populates <a href="/docs/variables/">site variables</a>, such as <code class="highlighter-rouge">site</code>, <code class="highlighter-rouge">page</code>, <code class="highlighter-rouge">post</code>, and collection objects. (From these objects, Jekyll determines the values for permalinks, tags, categories, and other details.)</p>
154
- </li>
155
- <li>
156
- <strong>Liquid</strong>. Jekyll processes any <a href="https://github.com/Shopify/liquid">Liquid</a> formatting in pages that contain <a href="/docs/frontmatter/">front matter</a>. You can identify Liquid as follows:
157
- <ul>
158
- <li>
159
- <strong>Liquid tags</strong> start with <code class="highlighter-rouge">{%</code> and end with a <code class="highlighter-rouge">%}</code>. For example: <code class="highlighter-rouge">{% highlight %}</code> or <code class="highlighter-rouge">{% seo %}</code>. Tags can define blocks or be inline. Block-defining tags will also come with a corresponding end tag — for example, <code class="highlighter-rouge">{% endhighlight %}</code>.</li>
160
- <li>
161
- <strong>Liquid variables</strong> start and end with double curly braces. For example: <code class="highlighter-rouge">{{ site.myvariable }}</code> or <code class="highlighter-rouge">{{ content }}</code>.</li>
162
- <li>
163
- <strong>Liquid filters</strong> start with a pipe character (<code class="highlighter-rouge">|</code>) and can only be used within <strong>Liquid variables</strong> after the variable string. For example: the <code class="highlighter-rouge">relative_url</code> filter in <code class="highlighter-rouge">{{ "css/main.css" | relative_url }}</code>.</li>
164
- </ul>
165
- </li>
166
- <li>
167
- <p><strong>Markdown</strong>. Jekyll converts Markdown to HTML using the Markdown filter specified in your config file. Files must have a Markdown file extension and front matter in order for Jekyll to convert them.</p>
168
- </li>
169
- <li>
170
- <p><strong>Layout</strong>. Jekyll pushes content into the layouts specified by the page’s front matter (or as specified in the config file). The content from each page gets pushed into the <code class="highlighter-rouge">{{ content }}</code> tags within the layouts.</p>
171
- </li>
172
- <li>
173
- <strong>Files</strong>. Jekyll writes the generated content into files in the <a href="/docs/structure/">directory structure</a> in <code class="highlighter-rouge">_site</code>. Pages, posts, and collections get structured based on their <a href="/docs/permalinks/">permalink</a> setting. Directories that begin with <code class="highlighter-rouge">_</code> (such as <code class="highlighter-rouge">_includes</code> and <code class="highlighter-rouge">_data</code>) are usually hidden in the output.</li>
174
- </ol>
175
-
176
- <h2 id="scenarios-where-incorrect-configurations-create-problems">Scenarios where incorrect configurations create problems</h2>
177
-
178
- <p>For the most part, you don’t have to think about the order of interpretation when building your Jekyll site. These details only become important to know when something isn’t rendering.</p>
179
-
180
- <p>The following scenarios highlight potential problems you might encounter. These problems come from misunderstanding the order of interpretation and can be easily fixed.</p>
181
-
182
- <h3 id="variable-on-page-not-rendered-because-variable-is-assigned-in-layout">Variable on page not rendered because variable is assigned in layout</h3>
183
-
184
- <p>In your layout file (<code class="highlighter-rouge">_layouts/default.html</code>), suppose you have a variable assigned:</p>
185
-
186
- <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{% assign myvar = "joe" %}
187
- </code></pre></div></div>
188
-
189
- <p>On a page that uses the layout, you reference that variable:</p>
190
-
191
- <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{{ myvar }}
192
- </code></pre></div></div>
193
-
194
- <p>The variable won’t render because the page’s order of interpretation is to render Liquid first and later process the Layout. When the Liquid rendering happens, the variable assignment isn’t available.</p>
195
-
196
- <p>To make the code work, you could put the variable assignment into the page’s front matter.</p>
197
-
198
- <h3 id="markdown-in-include-file-not-processed">Markdown in include file not processed</h3>
199
-
200
- <p>Suppose you have a Markdown file at <code class="highlighter-rouge">_includes/mycontent.md</code>. In the Markdown file, you have some Markdown formatting:</p>
201
-
202
- <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code>This is a list:
203
- <span class="p">*</span> first item
204
- <span class="p">*</span> second item
205
- </code></pre></div></div>
206
-
207
- <p>You include the file into an HTML file as follows:</p>
208
-
209
- <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span><span class="nv">mycontent</span><span class="p">.</span><span class="nv">md</span><span class="w"> </span><span class="p">%}</span>
210
- </code></pre></div></div>
211
-
212
- <p>The Markdown is not processed because first the Liquid (<code class="highlighter-rouge">include</code> tag) gets processed, inserting <code class="highlighter-rouge">mycontent.md</code> into the HTML file. <em>Then</em> the Markdown would get processed.</p>
213
-
214
- <p>But because the content is included into an <em>HTML</em> page, the Markdown isn’t rendered. The Markdown filter processes content only in Markdown files.</p>
215
-
216
- <p>To make the code work, use HTML formatting in includes that are inserted into HTML files.</p>
217
-
218
- <p>Note that <code class="highlighter-rouge">highlight</code> tags don’t require Markdown to process. Suppose your include contains the following:</p>
219
-
220
- <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">highlight</span><span class="w"> </span>javascript<span class="w"> </span><span class="p">%}</span>
221
- console.log('alert');
222
- <span class="p">{%</span><span class="w"> </span><span class="nt">endhighlight</span><span class="w"> </span><span class="p">%}</span>
223
- </code></pre></div></div>
224
-
225
- <p>The <code class="highlighter-rouge">highlight</code> tag <em>is</em> Liquid. (Liquid passes the content to Rouge or Pygments for syntax highlighting.) As a result, this code will actually convert to HTML with syntax highlighting. Jekyll does not need the Markdown filter to process <code class="highlighter-rouge">highlight</code> tags.</p>
226
-
227
- <h3 id="liquid-mixed-with-javascript-isnt-rendered">Liquid mixed with JavaScript isn’t rendered</h3>
228
-
229
- <p>Suppose you try to mix Liquid’s <code class="highlighter-rouge">assign</code> tag with JavaScript, like this:</p>
230
-
231
- <div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">&lt;</span><span class="nx">button</span> <span class="nx">onclick</span><span class="o">=</span><span class="s2">"someFunction()"</span><span class="o">&gt;</span><span class="nx">Click</span> <span class="nx">me</span><span class="o">&lt;</span><span class="sr">/button</span><span class="err">&gt;
232
- </span>
233
- <span class="o">&lt;</span><span class="nx">p</span> <span class="nx">id</span><span class="o">=</span><span class="s2">"intro"</span><span class="o">&gt;&lt;</span><span class="sr">/p</span><span class="err">&gt;
234
- </span>
235
- <span class="o">&lt;</span><span class="nx">script</span><span class="o">&gt;</span>
236
- <span class="p">{</span><span class="o">%</span> <span class="nx">assign</span> <span class="nx">someContent</span> <span class="o">=</span> <span class="s2">"This is some content"</span> <span class="o">%</span><span class="p">}</span>
237
- <span class="kd">function</span> <span class="nx">someFunction</span><span class="p">()</span> <span class="p">{</span>
238
- <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"intro"</span><span class="p">).</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">someContent</span><span class="p">;</span>
239
- <span class="p">}</span>
240
- <span class="o">&lt;</span><span class="sr">/script</span><span class="err">&gt;
241
- </span></code></pre></div></div>
242
-
243
- <p>This won’t work because the <code class="highlighter-rouge">assign</code> tag is only available during the Liquid rendering phase of the site. In this JavaScript example, the script executes when a user clicks a button (“Click me”) on the HTML page. At that time, the Liquid logic is no longer available, so the <code class="highlighter-rouge">assign</code> tag wouldn’t return anything.</p>
244
-
245
- <p>However, you can use Jekyll’s site variables or Liquid to <em>populate</em> a script that is executed at a later time. For example, suppose you have the following property in your front matter: <code class="highlighter-rouge">someContent: "This is some content"</code>. You could do this:</p>
246
-
247
- <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">&lt;</span><span class="nx">button</span> <span class="nx">onclick</span><span class="o">=</span><span class="s2">"someFunction()"</span><span class="o">&gt;</span><span class="nx">Click</span> <span class="nx">me</span><span class="o">&lt;</span><span class="sr">/button</span><span class="err">&gt;
248
- </span>
249
- <span class="o">&lt;</span><span class="nx">p</span> <span class="nx">id</span><span class="o">=</span><span class="s2">"intro"</span><span class="o">&gt;&lt;</span><span class="sr">/p</span><span class="err">&gt;
250
- </span>
251
- <span class="o">&lt;</span><span class="nx">script</span><span class="o">&gt;</span>
252
-
253
- <span class="kd">function</span> <span class="nx">someFunction</span><span class="p">()</span> <span class="p">{</span>
254
- <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"intro"</span><span class="p">).</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">"{{ page.someContent }}"</span><span class="p">;</span>
255
- <span class="p">}</span>
256
- <span class="o">&lt;</span><span class="sr">/script</span><span class="err">&gt;
257
- </span></code></pre></div></div>
258
-
259
- <p>When Jekyll builds the site, this <code class="highlighter-rouge">someContent</code> property populates the script’s values, converting <code class="highlighter-rouge">{{ page.someContent }}</code> to <code class="highlighter-rouge">"This is some content"</code>.</p>
260
-
261
- <p>The key to remember is that Liquid renders when Jekyll builds your site. Liquid is not available at run-time in the browser when a user executes an event.</p>
262
-
263
- <h2 id="note-about-using-liquid-in-yaml">Note about using Liquid in YAML</h2>
264
-
265
- <p>There’s one more detail to remember: Liquid does not render when embedded in YAML files or front matter. (This isn’t related to order of interpretation, but it’s worth mentioning because it’s a common question about element rendering.)</p>
266
-
267
- <p>For example, suppose you have a <code class="highlighter-rouge">highlight</code> tag in your <code class="highlighter-rouge">_data/mydata.yml</code> file:</p>
268
-
269
- <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>myvalue: &gt;
270
- {% highlight javascript %}
271
- console.log('alert');
272
- {% endhighlight %}
273
- </code></pre></div></div>
274
-
275
- <p>On a page, you try to insert the value:</p>
276
-
277
- <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{{ site.data.mydata.myvalue }}
278
- </code></pre></div></div>
279
-
280
- <p>This would render only as a string rather than a code sample with syntax highlighting. To make the code render, consider using an include instead.</p>
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
- <div class="section-nav">
297
- <div class="left align-right">
298
-
299
-
300
-
301
- <a href="/tutorials/navigation/" class="prev">Back</a>
302
-
303
- </div>
304
- <div class="right align-left">
305
-
306
-
307
-
308
- <a href="/tutorials/custom-404-page/" class="next">Next</a>
309
-
310
- </div>
311
- </div>
312
- <div class="clear"></div>
313
-
314
- </article>
315
- </div>
316
-
317
- <div class="unit one-fifth hide-on-mobiles">
318
- <aside>
319
-
320
- <h4>Tutorials</h4>
321
-
322
- <ul>
323
-
324
-
325
-
326
- <li class=""><a href="/tutorials/home/">Tutorials</a></li>
327
-
328
-
329
-
330
- <li class=""><a href="/tutorials/navigation/">Navigation</a></li>
331
-
332
-
333
-
334
- <li class="current"><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
335
-
336
-
337
-
338
- <li class=""><a href="/tutorials/custom-404-page/">Custom 404 Page</a></li>
339
-
340
-
341
-
342
- <li class=""><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
343
-
344
- </ul>
345
-
346
-
347
-
348
- </aside>
349
- </div>
350
-
351
-
352
- <div class="clear"></div>
353
-
354
- </div>
355
- </section>
356
-
357
-
358
- <footer>
359
- <div class="grid">
360
- <div class="unit one-third center-on-mobiles">
361
- <p>The contents of this website are <br>© 2017 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT License</a>.</p>
362
- </div>
363
- <div class="unit two-thirds align-right center-on-mobiles">
364
- <p>
365
- Proudly hosted by
366
- <a href="https://github.com">
367
- <img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
368
- </a>
369
- </p>
370
- </div>
371
- </div>
372
- </footer>
373
-
374
- <script>
375
- var anchorForId = function (id) {
376
- var anchor = document.createElement("a");
377
- anchor.className = "header-link";
378
- anchor.href = "#" + id;
379
- anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
380
- anchor.title = "Permalink";
381
- return anchor;
382
- };
383
-
384
- var linkifyAnchors = function (level, containingElement) {
385
- var headers = containingElement.getElementsByTagName("h" + level);
386
- for (var h = 0; h < headers.length; h++) {
387
- var header = headers[h];
388
-
389
- if (typeof header.id !== "undefined" && header.id !== "") {
390
- header.appendChild(anchorForId(header.id));
391
- }
392
- }
393
- };
394
-
395
- document.onreadystatechange = function () {
396
- if (this.readyState === "complete") {
397
- var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
398
- if (!contentBlock) {
399
- return;
400
- }
401
- for (var level = 1; level <= 6; level++) {
402
- linkifyAnchors(level, contentBlock);
403
- }
404
- }
405
- };
406
- </script>
407
-
408
-
409
- <!-- Gauges (http://get.gaug.es/) -->
410
- <script>
411
- var _gauges = _gauges || [];
412
- (function() {
413
- var t = document.createElement('script');
414
- t.type = 'text/javascript';
415
- t.async = true;
416
- t.id = 'gauges-tracker';
417
- t.setAttribute('data-site-id', '503c5af6613f5d0f19000027');
418
- t.src = '//secure.gaug.es/track.js';
419
- var s = document.getElementsByTagName('script')[0];
420
- s.parentNode.insertBefore(t, s);
421
- })();
422
- </script>
423
-
424
-
425
-
426
- <!-- Google Analytics (https://www.google.com/analytics) -->
427
- <script>
428
- !function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
429
- (j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
430
- L=e.getElementsByTagName(k)[0],l.src='//www.google-analytics.com/analytics.js',
431
- L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
432
-
433
- ga('create', 'UA-50755011-1', 'jekyllrb.com');
434
- ga('send', 'pageview');
435
-
436
- </script>
437
-
438
-
439
-
440
- </body>
441
- </html>