jekyll-docs 3.9.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-docs.rb +3 -3
  3. data/site/404.html +10 -7
  4. data/site/css/screen.css +3 -1
  5. data/site/css/screen.css.map +28 -0
  6. data/site/docs/assets/index.html +412 -453
  7. data/site/docs/code_of_conduct/index.html +447 -501
  8. data/site/docs/collections/index.html +487 -674
  9. data/site/docs/community/bug/index.html +603 -0
  10. data/site/docs/community/index.html +635 -0
  11. data/site/docs/conduct/index.html +447 -515
  12. data/site/docs/configuration/default/index.html +682 -0
  13. data/site/docs/configuration/environments/index.html +641 -0
  14. data/site/docs/configuration/front-matter-defaults/index.html +738 -0
  15. data/site/docs/configuration/incremental-regeneration/index.html +631 -0
  16. data/site/docs/configuration/index.html +405 -1230
  17. data/site/docs/configuration/liquid/index.html +616 -0
  18. data/site/docs/configuration/markdown/index.html +766 -0
  19. data/site/docs/configuration/options/index.html +1011 -0
  20. data/site/docs/configuration/webrick/index.html +615 -0
  21. data/site/docs/continuous-integration/buddyworks/index.html +393 -479
  22. data/site/docs/continuous-integration/circleci/index.html +465 -481
  23. data/site/docs/continuous-integration/travis-ci/index.html +450 -507
  24. data/site/docs/contributing/index.html +425 -514
  25. data/site/docs/datafiles/index.html +411 -453
  26. data/site/docs/deployment-methods/index.html +9 -871
  27. data/site/docs/deployment/automated/index.html +663 -0
  28. data/site/docs/deployment/index.html +607 -0
  29. data/site/docs/deployment/manual/index.html +631 -0
  30. data/site/docs/deployment/third-party/index.html +639 -0
  31. data/site/docs/drafts/index.html +9 -634
  32. data/site/docs/extras/index.html +9 -687
  33. data/site/docs/front-matter/index.html +799 -0
  34. data/site/docs/frontmatter/index.html +9 -819
  35. data/site/docs/github-pages/index.html +407 -475
  36. data/site/docs/history/index.html +1370 -1154
  37. data/site/docs/home/index.html +9 -627
  38. data/site/docs/includes/index.html +425 -501
  39. data/site/docs/index.html +630 -9
  40. data/site/docs/installation/index.html +403 -540
  41. data/site/docs/installation/macos/index.html +716 -0
  42. data/site/docs/installation/other-linux/index.html +613 -0
  43. data/site/docs/installation/ubuntu/index.html +623 -0
  44. data/site/docs/installation/windows/index.html +733 -0
  45. data/site/docs/layouts/index.html +726 -0
  46. data/site/docs/liquid/filters/index.html +1169 -0
  47. data/site/docs/liquid/index.html +615 -0
  48. data/site/docs/liquid/tags/index.html +728 -0
  49. data/site/docs/maintaining/affinity-team-captain/index.html +395 -479
  50. data/site/docs/maintaining/avoiding-burnout/index.html +391 -475
  51. data/site/docs/maintaining/becoming-a-maintainer/index.html +391 -475
  52. data/site/docs/maintaining/index.html +391 -486
  53. data/site/docs/maintaining/merging-a-pull-request/index.html +406 -490
  54. data/site/docs/maintaining/releasing-a-new-version/index.html +409 -485
  55. data/site/docs/maintaining/reviewing-a-pull-request/index.html +392 -476
  56. data/site/docs/maintaining/special-labels/index.html +397 -481
  57. data/site/docs/maintaining/triaging-an-issue/index.html +394 -478
  58. data/site/docs/markdown-101/index.html +601 -0
  59. data/site/docs/migrations/index.html +396 -440
  60. data/site/docs/pages/index.html +408 -482
  61. data/site/docs/pagination/index.html +450 -509
  62. data/site/docs/permalinks/index.html +552 -587
  63. data/site/docs/plugins/commands/index.html +656 -0
  64. data/site/docs/plugins/converters/index.html +685 -0
  65. data/site/docs/plugins/filters/index.html +624 -0
  66. data/site/docs/plugins/generators/index.html +697 -0
  67. data/site/docs/plugins/hooks/index.html +838 -0
  68. data/site/docs/plugins/index.html +415 -1565
  69. data/site/docs/plugins/installation/index.html +681 -0
  70. data/site/docs/plugins/tags/index.html +699 -0
  71. data/site/docs/plugins/your-first-plugin/index.html +741 -0
  72. data/site/docs/posts/index.html +491 -627
  73. data/site/docs/quickstart/index.html +9 -645
  74. data/site/docs/resources/index.html +9 -761
  75. data/site/docs/ruby-101/index.html +640 -0
  76. data/site/docs/sites/index.html +9 -696
  77. data/site/docs/static-files/index.html +401 -433
  78. data/site/docs/step-by-step/01-setup/index.html +771 -0
  79. data/site/docs/step-by-step/02-liquid/index.html +756 -0
  80. data/site/docs/step-by-step/03-front-matter/index.html +730 -0
  81. data/site/docs/step-by-step/04-layouts/index.html +770 -0
  82. data/site/docs/step-by-step/05-includes/index.html +768 -0
  83. data/site/docs/step-by-step/06-data-files/index.html +738 -0
  84. data/site/docs/step-by-step/07-assets/index.html +773 -0
  85. data/site/docs/step-by-step/08-blogging/index.html +835 -0
  86. data/site/docs/step-by-step/09-collections/index.html +932 -0
  87. data/site/docs/step-by-step/10-deployment/index.html +842 -0
  88. data/site/docs/structure/index.html +411 -430
  89. data/site/docs/support/index.html +392 -476
  90. data/site/docs/templates/index.html +9 -1232
  91. data/site/docs/themes/index.html +487 -521
  92. data/site/docs/troubleshooting/index.html +443 -520
  93. data/site/docs/upgrading/0-to-2/index.html +437 -523
  94. data/site/docs/upgrading/2-to-3/index.html +422 -507
  95. data/site/docs/upgrading/3-to-4/index.html +765 -0
  96. data/site/docs/upgrading/index.html +395 -478
  97. data/site/docs/usage/index.html +409 -506
  98. data/site/docs/variables/index.html +504 -652
  99. data/site/docs/windows/index.html +9 -784
  100. data/site/feed.xml +269 -188
  101. data/site/feed/release.xml +324 -0
  102. data/site/fonts/lato-v14-latin-300.woff +0 -0
  103. data/site/fonts/lato-v14-latin-300.woff2 +0 -0
  104. data/site/fonts/lato-v14-latin-300italic.woff +0 -0
  105. data/site/fonts/lato-v14-latin-300italic.woff2 +0 -0
  106. data/site/fonts/lato-v14-latin-700.woff +0 -0
  107. data/site/fonts/lato-v14-latin-700.woff2 +0 -0
  108. data/site/fonts/lato-v14-latin-700italic.woff +0 -0
  109. data/site/fonts/lato-v14-latin-700italic.woff2 +0 -0
  110. data/site/fonts/lato-v14-latin-900.woff +0 -0
  111. data/site/fonts/lato-v14-latin-900.woff2 +0 -0
  112. data/site/fonts/lato-v14-latin-900italic.woff +0 -0
  113. data/site/fonts/lato-v14-latin-900italic.woff2 +0 -0
  114. data/site/fonts/lato-v14-latin-italic.woff +0 -0
  115. data/site/fonts/lato-v14-latin-italic.woff2 +0 -0
  116. data/site/fonts/lato-v14-latin-regular.woff +0 -0
  117. data/site/fonts/lato-v14-latin-regular.woff2 +0 -0
  118. data/site/help/index.html +9 -247
  119. data/site/img/forestry-logo.svg +19 -0
  120. data/site/img/jekyll-og.png +0 -0
  121. data/site/img/spacer.gif +0 -0
  122. data/site/index.html +56 -29
  123. data/site/jekyllconf/index.html +62 -35
  124. data/site/latest_version.txt +1 -1
  125. data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +180 -115
  126. data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +182 -117
  127. data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +183 -118
  128. data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +184 -119
  129. data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +183 -118
  130. data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +180 -115
  131. data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +182 -117
  132. data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +182 -117
  133. data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +185 -120
  134. data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +183 -118
  135. data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +180 -115
  136. data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +189 -124
  137. data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +181 -116
  138. data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +181 -116
  139. data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +180 -115
  140. data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +182 -117
  141. data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +181 -116
  142. data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +181 -116
  143. data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +181 -116
  144. data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +184 -119
  145. data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +180 -115
  146. data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +181 -116
  147. data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +185 -120
  148. data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +182 -117
  149. data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +181 -116
  150. data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +189 -124
  151. data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +187 -122
  152. data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +188 -123
  153. data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +180 -115
  154. data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +182 -117
  155. data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +179 -114
  156. data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +180 -115
  157. data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +179 -114
  158. data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +180 -115
  159. data/site/news/2015/02/26/introducing-jekyll-talk/index.html +180 -115
  160. data/site/news/2015/10/26/jekyll-3-0-released/index.html +185 -120
  161. data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +184 -119
  162. data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +182 -117
  163. data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +186 -121
  164. data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +183 -118
  165. data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +181 -116
  166. data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +182 -117
  167. data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +179 -114
  168. data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +181 -116
  169. data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +181 -116
  170. data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +180 -115
  171. data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +186 -121
  172. data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +181 -116
  173. data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +181 -116
  174. data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +179 -114
  175. data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +184 -119
  176. data/site/news/2016/08/02/jekyll-3-2-1-released/index.html +180 -115
  177. data/site/news/2016/08/24/jekyll-admin-initial-release/index.html +179 -114
  178. data/site/news/2016/10/06/jekyll-3-3-is-here/index.html +207 -142
  179. data/site/news/2016/11/14/jekyll-3-3-1-released/index.html +181 -116
  180. data/site/news/2017/01/18/jekyll-3-4-0-released/index.html +183 -118
  181. data/site/news/2017/03/02/jekyll-3-4-1-released/index.html +181 -116
  182. data/site/news/2017/03/09/jekyll-3-4-2-released/index.html +189 -124
  183. data/site/news/2017/03/21/jekyll-3-4-3-released/index.html +190 -125
  184. data/site/news/2017/06/15/jekyll-3-5-0-released/index.html +187 -122
  185. data/site/news/2017/07/17/jekyll-3-5-1-released/index.html +182 -117
  186. data/site/news/2017/08/12/jekyll-3-5-2-released/index.html +185 -120
  187. data/site/news/2017/09/21/jekyll-3-6-0-released/index.html +181 -116
  188. data/site/news/2017/10/19/diversity-open-source/index.html +181 -116
  189. data/site/news/2017/10/21/jekyll-3-6-2-released/index.html +183 -118
  190. data/site/news/2018/01/02/jekyll-3-7-0-released/index.html +184 -119
  191. data/site/news/2018/01/25/jekyll-3-7-2-released/index.html +189 -124
  192. data/site/news/2018/02/19/meet-jekyll-s-new-lead-developer/index.html +180 -115
  193. data/site/news/2018/02/24/jekyll-3-7-3-released/index.html +185 -120
  194. data/site/news/2018/04/19/development-update/index.html +699 -0
  195. data/site/news/2018/04/19/jekyll-3-8-0-released/index.html +715 -0
  196. data/site/news/2018/05/01/jekyll-3-8-1-released/index.html +182 -117
  197. data/site/news/2018/05/19/jekyll-3-8-2-released/index.html +181 -116
  198. data/site/news/2018/06/05/jekyll-3-8-3-released/index.html +183 -118
  199. data/site/news/2018/08/01/jekyll-sponsoring/index.html +748 -0
  200. data/site/news/2018/09/19/security-fixes-for-3-6-3-7-3-8/index.html +692 -0
  201. data/site/news/2018/11/04/jekyll-3-8-5-released/index.html +682 -0
  202. data/site/news/2019/03/18/jekyll-4-0-0-pre-alpha1-released/index.html +710 -0
  203. data/site/news/2019/07/02/jekyll-3-8-6-released/index.html +180 -115
  204. data/site/news/2019/07/20/jekyll-4-0-0-pre-beta1-released/index.html +11 -0
  205. data/site/news/2019/08/04/jekyll-4-0-0-pre-beta1-released/index.html +708 -0
  206. data/site/news/2019/08/20/jekyll-4-0-0-released/index.html +809 -0
  207. data/site/news/index.html +976 -326
  208. data/site/news/releases/index.html +820 -321
  209. data/site/{philosophy.html → philosophy/index.html} +1 -1
  210. data/site/redirects.json +1 -1
  211. data/site/resources/index.html +332 -0
  212. data/site/showcase/index.html +844 -0
  213. data/site/sitemap.xml +256 -81
  214. data/site/team/index.html +63 -77
  215. data/site/tutorials/cache-api/index.html +418 -0
  216. data/site/tutorials/convert-site-to-jekyll/index.html +155 -124
  217. data/site/tutorials/custom-404-page/index.html +76 -43
  218. data/site/tutorials/home/index.html +64 -37
  219. data/site/tutorials/navigation/index.html +186 -103
  220. data/site/tutorials/orderofinterpretation/index.html +80 -53
  221. data/site/tutorials/using-jekyll-with-bundler/index.html +80 -51
  222. data/site/tutorials/video-walkthroughs/index.html +62 -35
  223. metadata +102 -13
  224. data/site/community/index.html +0 -11
  225. data/site/docs/continuous-integration/index.html +0 -681
@@ -3,17 +3,18 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <meta name="generator" content="Jekyll v3.9.0">
6
+ <meta name="generator" content="Jekyll v4.0.0">
7
7
  <link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites" />
8
+ <link type="application/atom+xml" rel="alternate" href="/feed/release.xml" title="Jekyll releases posts" />
8
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">
9
- <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
11
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
10
+ <link rel="preload" href="/fonts/lato-v14-latin-300.woff2" as="font" type="font/woff2" crossorigin />
11
+ <link rel="preload" href="/fonts/lato-v14-latin-700.woff2" as="font" type="font/woff2" crossorigin />
12
+ <link rel="preload" href="/css/screen.css" as="style">
12
13
  <link rel="stylesheet" href="/css/screen.css">
13
14
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
14
15
  <!-- Begin Jekyll SEO tag v2.6.1 -->
15
16
  <title>Custom 404 Page | Jekyll • Simple, blog-aware, static sites</title>
16
- <meta name="generator" content="Jekyll v3.9.0" />
17
+ <meta name="generator" content="Jekyll v4.0.0" />
17
18
  <meta property="og:title" content="Custom 404 Page" />
18
19
  <meta property="og:locale" content="en_US" />
19
20
  <meta name="description" content="You can easily serve custom 404 error pages with Jekyll to replace the default Error 404 – File Not Found page displayed when one tries to access a broken link on your site." />
@@ -21,14 +22,16 @@
21
22
  <link rel="canonical" href="https://jekyllrb.com/tutorials/custom-404-page/" />
22
23
  <meta property="og:url" content="https://jekyllrb.com/tutorials/custom-404-page/" />
23
24
  <meta property="og:site_name" content="Jekyll • Simple, blog-aware, static sites" />
25
+ <meta property="og:image" content="https://jekyllrb.com/img/jekyll-og.png" />
24
26
  <meta property="og:type" content="article" />
25
- <meta property="article:published_time" content="2020-08-05T11:55:36-07:00" />
26
- <meta name="twitter:card" content="summary" />
27
+ <meta property="article:published_time" content="2019-09-11T07:30:27-07:00" />
28
+ <meta name="twitter:card" content="summary_large_image" />
29
+ <meta property="twitter:image" content="https://jekyllrb.com/img/jekyll-og.png" />
27
30
  <meta property="twitter:title" content="Custom 404 Page" />
28
31
  <meta name="twitter:site" content="@jekyllrb" />
29
32
  <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
30
33
  <script type="application/ld+json">
31
- {"url":"https://jekyllrb.com/tutorials/custom-404-page/","headline":"Custom 404 Page","dateModified":"2020-08-05T11:55:36-07:00","datePublished":"2020-08-05T11:55:36-07:00","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"description":"You can easily serve custom 404 error pages with Jekyll to replace the default Error 404 – File Not Found page displayed when one tries to access a broken link on your site.","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/custom-404-page/"},"@type":"BlogPosting","@context":"https://schema.org"}</script>
34
+ {"description":"You can easily serve custom 404 error pages with Jekyll to replace the default Error 404 – File Not Found page displayed when one tries to access a broken link on your site.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/custom-404-page/"},"headline":"Custom 404 Page","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/tutorials/custom-404-page/","datePublished":"2019-09-11T07:30:27-07:00","image":"https://jekyllrb.com/img/jekyll-og.png","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"@context":"https://schema.org"}</script>
32
35
  <!-- End Jekyll SEO tag -->
33
36
 
34
37
  <!--[if lt IE 9]>
@@ -51,18 +54,27 @@
51
54
  </div>
52
55
  <nav class="main-nav hide-on-mobiles">
53
56
  <ul>
54
- <li class="">
57
+
58
+ <li>
55
59
  <a href="/">Home</a>
56
60
  </li>
57
- <li class="">
58
- <a href="/docs/home/">Docs</a>
61
+
62
+ <li>
63
+ <a href="/docs/">Docs</a>
64
+ </li>
65
+
66
+ <li>
67
+ <a href="/resources/">Resources</a>
59
68
  </li>
60
- <li class="">
61
- <a href="/news/">News</a>
69
+
70
+ <li>
71
+ <a href="/showcase/">Showcase</a>
62
72
  </li>
63
- <li class="">
64
- <a href="/help/">Help</a>
73
+
74
+ <li>
75
+ <a href="/news/">News</a>
65
76
  </li>
77
+
66
78
  </ul>
67
79
 
68
80
  </nav>
@@ -73,7 +85,7 @@
73
85
  <div class="meta hide-on-mobiles">
74
86
  <ul>
75
87
  <li>
76
- <a href="https://github.com/jekyll/jekyll/releases/tag/v3.9.0">v3.9.0</a>
88
+ <a href="https://github.com/jekyll/jekyll/releases/tag/v4.0.0">v4.0.0</a>
77
89
  </li>
78
90
  <li>
79
91
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
@@ -83,18 +95,24 @@
83
95
  </div>
84
96
  <nav class="mobile-nav show-on-mobiles">
85
97
  <ul>
86
- <li class="">
87
- <a href="/">Home</a>
88
- </li>
89
- <li class="">
90
- <a href="/docs/home/">Docs</a>
91
- </li>
92
- <li class="">
93
- <a href="/news/">News</a>
94
- </li>
95
- <li class="">
96
- <a href="/help/">Help</a>
97
- </li>
98
+
99
+ <li>
100
+ <a href="/">Home</a>
101
+ </li>
102
+
103
+ <li>
104
+ <a href="/docs/">Docs</a>
105
+ </li>
106
+
107
+ <li>
108
+ <a href="/resources/">Resources</a>
109
+ </li>
110
+
111
+
112
+ <li>
113
+ <a href="/news/">News</a>
114
+ </li>
115
+
98
116
  <li>
99
117
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
100
118
  </li>
@@ -159,11 +177,11 @@
159
177
 
160
178
  <h2 id="on-github-pages">On GitHub Pages</h2>
161
179
 
162
- <p>Any <code class="language-plaintext highlighter-rouge">404.html</code> at the <strong>root of your <code class="language-plaintext highlighter-rouge">_site</code> directory</strong> will be served automatically by GitHub Pages and the local WEBrick development server.</p>
180
+ <p>Any <code class="highlighter-rouge">404.html</code> at the <strong>root of your <code class="highlighter-rouge">_site</code> directory</strong> will be served automatically by GitHub Pages and the local WEBrick development server.</p>
163
181
 
164
- <p>Simply add a <code class="language-plaintext highlighter-rouge">404.md</code> or <code class="language-plaintext highlighter-rouge">404.html</code> at the root of your site’s source directory and include the YAML Front Matter data to use the theme’s base layout.</p>
182
+ <p>Simply add a <code class="highlighter-rouge">404.md</code> or <code class="highlighter-rouge">404.html</code> at the root of your site’s source directory and include front matter data to use the theme’s base layout.</p>
165
183
 
166
- <p>If you plan to organize your files under subdirectories, the error page should have the following Front Matter Data, set: <code class="language-plaintext highlighter-rouge">permalink: /404.html</code>. This is to ensure that the compiled <code class="language-plaintext highlighter-rouge">404.html</code> resides at the root of your processed site, where it’ll be picked by the server.</p>
184
+ <p>If you plan to organize your files under subdirectories, the error page should have the following Front Matter Data, set: <code class="highlighter-rouge">permalink: /404.html</code>. This is to ensure that the compiled <code class="highlighter-rouge">404.html</code> resides at the root of your processed site, where it’ll be picked by the server.</p>
167
185
 
168
186
  <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
169
187
  <span class="c1"># example 404.md</span>
@@ -179,14 +197,14 @@ Page not found! :(
179
197
 
180
198
  <h2 id="hosting-on-apache-web-servers">Hosting on Apache Web Servers</h2>
181
199
 
182
- <p>Apache Web Servers load a configuration file named <a href="http://www.htaccess-guide.com/"><code class="language-plaintext highlighter-rouge">.htaccess</code></a> that modifies the functionality of these servers.</p>
200
+ <p>Apache Web Servers load a configuration file named <a href="http://www.htaccess-guide.com/"><code class="highlighter-rouge">.htaccess</code></a> that modifies the functionality of these servers.</p>
183
201
 
184
- <p>Simply add the following to your <code class="language-plaintext highlighter-rouge">.htaccess</code> file.</p>
202
+ <p>Simply add the following to your <code class="highlighter-rouge">.htaccess</code> file.</p>
185
203
 
186
204
  <div class="language-apache highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">ErrorDocument</span> 404 /404.html
187
205
  </code></pre></div></div>
188
206
 
189
- <p>With an <code class="language-plaintext highlighter-rouge">.htaccess</code> file, you have the freedom to place your error page within a subdirectory.</p>
207
+ <p>With an <code class="highlighter-rouge">.htaccess</code> file, you have the freedom to place your error page within a subdirectory.</p>
190
208
 
191
209
  <div class="language-apache highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">ErrorDocument</span> 404 /error_pages/404.html
192
210
  </code></pre></div></div>
@@ -199,7 +217,7 @@ Page not found! :(
199
217
 
200
218
  <p>The procedure is just as simple as configuring Apache servers, but slightly different.</p>
201
219
 
202
- <p>Add the following to the nginx configuration file, <code class="language-plaintext highlighter-rouge">nginx.conf</code>, which is usually located inside <code class="language-plaintext highlighter-rouge">/etc/nginx/</code> or <code class="language-plaintext highlighter-rouge">/etc/nginx/conf/</code>:</p>
220
+ <p>The nginx configuration file depends on the system in which it is installed. In most systems, it is the <code class="highlighter-rouge">nginx.conf</code> file, which is usually located inside <code class="highlighter-rouge">/etc/nginx/</code> or <code class="highlighter-rouge">/etc/nginx/conf/</code>. However, in other systems like Ubuntu, you would have to look for a <code class="highlighter-rouge">default</code> nginx configuration file, containing server related information, which is usually located inside <code class="highlighter-rouge">/etc/nginx/sites-available/</code> or <code class="highlighter-rouge">/etc/nginx/sites-enabled/</code>. Add the following to your nginx configuration file, <em>i.e.</em> either to <code class="highlighter-rouge">nginx.conf</code> file or to <code class="highlighter-rouge">default</code> file:</p>
203
221
 
204
222
  <div class="language-nginx highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">server</span> <span class="p">{</span>
205
223
  <span class="kn">error_page</span> <span class="mi">404</span> <span class="n">/404.html</span><span class="p">;</span>
@@ -208,8 +226,14 @@ Page not found! :(
208
226
  <span class="p">}</span>
209
227
  <span class="p">}</span>
210
228
  </code></pre></div></div>
229
+ <p>If the <code class="highlighter-rouge">server</code> block already exists, only add the code inside the <code class="highlighter-rouge">server</code> block given above.
230
+ The <code class="highlighter-rouge">location</code> directive prevents users from directly browsing the 404.html page.</p>
211
231
 
212
- <p>The <code class="language-plaintext highlighter-rouge">location</code> directive prevents users from directly browsing the 404.html page.</p>
232
+ <p>More info on nginx error page can be found on <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page">nginx official documentation</a>.</p>
233
+
234
+ <p class="note warning">
235
+ Proceed with caution while editing the configuration file.
236
+ </p>
213
237
 
214
238
 
215
239
 
@@ -261,19 +285,19 @@ Page not found! :(
261
285
 
262
286
 
263
287
 
264
- <li class=""><a href="/tutorials/home/">Tutorials</a></li>
288
+ <li><a href="/tutorials/home/">Tutorials</a></li>
265
289
 
266
290
 
267
291
 
268
- <li class=""><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
292
+ <li><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
269
293
 
270
294
 
271
295
 
272
- <li class=""><a href="/tutorials/navigation/">Navigation</a></li>
296
+ <li><a href="/tutorials/navigation/">Navigation</a></li>
273
297
 
274
298
 
275
299
 
276
- <li class=""><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
300
+ <li><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
277
301
 
278
302
 
279
303
 
@@ -281,11 +305,11 @@ Page not found! :(
281
305
 
282
306
 
283
307
 
284
- <li class=""><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
308
+ <li><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
285
309
 
286
310
 
287
311
 
288
- <li class=""><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
312
+ <li><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
289
313
 
290
314
  </ul>
291
315
 
@@ -304,7 +328,8 @@ Page not found! :(
304
328
  <footer>
305
329
  <div class="grid">
306
330
  <div class="unit one-third center-on-mobiles">
307
- <p>The contents of this website are <br />&copy;&nbsp;2020 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
331
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
332
+ <p>The contents of this website are <br />&copy;&nbsp;2019 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
308
333
  </div>
309
334
  <div class="unit two-thirds align-right center-on-mobiles">
310
335
  <p>
@@ -314,6 +339,14 @@ Page not found! :(
314
339
  </a>
315
340
  </p>
316
341
  </div>
342
+ <div class="unit two-thirds align-right center-on-mobiles">
343
+ <p>
344
+ Jekyll is funded thanks to its
345
+ <a href="https://github.com/jekyll/jekyll#sponsors">
346
+ sponsors!
347
+ </a>
348
+ </p>
349
+ </div>
317
350
  </div>
318
351
  </footer>
319
352
 
@@ -3,17 +3,18 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <meta name="generator" content="Jekyll v3.9.0">
6
+ <meta name="generator" content="Jekyll v4.0.0">
7
7
  <link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites" />
8
+ <link type="application/atom+xml" rel="alternate" href="/feed/release.xml" title="Jekyll releases posts" />
8
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">
9
- <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
11
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
10
+ <link rel="preload" href="/fonts/lato-v14-latin-300.woff2" as="font" type="font/woff2" crossorigin />
11
+ <link rel="preload" href="/fonts/lato-v14-latin-700.woff2" as="font" type="font/woff2" crossorigin />
12
+ <link rel="preload" href="/css/screen.css" as="style">
12
13
  <link rel="stylesheet" href="/css/screen.css">
13
14
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
14
15
  <!-- Begin Jekyll SEO tag v2.6.1 -->
15
16
  <title>Tutorials | Jekyll • Simple, blog-aware, static sites</title>
16
- <meta name="generator" content="Jekyll v3.9.0" />
17
+ <meta name="generator" content="Jekyll v4.0.0" />
17
18
  <meta property="og:title" content="Tutorials" />
18
19
  <meta property="og:locale" content="en_US" />
19
20
  <meta name="description" content="In contrast to Docs, Tutorials provide more detailed, narrative instruction that cover a variety of Jekyll topics and scenarios. Tutorials might contain the following:" />
@@ -21,14 +22,16 @@
21
22
  <link rel="canonical" href="https://jekyllrb.com/tutorials/home/" />
22
23
  <meta property="og:url" content="https://jekyllrb.com/tutorials/home/" />
23
24
  <meta property="og:site_name" content="Jekyll • Simple, blog-aware, static sites" />
25
+ <meta property="og:image" content="https://jekyllrb.com/img/jekyll-og.png" />
24
26
  <meta property="og:type" content="article" />
25
- <meta property="article:published_time" content="2020-08-05T11:55:36-07:00" />
26
- <meta name="twitter:card" content="summary" />
27
+ <meta property="article:published_time" content="2019-09-11T07:30:27-07:00" />
28
+ <meta name="twitter:card" content="summary_large_image" />
29
+ <meta property="twitter:image" content="https://jekyllrb.com/img/jekyll-og.png" />
27
30
  <meta property="twitter:title" content="Tutorials" />
28
31
  <meta name="twitter:site" content="@jekyllrb" />
29
32
  <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
30
33
  <script type="application/ld+json">
31
- {"url":"https://jekyllrb.com/tutorials/home/","headline":"Tutorials","dateModified":"2020-08-05T11:55:36-07:00","datePublished":"2020-08-05T11:55:36-07:00","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"description":"In contrast to Docs, Tutorials provide more detailed, narrative instruction that cover a variety of Jekyll topics and scenarios. Tutorials might contain the following:","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/home/"},"@type":"BlogPosting","@context":"https://schema.org"}</script>
34
+ {"description":"In contrast to Docs, Tutorials provide more detailed, narrative instruction that cover a variety of Jekyll topics and scenarios. Tutorials might contain the following:","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/home/"},"headline":"Tutorials","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/tutorials/home/","datePublished":"2019-09-11T07:30:27-07:00","image":"https://jekyllrb.com/img/jekyll-og.png","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"@context":"https://schema.org"}</script>
32
35
  <!-- End Jekyll SEO tag -->
33
36
 
34
37
  <!--[if lt IE 9]>
@@ -51,18 +54,27 @@
51
54
  </div>
52
55
  <nav class="main-nav hide-on-mobiles">
53
56
  <ul>
54
- <li class="">
57
+
58
+ <li>
55
59
  <a href="/">Home</a>
56
60
  </li>
57
- <li class="">
58
- <a href="/docs/home/">Docs</a>
61
+
62
+ <li>
63
+ <a href="/docs/">Docs</a>
64
+ </li>
65
+
66
+ <li>
67
+ <a href="/resources/">Resources</a>
59
68
  </li>
60
- <li class="">
61
- <a href="/news/">News</a>
69
+
70
+ <li>
71
+ <a href="/showcase/">Showcase</a>
62
72
  </li>
63
- <li class="">
64
- <a href="/help/">Help</a>
73
+
74
+ <li>
75
+ <a href="/news/">News</a>
65
76
  </li>
77
+
66
78
  </ul>
67
79
 
68
80
  </nav>
@@ -73,7 +85,7 @@
73
85
  <div class="meta hide-on-mobiles">
74
86
  <ul>
75
87
  <li>
76
- <a href="https://github.com/jekyll/jekyll/releases/tag/v3.9.0">v3.9.0</a>
88
+ <a href="https://github.com/jekyll/jekyll/releases/tag/v4.0.0">v4.0.0</a>
77
89
  </li>
78
90
  <li>
79
91
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
@@ -83,18 +95,24 @@
83
95
  </div>
84
96
  <nav class="mobile-nav show-on-mobiles">
85
97
  <ul>
86
- <li class="">
87
- <a href="/">Home</a>
88
- </li>
89
- <li class="">
90
- <a href="/docs/home/">Docs</a>
91
- </li>
92
- <li class="">
93
- <a href="/news/">News</a>
94
- </li>
95
- <li class="">
96
- <a href="/help/">Help</a>
97
- </li>
98
+
99
+ <li>
100
+ <a href="/">Home</a>
101
+ </li>
102
+
103
+ <li>
104
+ <a href="/docs/">Docs</a>
105
+ </li>
106
+
107
+ <li>
108
+ <a href="/resources/">Resources</a>
109
+ </li>
110
+
111
+
112
+ <li>
113
+ <a href="/news/">News</a>
114
+ </li>
115
+
98
116
  <li>
99
117
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
100
118
  </li>
@@ -177,9 +195,9 @@
177
195
 
178
196
  <ol>
179
197
  <li>Fork the Jekyll project by clicking the <strong>Fork</strong> button in the upper-right corner of the <a href="https://github.com/jekyll/jekyll/">jekyll/jekyll project Github repo</a>.</li>
180
- <li>Add your tutorial in the <code class="language-plaintext highlighter-rouge">_tutorials</code> collection.</li>
198
+ <li>Add your tutorial in the <code class="highlighter-rouge">_tutorials</code> collection.</li>
181
199
  <li>Make sure your tutorial has the same front matter items as other tutorial items.</li>
182
- <li>Add a reference to your tutorial filename in <code class="language-plaintext highlighter-rouge">_data/tutorials.yml</code>. This allows your tutorial to appear in the Tutorials sidebar.</li>
200
+ <li>Add a reference to your tutorial filename in <code class="highlighter-rouge">_data/tutorials.yml</code>. This allows your tutorial to appear in the Tutorials sidebar.</li>
183
201
  <li>Follow the regular git workflow to submit the pull request.</li>
184
202
  </ol>
185
203
 
@@ -226,27 +244,27 @@
226
244
 
227
245
 
228
246
 
229
- <li class=""><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
247
+ <li><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
230
248
 
231
249
 
232
250
 
233
- <li class=""><a href="/tutorials/navigation/">Navigation</a></li>
251
+ <li><a href="/tutorials/navigation/">Navigation</a></li>
234
252
 
235
253
 
236
254
 
237
- <li class=""><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
255
+ <li><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
238
256
 
239
257
 
240
258
 
241
- <li class=""><a href="/tutorials/custom-404-page/">Custom 404 Page</a></li>
259
+ <li><a href="/tutorials/custom-404-page/">Custom 404 Page</a></li>
242
260
 
243
261
 
244
262
 
245
- <li class=""><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
263
+ <li><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
246
264
 
247
265
 
248
266
 
249
- <li class=""><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
267
+ <li><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
250
268
 
251
269
  </ul>
252
270
 
@@ -265,7 +283,8 @@
265
283
  <footer>
266
284
  <div class="grid">
267
285
  <div class="unit one-third center-on-mobiles">
268
- <p>The contents of this website are <br />&copy;&nbsp;2020 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
286
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
287
+ <p>The contents of this website are <br />&copy;&nbsp;2019 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
269
288
  </div>
270
289
  <div class="unit two-thirds align-right center-on-mobiles">
271
290
  <p>
@@ -275,6 +294,14 @@
275
294
  </a>
276
295
  </p>
277
296
  </div>
297
+ <div class="unit two-thirds align-right center-on-mobiles">
298
+ <p>
299
+ Jekyll is funded thanks to its
300
+ <a href="https://github.com/jekyll/jekyll#sponsors">
301
+ sponsors!
302
+ </a>
303
+ </p>
304
+ </div>
278
305
  </div>
279
306
  </footer>
280
307
 
@@ -3,17 +3,18 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <meta name="generator" content="Jekyll v3.9.0">
6
+ <meta name="generator" content="Jekyll v4.0.0">
7
7
  <link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites" />
8
+ <link type="application/atom+xml" rel="alternate" href="/feed/release.xml" title="Jekyll releases posts" />
8
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">
9
- <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
11
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
10
+ <link rel="preload" href="/fonts/lato-v14-latin-300.woff2" as="font" type="font/woff2" crossorigin />
11
+ <link rel="preload" href="/fonts/lato-v14-latin-700.woff2" as="font" type="font/woff2" crossorigin />
12
+ <link rel="preload" href="/css/screen.css" as="style">
12
13
  <link rel="stylesheet" href="/css/screen.css">
13
14
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
14
15
  <!-- Begin Jekyll SEO tag v2.6.1 -->
15
16
  <title>Navigation | Jekyll • Simple, blog-aware, static sites</title>
16
- <meta name="generator" content="Jekyll v3.9.0" />
17
+ <meta name="generator" content="Jekyll v4.0.0" />
17
18
  <meta property="og:title" content="Navigation" />
18
19
  <meta property="og:locale" content="en_US" />
19
20
  <meta name="description" content="If your Jekyll site has a lot of pages, you might want to create navigation for the pages. Instead of hard-coding navigation links, you can programmatically retrieve a list of pages to build the navigation for your site." />
@@ -21,14 +22,16 @@
21
22
  <link rel="canonical" href="https://jekyllrb.com/tutorials/navigation/" />
22
23
  <meta property="og:url" content="https://jekyllrb.com/tutorials/navigation/" />
23
24
  <meta property="og:site_name" content="Jekyll • Simple, blog-aware, static sites" />
25
+ <meta property="og:image" content="https://jekyllrb.com/img/jekyll-og.png" />
24
26
  <meta property="og:type" content="article" />
25
- <meta property="article:published_time" content="2020-08-05T11:55:36-07:00" />
26
- <meta name="twitter:card" content="summary" />
27
+ <meta property="article:published_time" content="2019-09-11T07:30:27-07:00" />
28
+ <meta name="twitter:card" content="summary_large_image" />
29
+ <meta property="twitter:image" content="https://jekyllrb.com/img/jekyll-og.png" />
27
30
  <meta property="twitter:title" content="Navigation" />
28
31
  <meta name="twitter:site" content="@jekyllrb" />
29
32
  <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
30
33
  <script type="application/ld+json">
31
- {"url":"https://jekyllrb.com/tutorials/navigation/","headline":"Navigation","dateModified":"2020-08-05T11:55:36-07:00","datePublished":"2020-08-05T11:55:36-07:00","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"description":"If your Jekyll site has a lot of pages, you might want to create navigation for the pages. Instead of hard-coding navigation links, you can programmatically retrieve a list of pages to build the navigation for your site.","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/navigation/"},"@type":"BlogPosting","@context":"https://schema.org"}</script>
34
+ {"description":"If your Jekyll site has a lot of pages, you might want to create navigation for the pages. Instead of hard-coding navigation links, you can programmatically retrieve a list of pages to build the navigation for your site.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/tutorials/navigation/"},"headline":"Navigation","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/tutorials/navigation/","datePublished":"2019-09-11T07:30:27-07:00","image":"https://jekyllrb.com/img/jekyll-og.png","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"}},"@context":"https://schema.org"}</script>
32
35
  <!-- End Jekyll SEO tag -->
33
36
 
34
37
  <!--[if lt IE 9]>
@@ -51,18 +54,27 @@
51
54
  </div>
52
55
  <nav class="main-nav hide-on-mobiles">
53
56
  <ul>
54
- <li class="">
57
+
58
+ <li>
55
59
  <a href="/">Home</a>
56
60
  </li>
57
- <li class="">
58
- <a href="/docs/home/">Docs</a>
61
+
62
+ <li>
63
+ <a href="/docs/">Docs</a>
59
64
  </li>
60
- <li class="">
61
- <a href="/news/">News</a>
65
+
66
+ <li>
67
+ <a href="/resources/">Resources</a>
62
68
  </li>
63
- <li class="">
64
- <a href="/help/">Help</a>
69
+
70
+ <li>
71
+ <a href="/showcase/">Showcase</a>
65
72
  </li>
73
+
74
+ <li>
75
+ <a href="/news/">News</a>
76
+ </li>
77
+
66
78
  </ul>
67
79
 
68
80
  </nav>
@@ -73,7 +85,7 @@
73
85
  <div class="meta hide-on-mobiles">
74
86
  <ul>
75
87
  <li>
76
- <a href="https://github.com/jekyll/jekyll/releases/tag/v3.9.0">v3.9.0</a>
88
+ <a href="https://github.com/jekyll/jekyll/releases/tag/v4.0.0">v4.0.0</a>
77
89
  </li>
78
90
  <li>
79
91
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
@@ -83,18 +95,24 @@
83
95
  </div>
84
96
  <nav class="mobile-nav show-on-mobiles">
85
97
  <ul>
86
- <li class="">
87
- <a href="/">Home</a>
88
- </li>
89
- <li class="">
90
- <a href="/docs/home/">Docs</a>
91
- </li>
92
- <li class="">
93
- <a href="/news/">News</a>
94
- </li>
95
- <li class="">
96
- <a href="/help/">Help</a>
97
- </li>
98
+
99
+ <li>
100
+ <a href="/">Home</a>
101
+ </li>
102
+
103
+ <li>
104
+ <a href="/docs/">Docs</a>
105
+ </li>
106
+
107
+ <li>
108
+ <a href="/resources/">Resources</a>
109
+ </li>
110
+
111
+
112
+ <li>
113
+ <a href="/news/">News</a>
114
+ </li>
115
+
98
116
  <li>
99
117
  <a href="https://github.com/jekyll/jekyll">GitHub</a>
100
118
  </li>
@@ -162,7 +180,7 @@
162
180
  <p>There are two primary ways of retrieving pages on a Jekyll site:</p>
163
181
 
164
182
  <ul>
165
- <li><strong>Retrieve pages listed in a YAML data source</strong>. Store the page data in a YAML (or JSON or CSV) file in the <code class="language-plaintext highlighter-rouge">_data</code> folder, loop through the YAML properties, and insert the values into your theme.</li>
183
+ <li><strong>Retrieve pages listed in a YAML data source</strong>. Store the page data in a YAML (or JSON or CSV) file in the <code class="highlighter-rouge">_data</code> folder, loop through the YAML properties, and insert the values into your theme.</li>
166
184
  <li><strong>Retrieve pages by looping through the page front matter</strong>. Look through the front matter of your pages to identify certain properties, return those pages, and insert the pages’ front matter values into your theme.</li>
167
185
  </ul>
168
186
 
@@ -174,7 +192,7 @@
174
192
  <li>Result</li>
175
193
  </ul>
176
194
 
177
- <p>The YAML file in the <code class="language-plaintext highlighter-rouge">_data</code> directory is called <code class="language-plaintext highlighter-rouge">samplelist.yml</code>.</p>
195
+ <p>The YAML file in the <code class="highlighter-rouge">_data</code> directory is called <code class="highlighter-rouge">samplelist.yml</code>.</p>
178
196
 
179
197
  <p>The scenarios are as follows:</p>
180
198
 
@@ -187,6 +205,7 @@
187
205
  <li><a href="#scenario-6-applying-the-active-class-for-the-current-page" id="markdown-toc-scenario-6-applying-the-active-class-for-the-current-page">Scenario 6: Applying the active class for the current page</a></li>
188
206
  <li><a href="#scenario-7-including-items-conditionally" id="markdown-toc-scenario-7-including-items-conditionally">Scenario 7: Including items conditionally</a></li>
189
207
  <li><a href="#scenario-8-retrieving-items-based-on-front-matter-properties" id="markdown-toc-scenario-8-retrieving-items-based-on-front-matter-properties">Scenario 8: Retrieving items based on front matter properties</a></li>
208
+ <li><a href="#scenario-9-nested-tree-navigation-with-recursion" id="markdown-toc-scenario-9-nested-tree-navigation-with-recursion">Scenario 9: Nested tree navigation with recursion</a></li>
190
209
  </ul>
191
210
 
192
211
  <h2 id="scenario-1-basic-list">Scenario 1: Basic List</h2>
@@ -212,25 +231,25 @@
212
231
 
213
232
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;h2&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">data</span><span class="p">.</span><span class="nv">samplelist</span><span class="p">.</span><span class="nv">docs_list_title</span><span class="w"> </span><span class="p">}}</span>&lt;/h2&gt;
214
233
  &lt;ul&gt;
215
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span><span class="p">%}</span>
216
- &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>" alt="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
234
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span><span class="p">%}</span>
235
+ &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
217
236
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
218
237
  &lt;/ul&gt;
219
238
  </code></pre></div></div>
220
239
 
221
240
  <p><strong>Result</strong></p>
222
- <div class="highlight result">
241
+ <div class="highlight result" data-proofer-ignore="">
223
242
  <h2>ACME Documentation</h2>
224
243
  <ul>
225
- <li><a href="#" alt="Introduction">Introduction</a></li>
226
- <li><a href="#" alt="Configuration">Configuration</a></li>
227
- <li><a href="#" alt="Deployment">Deployment</a></li>
244
+ <li><a href="#">Introduction</a></li>
245
+ <li><a href="#">Configuration</a></li>
246
+ <li><a href="#">Deployment</a></li>
228
247
  </ul>
229
248
  </div>
230
249
 
231
- <p class="note info">For the results in these fictitious samples, <code class="language-plaintext highlighter-rouge">#</code> is manually substituted for the actual link value to avoid 404 errors.)</p>
250
+ <p class="note info">For the results in these fictitious samples, <code class="highlighter-rouge">#</code> is manually substituted for the actual link value to avoid 404 errors.)</p>
232
251
 
233
- <p>When you use a <code class="language-plaintext highlighter-rouge">for</code> loop, you choose how you want to refer to the items you’re looping through. The variable you choose (in this case, <code class="language-plaintext highlighter-rouge">item</code>) becomes how you access the properties of each item in the list. Dot notation is used to get a property of the item (for example, <code class="language-plaintext highlighter-rouge">item.url</code>).</p>
252
+ <p>When you use a <code class="highlighter-rouge">for</code> loop, you choose how you want to refer to the items you’re looping through. The variable you choose (in this case, <code class="highlighter-rouge">item</code>) becomes how you access the properties of each item in the list. Dot notation is used to get a property of the item (for example, <code class="highlighter-rouge">item.url</code>).</p>
234
253
 
235
254
  <p>The YAML content has two main types of formats that are relevant here:</p>
236
255
 
@@ -239,46 +258,46 @@
239
258
  <li>list</li>
240
259
  </ul>
241
260
 
242
- <p><code class="language-plaintext highlighter-rouge">docs_list_title: ACME Documentation</code> is a mapping. You access the value with <code class="language-plaintext highlighter-rouge">site.data.samplelist.docs_list_title</code>.</p>
261
+ <p><code class="highlighter-rouge">docs_list_title: ACME Documentation</code> is a mapping. You access the value with <code class="highlighter-rouge">site.data.samplelist.docs_list_title</code>.</p>
243
262
 
244
- <p><code class="language-plaintext highlighter-rouge">docs:</code> is a list. The list begins each item with a hyphen. Unlike with mappings, you usually don’t access list properties directly as you do with mappings. If you want to access a specific item in the list, you must identify the position in the list you want, following typical array notation. For example, <code class="language-plaintext highlighter-rouge">site.data.samplelist.docs[0]</code> would access the first item in the list. However, this is rarely done.</p>
263
+ <p><code class="highlighter-rouge">docs:</code> is a list. The list begins each item with a hyphen. Unlike with mappings, you usually don’t access list properties directly as you do with mappings. If you want to access a specific item in the list, you must identify the position in the list you want, following typical array notation. For example, <code class="highlighter-rouge">site.data.samplelist.docs[0]</code> would access the first item in the list. However, this is rarely done.</p>
245
264
 
246
- <p>With lists, you usually use <code class="language-plaintext highlighter-rouge">for</code> loops to cycle through the list of items and do something with each item. With navigation menus, you usually insert each list item into <code class="language-plaintext highlighter-rouge">li</code> tags based on the navigation structure you’re using in your HTML theme.</p>
265
+ <p>With lists, you usually use <code class="highlighter-rouge">for</code> loops to cycle through the list of items and do something with each item. With navigation menus, you usually insert each list item into <code class="highlighter-rouge">li</code> tags based on the navigation structure you’re using in your HTML theme.</p>
247
266
 
248
- <p>Each hyphen (<code class="language-plaintext highlighter-rouge">-</code>) indicates another item in the list. This example just has two properties with each list item: <code class="language-plaintext highlighter-rouge">title</code> and <code class="language-plaintext highlighter-rouge">url</code>. You can include as many properties as you want for each item. The order of properties at each position in the list doesn’t matter.</p>
267
+ <p>Each hyphen (<code class="highlighter-rouge">-</code>) indicates another item in the list. This example just has two properties with each list item: <code class="highlighter-rouge">title</code> and <code class="highlighter-rouge">url</code>. You can include as many properties as you want for each item. The order of properties at each position in the list doesn’t matter.</p>
249
268
 
250
269
  <h2 id="scenario-2-sorted-list">Scenario 2: Sorted list</h2>
251
270
 
252
- <p>Suppose you wanted to sort the list by the <code class="language-plaintext highlighter-rouge">title</code>. To do this, convert the reference to the <code class="language-plaintext highlighter-rouge">docs</code> collection to a variable, and then apply Liquid’s <code class="language-plaintext highlighter-rouge">sort</code> filter to the variable:</p>
271
+ <p>Suppose you wanted to sort the list by the <code class="highlighter-rouge">title</code>. To do this, convert the reference to the <code class="highlighter-rouge">docs</code> collection to a variable, and then apply Liquid’s <code class="highlighter-rouge">sort</code> filter to the variable:</p>
253
272
 
254
273
  <p><strong>Liquid</strong></p>
255
274
 
256
275
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">doclist</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">data</span><span class="p">.</span><span class="nv">samplelist</span><span class="p">.</span><span class="nv">docs</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">sort</span><span class="p">:</span><span class="w"> </span><span class="s1">'title'</span><span class="w"> </span><span class="p">%}</span>
257
276
  &lt;ol&gt;
258
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">doclist</span><span class="w"> </span><span class="p">%}</span>
259
- &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>" alt="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
277
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">doclist</span><span class="w"> </span><span class="p">%}</span>
278
+ &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
260
279
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
261
280
  &lt;/ol&gt;
262
281
  </code></pre></div></div>
263
282
 
264
283
  <p><strong>Result</strong></p>
265
284
 
266
- <div class="highlight result">
285
+ <div class="highlight result" data-proofer-ignore="">
267
286
  <ol>
268
- <li><a href="#" alt="Configuration">Configuration</a></li>
269
- <li><a href="#" alt="Deployment">Deployment</a></li>
270
- <li><a href="#" alt="Introduction">Introduction</a></li>
287
+ <li><a href="#">Configuration</a></li>
288
+ <li><a href="#">Deployment</a></li>
289
+ <li><a href="#">Introduction</a></li>
271
290
  </ol>
272
291
  </div>
273
292
 
274
- <p>The items now appear in alphabetical order. The <code class="language-plaintext highlighter-rouge">sort</code> property in the Liquid filter applies to the <code class="language-plaintext highlighter-rouge">title</code>, which is an actual property in the list. If <code class="language-plaintext highlighter-rouge">title</code> weren’t a property, we would need to sort by another property.</p>
293
+ <p>The items now appear in alphabetical order. The <code class="highlighter-rouge">sort</code> property in the Liquid filter applies to the <code class="highlighter-rouge">title</code>, which is an actual property in the list. If <code class="highlighter-rouge">title</code> weren’t a property, we would need to sort by another property.</p>
275
294
 
276
295
  <p>See the <a href="https://help.shopify.com/themes/liquid/filters/array-filters">Liquid array filter</a> for more filter options. Note that you can’t simply use this syntax:</p>
277
296
 
278
- <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span>|<span class="w"> </span><span class="na">sort</span><span class="o">:</span><span class="w"> </span><span class="s2">"title"</span><span class="w"> </span><span class="p">%}{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
297
+ <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span>|<span class="w"> </span><span class="na">sort</span><span class="o">:</span><span class="w"> </span><span class="s2">"title"</span><span class="w"> </span><span class="p">%}{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
279
298
  </code></pre></div></div>
280
299
 
281
- <p>You have to convert <code class="language-plaintext highlighter-rouge">site.data.samplelist.docs</code> to a variable first using either <code class="language-plaintext highlighter-rouge">assign</code> or <code class="language-plaintext highlighter-rouge">capture</code> tags.</p>
300
+ <p>You have to convert <code class="highlighter-rouge">site.data.samplelist.docs</code> to a variable first using either <code class="highlighter-rouge">assign</code> or <code class="highlighter-rouge">capture</code> tags.</p>
282
301
 
283
302
  <h2 id="scenario-3-two-level-navigation-list">Scenario 3: Two-level navigation list</h2>
284
303
 
@@ -315,10 +334,10 @@
315
334
 
316
335
  <p><strong>Liquid</strong></p>
317
336
 
318
- <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.toc</span><span class="w"> </span><span class="p">%}</span>
337
+ <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.toc</span><span class="w"> </span><span class="p">%}</span>
319
338
  &lt;h3&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/h3&gt;
320
339
  &lt;ul&gt;
321
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">entry</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">item.subfolderitems</span><span class="w"> </span><span class="p">%}</span>
340
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">entry</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">item.subfolderitems</span><span class="w"> </span><span class="p">%}</span>
322
341
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">entry</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">entry</span><span class="p">.</span><span class="nv">page</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
323
342
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
324
343
  &lt;/ul&gt;
@@ -326,7 +345,7 @@
326
345
  </code></pre></div></div>
327
346
 
328
347
  <p><strong>Result</strong></p>
329
- <div class="highlight result">
348
+ <div class="highlight result" data-proofer-ignore="">
330
349
  <h3>Group 1</h3>
331
350
  <ul>
332
351
  <li><a href="#">Thing 1</a></li>
@@ -349,13 +368,13 @@
349
368
  </ul>
350
369
  </div>
351
370
 
352
- <p>In this example, <code class="language-plaintext highlighter-rouge">Group 1</code> is the first list item. Within that list item, its subpages are included as a property that itself contains a list (<code class="language-plaintext highlighter-rouge">subfolderitems</code>).</p>
371
+ <p>In this example, <code class="highlighter-rouge">Group 1</code> is the first list item. Within that list item, its subpages are included as a property that itself contains a list (<code class="highlighter-rouge">subfolderitems</code>).</p>
353
372
 
354
- <p>The Liquid code looks through the first level with <code class="language-plaintext highlighter-rouge">for item in site.data.samplelist.toc</code>, and then looks through the second-level property with <code class="language-plaintext highlighter-rouge">for entry in item.subfolderitems</code>. Just as <code class="language-plaintext highlighter-rouge">item</code> is an arbitrary name for the items we’re looping through, so is <code class="language-plaintext highlighter-rouge">entry</code>.</p>
373
+ <p>The Liquid code looks through the first level with <code class="highlighter-rouge">for item in site.data.samplelist.toc</code>, and then looks through the second-level property with <code class="highlighter-rouge">for entry in item.subfolderitems</code>. Just as <code class="highlighter-rouge">item</code> is an arbitrary name for the items we’re looping through, so is <code class="highlighter-rouge">entry</code>.</p>
355
374
 
356
375
  <h2 id="scenario-4-three-level-navigation-list">Scenario 4: Three-level navigation list</h2>
357
376
 
358
- <p>Building on the previous section, let’s add one more level of depth (<code class="language-plaintext highlighter-rouge">subsubfolderitems</code>) to the list. The formatting will get more complex here, but the principles are the same.</p>
377
+ <p>Building on the previous section, let’s add one more level of depth (<code class="highlighter-rouge">subsubfolderitems</code>) to the list. The formatting will get more complex here, but the principles are the same.</p>
359
378
 
360
379
  <p><strong>YAML</strong></p>
361
380
 
@@ -405,15 +424,15 @@
405
424
 
406
425
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;div&gt;
407
426
  <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">data</span><span class="p">.</span><span class="nv">samplelist</span><span class="p">.</span><span class="nv">toc2</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">%}</span>
408
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.toc2</span><span class="w"> </span><span class="p">%}</span>
427
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.toc2</span><span class="w"> </span><span class="p">%}</span>
409
428
  &lt;h3&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/h3&gt;
410
429
  <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">subfolderitems</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">%}</span>
411
430
  &lt;ul&gt;
412
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">entry</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">item.subfolderitems</span><span class="w"> </span><span class="p">%}</span>
431
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">entry</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">item.subfolderitems</span><span class="w"> </span><span class="p">%}</span>
413
432
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">entry</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">entry</span><span class="p">.</span><span class="nv">page</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;
414
433
  <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">entry</span><span class="p">.</span><span class="nv">subsubfolderitems</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="p">%}</span>
415
434
  &lt;ul&gt;
416
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">subentry</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">entry.subsubfolderitems</span><span class="w"> </span><span class="p">%}</span>
435
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">subentry</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">entry.subsubfolderitems</span><span class="w"> </span><span class="p">%}</span>
417
436
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">subentry</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">subentry</span><span class="p">.</span><span class="nv">page</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
418
437
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
419
438
  &lt;/ul&gt;
@@ -429,7 +448,7 @@
429
448
 
430
449
  <p><strong>Result</strong></p>
431
450
 
432
- <div class="highlight result">
451
+ <div class="highlight result" data-proofer-ignore="">
433
452
  <div>
434
453
  <h3>Group 1</h3>
435
454
  <ul>
@@ -464,7 +483,7 @@
464
483
  </div>
465
484
  </div>
466
485
 
467
- <p>In this example, <code class="language-plaintext highlighter-rouge">if site.data.samplelist.toc2[0]</code> is used to ensure that the YAML level actually contains items. If there isn’t anything at the <code class="language-plaintext highlighter-rouge">[0]</code> position, we can skip looking in this level.</p>
486
+ <p>In this example, <code class="highlighter-rouge">if site.data.samplelist.toc2[0]</code> is used to ensure that the YAML level actually contains items. If there isn’t anything at the <code class="highlighter-rouge">[0]</code> position, we can skip looking in this level.</p>
468
487
 
469
488
  <div class="note">
470
489
  <h5>ProTip: Line up <code>for</code> loops and <code>if</code> statements</h5>
@@ -488,7 +507,7 @@
488
507
  <p><strong>Liquid</strong></p>
489
508
 
490
509
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;ul&gt;
491
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist[page.sidebar]</span><span class="w"> </span><span class="p">%}</span>
510
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist[page.sidebar]</span><span class="w"> </span><span class="p">%}</span>
492
511
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
493
512
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
494
513
  &lt;/ul&gt;
@@ -496,7 +515,7 @@
496
515
 
497
516
  <p><strong>Result</strong></p>
498
517
 
499
- <div class="highlight result">
518
+ <div class="highlight result" data-proofer-ignore="">
500
519
  <ul>
501
520
  <li><a href="#">Introduction</a></li>
502
521
  <li><a href="#">Configuration</a></li>
@@ -504,13 +523,13 @@
504
523
  </ul>
505
524
  </div>
506
525
 
507
- <p>In this scenario, we want to pass values from the page’s front matter into a <code class="language-plaintext highlighter-rouge">for</code> loop that contains a variable. When the assigned variable isn’t a string but rather a data reference, you must use brackets (instead of curly braces) to refer to the front matter’s value.</p>
526
+ <p>In this scenario, we want to pass values from the page’s front matter into a <code class="highlighter-rouge">for</code> loop that contains a variable. When the assigned variable isn’t a string but rather a data reference, you must use brackets (instead of curly braces) to refer to the front matter’s value.</p>
508
527
 
509
528
  <p>For more information, see <a href="https://github.com/Shopify/liquid/wiki/Liquid-for-Designers#expressions-and-variables">Expressions and Variables</a> in Liquid’s documentation. Brackets are used in places where dot notation can’t be used. You can also read more details in this <a href="http://stackoverflow.com/questions/4968406/javascript-property-access-dot-notation-vs-brackets/4968448#4968448">Stack Overflow answer</a>.</p>
510
529
 
511
530
  <h2 id="scenario-6-applying-the-active-class-for-the-current-page">Scenario 6: Applying the active class for the current page</h2>
512
531
 
513
- <p>In addition to inserting items from the YAML data file into your list, you also usually want to highlight the current link if the user is viewing that page. You do this by inserting an <code class="language-plaintext highlighter-rouge">active</code> class for items that match the current page URL.</p>
532
+ <p>In addition to inserting items from the YAML data file into your list, you also usually want to highlight the current link if the user is viewing that page. You do this by inserting an <code class="highlighter-rouge">active</code> class for items that match the current page URL.</p>
514
533
 
515
534
  <p><strong>CSS</strong></p>
516
535
  <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">.result</span> <span class="nt">li</span><span class="nc">.active</span> <span class="nt">a</span> <span class="p">{</span>
@@ -520,7 +539,7 @@
520
539
  </code></pre></div></div>
521
540
  <p><strong>Liquid</strong></p>
522
541
 
523
- <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span><span class="p">%}</span>
542
+ <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs</span><span class="w"> </span><span class="p">%}</span>
524
543
  &lt;li class="<span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">%}</span>active<span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>"&gt;
525
544
  &lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;
526
545
  &lt;/li&gt;
@@ -536,7 +555,7 @@
536
555
  }
537
556
  </style>
538
557
 
539
- <div class="highlight result">
558
+ <div class="highlight result" data-proofer-ignore="">
540
559
  <ul>
541
560
  <li class=""><a href="#">Introduction</a></li>
542
561
  <li class=""><a href="#">Configuration</a></li>
@@ -544,9 +563,9 @@
544
563
  </ul>
545
564
  </div>
546
565
 
547
- <p>In this case, assume <code class="language-plaintext highlighter-rouge">Deployment</code> is the current page.</p>
566
+ <p>In this case, assume <code class="highlighter-rouge">Deployment</code> is the current page.</p>
548
567
 
549
- <p>To make sure the <code class="language-plaintext highlighter-rouge">item.url</code> (stored in the YAML file) matches the <code class="language-plaintext highlighter-rouge">page.url</code>, it can be helpful to print the <code class="language-plaintext highlighter-rouge">{{ page.url }}</code> to the page.</p>
568
+ <p>To make sure the <code class="highlighter-rouge">item.url</code> (stored in the YAML file) matches the <code class="highlighter-rouge">page.url</code>, it can be helpful to print the <code class="highlighter-rouge">{{ page.url }}</code> to the page.</p>
550
569
 
551
570
  <h2 id="scenario-7-including-items-conditionally">Scenario 7: Including items conditionally</h2>
552
571
 
@@ -572,7 +591,7 @@
572
591
  <p><strong>Liquid</strong></p>
573
592
 
574
593
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code> &lt;ul&gt;
575
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs2</span><span class="w"> </span><span class="p">%}</span>
594
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.data.samplelist.docs2</span><span class="w"> </span><span class="p">%}</span>
576
595
  <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">version</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">%}</span>
577
596
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
578
597
  <span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>
@@ -582,29 +601,29 @@
582
601
 
583
602
  <p><strong>Result</strong></p>
584
603
 
585
- <div class="highlight result">
604
+ <div class="highlight result" data-proofer-ignore="">
586
605
  <ul>
587
606
  <li><a href="#">Introduction</a></li>
588
607
  <li><a href="#">Configuration</a></li>
589
608
  </ul>
590
609
  </div>
591
610
 
592
- <p>The <code class="language-plaintext highlighter-rouge">Deployment</code> page is excluded because its <code class="language-plaintext highlighter-rouge">version</code> is <code class="language-plaintext highlighter-rouge">2</code>.</p>
611
+ <p>The <code class="highlighter-rouge">Deployment</code> page is excluded because its <code class="highlighter-rouge">version</code> is <code class="highlighter-rouge">2</code>.</p>
593
612
 
594
613
  <h2 id="scenario-8-retrieving-items-based-on-front-matter-properties">Scenario 8: Retrieving items based on front matter properties</h2>
595
614
 
596
- <p>If you don’t want to store your navigation items in a YAML file in your <code class="language-plaintext highlighter-rouge">_data</code> folder, you can use <code class="language-plaintext highlighter-rouge">for</code> loops to look through the YAML front matter of each page or collection and get the content based on properties in the front matter.</p>
615
+ <p>If you don’t want to store your navigation items in a YAML file in your <code class="highlighter-rouge">_data</code> folder, you can use <code class="highlighter-rouge">for</code> loops to look through the front matter of each page or collection and get the content based on properties in the front matter.</p>
597
616
 
598
- <p>In this scenario, suppose we have a collection called <code class="language-plaintext highlighter-rouge">_docs</code>. Collections are often better than pages because they allow you to narrow the list of what you’re looping through. (Try to avoid scenarios where you loop through large numbers of items, since it will increase your build time. <a href="/docs/collections/">Collections</a> help you narrow the scope.)</p>
617
+ <p>In this scenario, suppose we have a collection called <code class="highlighter-rouge">_docs</code>. Collections are often better than pages because they allow you to narrow the list of what you’re looping through. (Try to avoid scenarios where you loop through large numbers of items, since it will increase your build time. <a href="/docs/collections/">Collections</a> help you narrow the scope.)</p>
599
618
 
600
- <p>In our scenario, there are 6 docs in the <code class="language-plaintext highlighter-rouge">docs</code> collection: Sample 1, Sample 2, Topic 1, Topic 2, Widget 1, and Widget 2.</p>
619
+ <p>In our scenario, there are 6 docs in the <code class="highlighter-rouge">docs</code> collection: Sample 1, Sample 2, Topic 1, Topic 2, Widget 1, and Widget 2.</p>
601
620
 
602
621
  <p>Each doc in the collection contains at least 3 properties in the front matter:</p>
603
622
 
604
623
  <ul>
605
- <li><code class="language-plaintext highlighter-rouge">title</code></li>
606
- <li><code class="language-plaintext highlighter-rouge">category</code></li>
607
- <li><code class="language-plaintext highlighter-rouge">order</code></li>
624
+ <li><code class="highlighter-rouge">title</code></li>
625
+ <li><code class="highlighter-rouge">category</code></li>
626
+ <li><code class="highlighter-rouge">order</code></li>
608
627
  </ul>
609
628
 
610
629
  <p>The front matter for each page is as follows (consolidated here for brevity):</p>
@@ -646,13 +665,13 @@
646
665
  <span class="nn">---</span>
647
666
  </code></pre></div></div>
648
667
 
649
- <p>Note that even though <code class="language-plaintext highlighter-rouge">category</code> is used in the doc front matter, <code class="language-plaintext highlighter-rouge">category</code> is not a built-in variable like it is with posts. In other words, you cannot look directly inside <code class="language-plaintext highlighter-rouge">category</code> with <code class="language-plaintext highlighter-rouge">site.docs.category</code>.</p>
668
+ <p>Note that even though <code class="highlighter-rouge">category</code> is used in the doc front matter, <code class="highlighter-rouge">category</code> is not a built-in variable like it is with posts. In other words, you cannot look directly inside <code class="highlighter-rouge">category</code> with <code class="highlighter-rouge">site.docs.category</code>.</p>
650
669
 
651
- <p>If you wanted to simply get all docs in the collection for a specific category, you could use a <code class="language-plaintext highlighter-rouge">for</code> loop with an <code class="language-plaintext highlighter-rouge">if</code> condition to check for a specific category:</p>
670
+ <p>If you wanted to simply get all docs in the collection for a specific category, you could use a <code class="highlighter-rouge">for</code> loop with an <code class="highlighter-rouge">if</code> condition to check for a specific category:</p>
652
671
 
653
672
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;h3&gt;Getting Started&lt;/h3&gt;
654
673
  &lt;ul&gt;
655
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">doc</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.docs</span><span class="w"> </span><span class="p">%}</span>
674
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">doc</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">site.docs</span><span class="w"> </span><span class="p">%}</span>
656
675
  <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">doc</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">"getting-started"</span><span class="w"> </span><span class="p">%}</span>
657
676
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">doc</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">doc</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
658
677
  <span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>
@@ -662,7 +681,7 @@
662
681
 
663
682
  <p>The result would be as follows:</p>
664
683
 
665
- <div class="highlight result">
684
+ <div class="highlight result" data-proofer-ignore="">
666
685
  <h3>Getting Started</h3>
667
686
  <ul>
668
687
  <li><a href="#">Sample1</a></li>
@@ -675,8 +694,8 @@
675
694
  <p>But let’s say you want to sort the items by category and group them under the category name, without hard-coding the category names. To achieve this, you could use two filters:</p>
676
695
 
677
696
  <ul>
678
- <li><code class="language-plaintext highlighter-rouge">group_by</code></li>
679
- <li><code class="language-plaintext highlighter-rouge">sort</code></li>
697
+ <li><code class="highlighter-rouge">group_by</code></li>
698
+ <li><code class="highlighter-rouge">sort</code></li>
680
699
  </ul>
681
700
 
682
701
  <p>Here’s the code for getting lists of pages grouped under their corresponding category headers:</p>
@@ -684,11 +703,11 @@
684
703
  <p><strong>Liquid</strong></p>
685
704
 
686
705
  <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">mydocs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">docs</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">group_by</span><span class="p">:</span><span class="w"> </span><span class="s1">'category'</span><span class="w"> </span><span class="p">%}</span>
687
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">cat</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">mydocs</span><span class="w"> </span><span class="p">%}</span>
706
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">cat</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">mydocs</span><span class="w"> </span><span class="p">%}</span>
688
707
  &lt;h2&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">cat</span><span class="p">.</span><span class="nv">name</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">capitalize</span><span class="w"> </span><span class="p">}}</span>&lt;/h2&gt;
689
708
  &lt;ul&gt;
690
709
  <span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">items</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">cat</span><span class="p">.</span><span class="nv">items</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">sort</span><span class="p">:</span><span class="w"> </span><span class="s1">'order'</span><span class="w"> </span><span class="p">%}</span>
691
- <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">items</span><span class="w"> </span><span class="p">%}</span>
710
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">items</span><span class="w"> </span><span class="p">%}</span>
692
711
  &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
693
712
  <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
694
713
  &lt;/ul&gt;
@@ -697,7 +716,7 @@
697
716
 
698
717
  <p><strong>Result</strong></p>
699
718
 
700
- <div class="highlight result">
719
+ <div class="highlight result" data-proofer-ignore="">
701
720
  <h2>Getting-started</h2>
702
721
  <ul>
703
722
  <li><a href="#">Sample2</a></li>
@@ -715,27 +734,82 @@
715
734
  </ul>
716
735
  </div>
717
736
 
718
- <p>Let’s walk through the code. First, we assign a variable (<code class="language-plaintext highlighter-rouge">mydocs</code>) to the collection content (<code class="language-plaintext highlighter-rouge">site.docs</code>).</p>
737
+ <p>Let’s walk through the code. First, we assign a variable (<code class="highlighter-rouge">mydocs</code>) to the collection content (<code class="highlighter-rouge">site.docs</code>).</p>
719
738
 
720
- <p>The <code class="language-plaintext highlighter-rouge">group_by</code> filter groups the collection content by <code class="language-plaintext highlighter-rouge">category</code>. More specifically, the <code class="language-plaintext highlighter-rouge">group_by</code> filter converts <code class="language-plaintext highlighter-rouge">mydocs</code> into an array with <code class="language-plaintext highlighter-rouge">name</code>, <code class="language-plaintext highlighter-rouge">items</code>, and <code class="language-plaintext highlighter-rouge">size</code> properties, somewhat like this:</p>
739
+ <p>The <code class="highlighter-rouge">group_by</code> filter groups the collection content by <code class="highlighter-rouge">category</code>. More specifically, the <code class="highlighter-rouge">group_by</code> filter converts <code class="highlighter-rouge">mydocs</code> into an array with <code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">items</code>, and <code class="highlighter-rouge">size</code> properties, somewhat like this:</p>
721
740
 
722
741
  <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="pi">[</span>
723
742
  <span class="pi">{</span><span class="s2">"</span><span class="s">name"</span><span class="pi">:</span> <span class="s2">"</span><span class="s">getting-started"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">items"</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">Sample 1</span><span class="pi">,</span> <span class="nv">Sample 2</span><span class="pi">],</span><span class="s2">"</span><span class="s">size"</span><span class="pi">:</span> <span class="nv">2</span><span class="pi">},</span>
724
- <span class="pi">{</span><span class="s2">"</span><span class="s">name"</span><span class="pi">:</span> <span class="s2">"</span><span class="s">configuration"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">items"</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">Topic 1</span><span class="pi">,</span> <span class="nv">Topic 2</span><span class="pi">],</span> <span class="s2">"</span><span class="s">size"</span><span class="pi">:</span> <span class="nv">2</span><span class="pi">},</span>
743
+ <span class="pi">{</span><span class="s2">"</span><span class="s">name"</span><span class="pi">:</span> <span class="s2">"</span><span class="s">configuration"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">items"</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">Topic 1</span><span class="pi">,</span> <span class="nv">Topic 2</span><span class="pi">],</span> <span class="s2">"</span><span class="s">size"</span><span class="pi">:</span> <span class="nv">2</span><span class="pi">},</span>
725
744
  <span class="pi">{</span><span class="s2">"</span><span class="s">name"</span><span class="pi">:</span> <span class="s2">"</span><span class="s">deployment"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">items"</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">Widget 1</span><span class="pi">,</span> <span class="nv">Widget 2</span><span class="pi">,</span> <span class="s2">"</span><span class="s">size"</span><span class="pi">:</span> <span class="nv">2</span><span class="err">}</span>
726
745
  <span class="pi">]</span>
727
746
  </code></pre></div></div>
728
747
 
729
- <p>Using <code class="language-plaintext highlighter-rouge">for cat in mydocs</code>, we look through each item in the <code class="language-plaintext highlighter-rouge">mydocs</code> array and print the category <code class="language-plaintext highlighter-rouge">name</code>.</p>
748
+ <p>Using <code class="highlighter-rouge">for cat in mydocs</code>, we look through each item in the <code class="highlighter-rouge">mydocs</code> array and print the category <code class="highlighter-rouge">name</code>.</p>
730
749
 
731
- <p>After getting the category name, we assign the variable <code class="language-plaintext highlighter-rouge">items</code> for the docs and use the <code class="language-plaintext highlighter-rouge">sort</code> filter to arrange the docs by their <code class="language-plaintext highlighter-rouge">order</code> property. The dot notation <code class="language-plaintext highlighter-rouge">cat.items</code> is used because we’re accessing the content in the <code class="language-plaintext highlighter-rouge">items</code> array. The <code class="language-plaintext highlighter-rouge">sort</code> filter orders the items by their numbers in ascending order.</p>
750
+ <p>After getting the category name, we assign the variable <code class="highlighter-rouge">items</code> for the docs and use the <code class="highlighter-rouge">sort</code> filter to arrange the docs by their <code class="highlighter-rouge">order</code> property. The dot notation <code class="highlighter-rouge">cat.items</code> is used because we’re accessing the content in the <code class="highlighter-rouge">items</code> array. The <code class="highlighter-rouge">sort</code> filter orders the items by their numbers in ascending order.</p>
732
751
 
733
- <p>The <code class="language-plaintext highlighter-rouge">for item in items</code> loop looks through each <code class="language-plaintext highlighter-rouge">item</code> and gets the <code class="language-plaintext highlighter-rouge">title</code> and <code class="language-plaintext highlighter-rouge">url</code> to form the list item link.</p>
752
+ <p>The <code class="highlighter-rouge">for item in items</code> loop looks through each <code class="highlighter-rouge">item</code> and gets the <code class="highlighter-rouge">title</code> and <code class="highlighter-rouge">url</code> to form the list item link.</p>
734
753
 
735
- <p>For more details on the <code class="language-plaintext highlighter-rouge">group_by</code> filter, see <a href="https://jekyllrb.com/docs/templates/">Jekyll’s Templates documentation</a> as well as <a href="https://www.siteleaf.com/blog/advanced-liquid-group-by/">this Siteleaf tutorial</a>. For more details on the <code class="language-plaintext highlighter-rouge">sort</code> filter, see <a href="https://shopify.github.io/liquid/filters/sort/">sort</a> in Liquid’s documentation.</p>
754
+ <p>For more details on the <code class="highlighter-rouge">group_by</code> filter, see <a href="https://jekyllrb.com/docs/templates/">Jekyll’s Templates documentation</a> as well as <a href="https://www.siteleaf.com/blog/advanced-liquid-group-by/">this Siteleaf tutorial</a>. For more details on the <code class="highlighter-rouge">sort</code> filter, see <a href="https://shopify.github.io/liquid/filters/sort/">sort</a> in Liquid’s documentation.</p>
736
755
 
737
756
  <p>Whether you use properties in your doc’s front matter to retrieve your pages or a YAML data file, in both cases you can programmatically build a more robust navigation for your site.</p>
738
757
 
758
+ <h2 id="scenario-9-nested-tree-navigation-with-recursion">Scenario 9: Nested tree navigation with recursion</h2>
759
+
760
+ <p>Suppose you want a nested tree navigation of any depth. We can achieve this by recursively looping through our tree of navigation links.</p>
761
+
762
+ <p><strong>YAML</strong></p>
763
+
764
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">nav</span><span class="pi">:</span>
765
+ <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Deployment</span>
766
+ <span class="na">url</span><span class="pi">:</span> <span class="s">deployment.html</span>
767
+ <span class="na">subnav</span><span class="pi">:</span>
768
+ <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Heroku</span>
769
+ <span class="na">url</span><span class="pi">:</span> <span class="s">heroku.html</span>
770
+ <span class="na">subnav</span><span class="pi">:</span>
771
+ <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Jekyll on Heroku</span>
772
+ <span class="na">url</span><span class="pi">:</span> <span class="s">jekyll-on-heroku.html</span>
773
+ <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Help</span>
774
+ <span class="na">url</span><span class="pi">:</span> <span class="s">help.html</span>
775
+ </code></pre></div></div>
776
+
777
+ <p><strong>Liquid</strong></p>
778
+
779
+ <p>First, we’ll create an include that we can use for rendering the navigation tree. This file would be <code class="highlighter-rouge">_includes/nav.html</code></p>
780
+
781
+ <div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;ul&gt;
782
+ <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nv">include.nav</span><span class="w"> </span><span class="p">%}</span>
783
+ &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt;
784
+
785
+ <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">subnav</span><span class="w"> </span><span class="p">%}</span>
786
+ <span class="p">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span><span class="na">nav</span><span class="p">.</span><span class="na">html</span><span class="w"> </span><span class="na">nav</span><span class="o">=</span><span class="nv">item</span><span class="p">.</span><span class="nv">subnav</span><span class="w"> </span><span class="p">%}</span>
787
+ <span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>
788
+ <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>
789
+ &lt;/ul&gt;
790
+ </code></pre></div></div>
791
+
792
+ <p>To render this in your layout or pages, you would simply include the template and pass in the <code class="highlighter-rouge">nav</code> parameter. In this case, we’ll use the <code class="highlighter-rouge">page.nav</code> to grab it from the yaml frontmatter.</p>
793
+
794
+ <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="na">nav</span><span class="p">.</span><span class="na">html</span><span class="w"> </span><span class="na">nav</span><span class="o">=</span><span class="nv">page</span><span class="p">.</span><span class="nv">nav</span><span class="w"> </span><span class="p">%}</span>
795
+ </code></pre></div></div>
796
+
797
+ <p>Our include will use this first, then look through each item for a <code class="highlighter-rouge">subnav</code> property to recursively render the nested lists.</p>
798
+
799
+ <p><strong>Result</strong></p>
800
+ <div class="highlight result" data-proofer-ignore="">
801
+ <ul>
802
+ <li><a href="#">Deployment</a></li>
803
+ <ul>
804
+ <li><a href="#">Heroku</a></li>
805
+ <ul>
806
+ <li><a href="#">Jekyll On Heroku</a></li>
807
+ </ul>
808
+ </ul>
809
+ <li><a href="#">Help</a></li>
810
+ </ul>
811
+ </div>
812
+
739
813
 
740
814
 
741
815
 
@@ -780,11 +854,11 @@
780
854
 
781
855
 
782
856
 
783
- <li class=""><a href="/tutorials/home/">Tutorials</a></li>
857
+ <li><a href="/tutorials/home/">Tutorials</a></li>
784
858
 
785
859
 
786
860
 
787
- <li class=""><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
861
+ <li><a href="/tutorials/video-walkthroughs/">Video Walkthroughs</a></li>
788
862
 
789
863
 
790
864
 
@@ -792,19 +866,19 @@
792
866
 
793
867
 
794
868
 
795
- <li class=""><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
869
+ <li><a href="/tutorials/orderofinterpretation/">Order of interpretation</a></li>
796
870
 
797
871
 
798
872
 
799
- <li class=""><a href="/tutorials/custom-404-page/">Custom 404 Page</a></li>
873
+ <li><a href="/tutorials/custom-404-page/">Custom 404 Page</a></li>
800
874
 
801
875
 
802
876
 
803
- <li class=""><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
877
+ <li><a href="/tutorials/convert-site-to-jekyll/">Convert an HTML site to Jekyll</a></li>
804
878
 
805
879
 
806
880
 
807
- <li class=""><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
881
+ <li><a href="/tutorials/using-jekyll-with-bundler/">Using Jekyll with Bundler</a></li>
808
882
 
809
883
  </ul>
810
884
 
@@ -823,7 +897,8 @@
823
897
  <footer>
824
898
  <div class="grid">
825
899
  <div class="unit one-third center-on-mobiles">
826
- <p>The contents of this website are <br />&copy;&nbsp;2020 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
900
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
901
+ <p>The contents of this website are <br />&copy;&nbsp;2019 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT&nbsp;License</a>.</p>
827
902
  </div>
828
903
  <div class="unit two-thirds align-right center-on-mobiles">
829
904
  <p>
@@ -833,6 +908,14 @@
833
908
  </a>
834
909
  </p>
835
910
  </div>
911
+ <div class="unit two-thirds align-right center-on-mobiles">
912
+ <p>
913
+ Jekyll is funded thanks to its
914
+ <a href="https://github.com/jekyll/jekyll#sponsors">
915
+ sponsors!
916
+ </a>
917
+ </p>
918
+ </div>
836
919
  </div>
837
920
  </footer>
838
921