jekyll-docs 3.9.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -0,0 +1,932 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <meta name="generator" content="Jekyll v4.0.0">
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" />
9
+ <link rel="alternate" type="application/atom+xml" title="Recent commits to Jekyll’s master branch" href="https://github.com/jekyll/jekyll/commits/master.atom">
10
+ <link rel="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">
13
+ <link rel="stylesheet" href="/css/screen.css">
14
+ <link rel="icon" type="image/x-icon" href="/favicon.ico">
15
+ <!-- Begin Jekyll SEO tag v2.6.1 -->
16
+ <title>Collections | Jekyll • Simple, blog-aware, static sites</title>
17
+ <meta name="generator" content="Jekyll v4.0.0" />
18
+ <meta property="og:title" content="Collections" />
19
+ <meta property="og:locale" content="en_US" />
20
+ <meta name="description" content="Let’s look at fleshing out authors so each author has their own page with a blurb and the posts they’ve published." />
21
+ <meta property="og:description" content="Let’s look at fleshing out authors so each author has their own page with a blurb and the posts they’ve published." />
22
+ <link rel="canonical" href="https://jekyllrb.com/docs/step-by-step/09-collections/" />
23
+ <meta property="og:url" content="https://jekyllrb.com/docs/step-by-step/09-collections/" />
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" />
26
+ <meta property="og:type" content="article" />
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" />
30
+ <meta property="twitter:title" content="Collections" />
31
+ <meta name="twitter:site" content="@jekyllrb" />
32
+ <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
33
+ <script type="application/ld+json">
34
+ {"description":"Let’s look at fleshing out authors so each author has their own page with a blurb and the posts they’ve published.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/docs/step-by-step/09-collections/"},"headline":"Collections","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/docs/step-by-step/09-collections/","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>
35
+ <!-- End Jekyll SEO tag -->
36
+
37
+ <!--[if lt IE 9]>
38
+ <script src="/js/html5shiv.min.js"></script>
39
+ <script src="/js/respond.min.js"></script>
40
+ <![endif]-->
41
+ </head>
42
+
43
+
44
+ <body class="wrap">
45
+ <header>
46
+ <div class="flexbox">
47
+ <div class="center-on-mobiles">
48
+ <h1>
49
+ <a href="/" class="logo">
50
+ <span class="sr-only">Jekyll</span>
51
+ <img src="/img/logo-2x.png" width="140" height="65" alt="Jekyll Logo">
52
+ </a>
53
+ </h1>
54
+ </div>
55
+ <nav class="main-nav hide-on-mobiles">
56
+ <ul>
57
+
58
+ <li>
59
+ <a href="/">Home</a>
60
+ </li>
61
+
62
+ <li class="current">
63
+ <a href="/docs/">Docs</a>
64
+ </li>
65
+
66
+ <li>
67
+ <a href="/resources/">Resources</a>
68
+ </li>
69
+
70
+ <li>
71
+ <a href="/showcase/">Showcase</a>
72
+ </li>
73
+
74
+ <li>
75
+ <a href="/news/">News</a>
76
+ </li>
77
+
78
+ </ul>
79
+
80
+ </nav>
81
+ <div class="search hide-on-mobiles">
82
+ <input type="text" id="docsearch-input" placeholder="Search the docs…">
83
+
84
+ </div>
85
+ <div class="meta hide-on-mobiles">
86
+ <ul>
87
+ <li>
88
+ <a href="https://github.com/jekyll/jekyll/releases/tag/v4.0.0">v4.0.0</a>
89
+ </li>
90
+ <li>
91
+ <a href="https://github.com/jekyll/jekyll">GitHub</a>
92
+ </li>
93
+ </ul>
94
+ </div>
95
+ </div>
96
+ <nav class="mobile-nav show-on-mobiles">
97
+ <ul>
98
+
99
+ <li>
100
+ <a href="/">Home</a>
101
+ </li>
102
+
103
+ <li class="current">
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
+
116
+ <li>
117
+ <a href="https://github.com/jekyll/jekyll">GitHub</a>
118
+ </li>
119
+ </ul>
120
+
121
+ </nav>
122
+ </header>
123
+
124
+
125
+ <section class="docs">
126
+ <div class="grid">
127
+
128
+ <div class="docs-nav-mobile unit whole show-on-mobiles">
129
+ <select onchange="if (this.value) window.location.href=this.value">
130
+ <option value="">Navigate the docs…</option>
131
+
132
+ <optgroup label="Getting Started">
133
+
134
+
135
+ <option value="/docs/">
136
+ Quickstart
137
+ </option>
138
+
139
+
140
+ <option value="/docs/ruby-101/">
141
+ Ruby 101
142
+ </option>
143
+
144
+
145
+ <option value="/docs/installation/">
146
+ Installation
147
+ </option>
148
+
149
+
150
+ <option value="/docs/community/">
151
+ Community
152
+ </option>
153
+
154
+
155
+ <option value="/docs/step-by-step/01-setup/">
156
+ Step by Step Tutorial
157
+ </option>
158
+
159
+ </optgroup>
160
+
161
+ <optgroup label="Build">
162
+
163
+
164
+ <option value="/docs/usage/">
165
+ Command Line Usage
166
+ </option>
167
+
168
+
169
+ <option value="/docs/configuration/">
170
+ Configuration
171
+ </option>
172
+
173
+ </optgroup>
174
+
175
+ <optgroup label="Content">
176
+
177
+
178
+ <option value="/docs/pages/">
179
+ Pages
180
+ </option>
181
+
182
+
183
+ <option value="/docs/posts/">
184
+ Posts
185
+ </option>
186
+
187
+
188
+ <option value="/docs/front-matter/">
189
+ Front Matter
190
+ </option>
191
+
192
+
193
+ <option value="/docs/collections/">
194
+ Collections
195
+ </option>
196
+
197
+
198
+ <option value="/docs/datafiles/">
199
+ Data Files
200
+ </option>
201
+
202
+
203
+ <option value="/docs/assets/">
204
+ Assets
205
+ </option>
206
+
207
+
208
+ <option value="/docs/static-files/">
209
+ Static Files
210
+ </option>
211
+
212
+ </optgroup>
213
+
214
+ <optgroup label="Site Structure">
215
+
216
+
217
+ <option value="/docs/structure/">
218
+ Directory Structure
219
+ </option>
220
+
221
+
222
+ <option value="/docs/liquid/">
223
+ Liquid
224
+ </option>
225
+
226
+
227
+ <option value="/docs/variables/">
228
+ Variables
229
+ </option>
230
+
231
+
232
+ <option value="/docs/includes/">
233
+ Includes
234
+ </option>
235
+
236
+
237
+ <option value="/docs/layouts/">
238
+ Layouts
239
+ </option>
240
+
241
+
242
+ <option value="/docs/permalinks/">
243
+ Permalinks
244
+ </option>
245
+
246
+
247
+ <option value="/docs/themes/">
248
+ Themes
249
+ </option>
250
+
251
+
252
+ <option value="/docs/pagination/">
253
+ Pagination
254
+ </option>
255
+
256
+ </optgroup>
257
+
258
+ <optgroup label="Guides">
259
+
260
+
261
+ <option value="/docs/plugins/">
262
+ Plugins
263
+ </option>
264
+
265
+
266
+ <option value="/docs/migrations/">
267
+ Blog Migrations
268
+ </option>
269
+
270
+
271
+ <option value="/docs/upgrading/">
272
+ Upgrading
273
+ </option>
274
+
275
+
276
+ <option value="/docs/deployment/">
277
+ Deployment
278
+ </option>
279
+
280
+ </optgroup>
281
+
282
+ </select>
283
+ </div>
284
+
285
+
286
+ <div class="unit four-fifths">
287
+ <article>
288
+ <div class="improve right hide-on-mobiles">
289
+ <a data-proofer-ignore href="https://github.com/jekyll/jekyll/edit/master/docs/_docs/step-by-step/09-collections.md"><i class="fa fa-pencil"></i> &nbsp;Improve this page</a>
290
+ </div>
291
+ <h1>Step by Step Tutorial</h1>
292
+ <h2>9. Collections</h2>
293
+ <p>Let’s look at fleshing out authors so each author has their own page with a
294
+ blurb and the posts they’ve published.</p>
295
+
296
+ <p>To do this you’ll use collections. Collections are similar to posts except the
297
+ content doesn’t have to be grouped by date.</p>
298
+
299
+ <h2 id="configuration">Configuration</h2>
300
+
301
+ <p>To set up a collection you need to tell Jekyll about it. Jekyll configuration
302
+ happens in a file called <code class="highlighter-rouge">_config.yml</code> (by default).</p>
303
+
304
+ <p>Create <code class="highlighter-rouge">_config.yml</code> in the root with the following:</p>
305
+
306
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">collections</span><span class="pi">:</span>
307
+ <span class="na">authors</span><span class="pi">:</span>
308
+ </code></pre></div></div>
309
+
310
+ <p>To (re)load the configuration, restart the jekyll server. Press <code class="highlighter-rouge">Ctrl</code>+<code class="highlighter-rouge">C</code> in your terminal to stop the server, and then <code class="highlighter-rouge">jekyll serve</code> to restart it.</p>
311
+
312
+ <h2 id="add-authors">Add authors</h2>
313
+
314
+ <p>Documents (the items in a collection) live in a folder in the root of the site
315
+ named <code class="highlighter-rouge">_*collection_name*</code>. In this case, <code class="highlighter-rouge">_authors</code>.</p>
316
+
317
+ <p>Create a document for each author:</p>
318
+
319
+ <p><code class="highlighter-rouge">_authors/jill.md</code>:</p>
320
+
321
+ <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
322
+ <span class="na">short_name</span><span class="pi">:</span> <span class="s">jill</span>
323
+ <span class="na">name</span><span class="pi">:</span> <span class="s">Jill Smith</span>
324
+ <span class="na">position</span><span class="pi">:</span> <span class="s">Chief Editor</span>
325
+ <span class="nn">---</span>
326
+ Jill is an avid fruit grower based in the south of France.
327
+ </code></pre></div></div>
328
+
329
+ <p><code class="highlighter-rouge">_authors/ted.md</code>:</p>
330
+
331
+ <div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
332
+ <span class="na">short_name</span><span class="pi">:</span> <span class="s">ted</span>
333
+ <span class="na">name</span><span class="pi">:</span> <span class="s">Ted Doe</span>
334
+ <span class="na">position</span><span class="pi">:</span> <span class="s">Writer</span>
335
+ <span class="nn">---</span>
336
+ Ted has been eating fruit since he was baby.
337
+ </code></pre></div></div>
338
+
339
+ <h2 id="staff-page">Staff page</h2>
340
+
341
+ <p>Let’s add a page which lists all the authors on the site. Jekyll makes the
342
+ collection available at <code class="highlighter-rouge">site.authors</code>.</p>
343
+
344
+ <p>Create <code class="highlighter-rouge">staff.html</code> and iterate over <code class="highlighter-rouge">site.authors</code> to output all the staff:</p>
345
+
346
+ <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
347
+ layout: default
348
+ title: Staff
349
+ ---
350
+ <span class="nt">&lt;h1&gt;</span>Staff<span class="nt">&lt;/h1&gt;</span>
351
+
352
+ <span class="nt">&lt;ul&gt;</span>
353
+ {% for author in site.authors %}
354
+ <span class="nt">&lt;li&gt;</span>
355
+ <span class="nt">&lt;h2&gt;</span>{{ author.name }}<span class="nt">&lt;/h2&gt;</span>
356
+ <span class="nt">&lt;h3&gt;</span>{{ author.position }}<span class="nt">&lt;/h3&gt;</span>
357
+ <span class="nt">&lt;p&gt;</span>{{ author.content | markdownify }}<span class="nt">&lt;/p&gt;</span>
358
+ <span class="nt">&lt;/li&gt;</span>
359
+ {% endfor %}
360
+ <span class="nt">&lt;/ul&gt;</span>
361
+ </code></pre></div></div>
362
+
363
+ <p>Since the content is markdown, you need to run it through the
364
+ <code class="highlighter-rouge">markdownify</code> filter. This happens automatically when outputting using
365
+ <code class="highlighter-rouge">{{ content }}</code> in a layout.</p>
366
+
367
+ <p>You also need a way to navigate to this page through the main navigation. Open
368
+ <code class="highlighter-rouge">_data/navigation.yml</code> and add an entry for the staff page:</p>
369
+
370
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Home</span>
371
+ <span class="na">link</span><span class="pi">:</span> <span class="s">/</span>
372
+ <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">About</span>
373
+ <span class="na">link</span><span class="pi">:</span> <span class="s">/about.html</span>
374
+ <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Blog</span>
375
+ <span class="na">link</span><span class="pi">:</span> <span class="s">/blog.html</span>
376
+ <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Staff</span>
377
+ <span class="na">link</span><span class="pi">:</span> <span class="s">/staff.html</span>
378
+ </code></pre></div></div>
379
+
380
+ <h2 id="output-a-page">Output a page</h2>
381
+
382
+ <p>By default, collections do not output a page for documents. In this case we
383
+ want each author to have their own page so let’s tweak the collection
384
+ configuration.</p>
385
+
386
+ <p>Open <code class="highlighter-rouge">_config.yml</code> and add <code class="highlighter-rouge">output: true</code> to the author collection
387
+ configuration:</p>
388
+
389
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">collections</span><span class="pi">:</span>
390
+ <span class="na">authors</span><span class="pi">:</span>
391
+ <span class="na">output</span><span class="pi">:</span> <span class="no">true</span>
392
+ </code></pre></div></div>
393
+
394
+ <p>You can link to the output page using <code class="highlighter-rouge">author.url</code>.</p>
395
+
396
+ <p>Add the link to the <code class="highlighter-rouge">staff.html</code> page:</p>
397
+
398
+ <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
399
+ layout: default
400
+ ---
401
+ <span class="nt">&lt;h1&gt;</span>Staff<span class="nt">&lt;/h1&gt;</span>
402
+
403
+ <span class="nt">&lt;ul&gt;</span>
404
+ {% for author in site.authors %}
405
+ <span class="nt">&lt;li&gt;</span>
406
+ <span class="nt">&lt;h2&gt;&lt;a</span> <span class="na">href=</span><span class="s">"{{ author.url }}"</span><span class="nt">&gt;</span>{{ author.name }}<span class="nt">&lt;/a&gt;&lt;/h2&gt;</span>
407
+ <span class="nt">&lt;h3&gt;</span>{{ author.position }}<span class="nt">&lt;/h3&gt;</span>
408
+ <span class="nt">&lt;p&gt;</span>{{ author.content | markdownify }}<span class="nt">&lt;/p&gt;</span>
409
+ <span class="nt">&lt;/li&gt;</span>
410
+ {% endfor %}
411
+ <span class="nt">&lt;/ul&gt;</span>
412
+ </code></pre></div></div>
413
+
414
+ <p>Just like posts you’ll need to create a layout for authors.</p>
415
+
416
+ <p>Create <code class="highlighter-rouge">_layouts/author.html</code> with the following content:</p>
417
+
418
+ <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
419
+ layout: default
420
+ ---
421
+ <span class="nt">&lt;h1&gt;</span>{{ page.name }}<span class="nt">&lt;/h1&gt;</span>
422
+ <span class="nt">&lt;h2&gt;</span>{{ page.position }}<span class="nt">&lt;/h2&gt;</span>
423
+
424
+ {{ content }}
425
+ </code></pre></div></div>
426
+
427
+ <h2 id="front-matter-defaults">Front matter defaults</h2>
428
+
429
+ <p>Now you need to configure the author documents to use the <code class="highlighter-rouge">author</code> layout. You
430
+ could do this in the front matter like we have previously but that’s getting
431
+ repetitive.</p>
432
+
433
+ <p>What you really want is all posts to automatically have the post
434
+ layout, authors to have author and everything else to use the default.</p>
435
+
436
+ <p>You can achieve this by using <a href="/docs/configuration/front-matter-defaults/">front matter defaults</a>
437
+ in <code class="highlighter-rouge">_config.yml</code>. You set a scope of what the default applies to, then the
438
+ default front matter you’d like.</p>
439
+
440
+ <p>Add defaults for layouts to your <code class="highlighter-rouge">_config.yml</code>,</p>
441
+
442
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">collections</span><span class="pi">:</span>
443
+ <span class="na">authors</span><span class="pi">:</span>
444
+ <span class="na">output</span><span class="pi">:</span> <span class="no">true</span>
445
+
446
+ <span class="na">defaults</span><span class="pi">:</span>
447
+ <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
448
+ <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
449
+ <span class="na">type</span><span class="pi">:</span> <span class="s2">"</span><span class="s">authors"</span>
450
+ <span class="na">values</span><span class="pi">:</span>
451
+ <span class="na">layout</span><span class="pi">:</span> <span class="s2">"</span><span class="s">author"</span>
452
+ <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
453
+ <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
454
+ <span class="na">type</span><span class="pi">:</span> <span class="s2">"</span><span class="s">posts"</span>
455
+ <span class="na">values</span><span class="pi">:</span>
456
+ <span class="na">layout</span><span class="pi">:</span> <span class="s2">"</span><span class="s">post"</span>
457
+ <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
458
+ <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
459
+ <span class="na">values</span><span class="pi">:</span>
460
+ <span class="na">layout</span><span class="pi">:</span> <span class="s2">"</span><span class="s">default"</span>
461
+ </code></pre></div></div>
462
+
463
+ <p>Now you can remove layout from the front matter of all pages and posts. Note
464
+ that any time you update <code class="highlighter-rouge">_config.yml</code> you’ll need to restart Jekyll for the
465
+ changes to take affect.</p>
466
+
467
+ <h2 id="list-authors-posts">List author’s posts</h2>
468
+
469
+ <p>Let’s list the posts an author has published on their page. To do
470
+ this you need to match the author <code class="highlighter-rouge">short_name</code> to the post <code class="highlighter-rouge">author</code>. You
471
+ use this to filter the posts by author.</p>
472
+
473
+ <p>Iterate over this filtered list in <code class="highlighter-rouge">_layouts/author.html</code> to output the
474
+ author’s posts:</p>
475
+
476
+ <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
477
+ layout: default
478
+ ---
479
+ <span class="nt">&lt;h1&gt;</span>{{ page.name }}<span class="nt">&lt;/h1&gt;</span>
480
+ <span class="nt">&lt;h2&gt;</span>{{ page.position }}<span class="nt">&lt;/h2&gt;</span>
481
+
482
+ {{ content }}
483
+
484
+ <span class="nt">&lt;h2&gt;</span>Posts<span class="nt">&lt;/h2&gt;</span>
485
+ <span class="nt">&lt;ul&gt;</span>
486
+ {% assign filtered_posts = site.posts | where: 'author', page.short_name %}
487
+ {% for post in filtered_posts %}
488
+ <span class="nt">&lt;li&gt;&lt;a</span> <span class="na">href=</span><span class="s">"{{ post.url }}"</span><span class="nt">&gt;</span>{{ post.title }}<span class="nt">&lt;/a&gt;&lt;/li&gt;</span>
489
+ {% endfor %}
490
+ <span class="nt">&lt;/ul&gt;</span>
491
+ </code></pre></div></div>
492
+
493
+ <h2 id="link-to-authors-page">Link to authors page</h2>
494
+
495
+ <p>The posts have a reference to the author so let’s link it to the author’s page.
496
+ You can do this using a similar filtering technique in <code class="highlighter-rouge">_layouts/post.html</code>:</p>
497
+
498
+ <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
499
+ layout: default
500
+ ---
501
+ <span class="nt">&lt;h1&gt;</span>{{ page.title }}<span class="nt">&lt;/h1&gt;</span>
502
+
503
+ <span class="nt">&lt;p&gt;</span>
504
+ {{ page.date | date_to_string }}
505
+ {% assign author = site.authors | where: 'short_name', page.author | first %}
506
+ {% if author %}
507
+ - <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"{{ author.url }}"</span><span class="nt">&gt;</span>{{ author.name }}<span class="nt">&lt;/a&gt;</span>
508
+ {% endif %}
509
+ <span class="nt">&lt;/p&gt;</span>
510
+
511
+ {{ content }}
512
+ </code></pre></div></div>
513
+
514
+ <p>Open up <a href="http://localhost:4000" target="_blank" data-proofer-ignore="">http://localhost:4000</a> and
515
+ have a look at the staff page and the author links on posts to check everything
516
+ is linked together correctly.</p>
517
+
518
+ <p>In the next and final step of this tutorial, we’ll add polish to the site and
519
+ get it ready for a production deployment.</p>
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+ <div class="section-nav">
545
+ <div class="left align-right">
546
+
547
+
548
+ <a href="/docs/step-by-step/08-blogging/" class="prev">Back</a>
549
+
550
+ </div>
551
+ <div class="right align-left">
552
+
553
+
554
+ <a href="/docs/step-by-step/10-deployment/" class="next">Next</a>
555
+
556
+ </div>
557
+ </div>
558
+ <div class="clear"></div>
559
+
560
+
561
+ <ol class="step-nav">
562
+
563
+ <li >
564
+ <a href="/docs/step-by-step/01-setup/">
565
+ Setup
566
+ </a>
567
+ </li>
568
+
569
+ <li >
570
+ <a href="/docs/step-by-step/02-liquid/">
571
+ Liquid
572
+ </a>
573
+ </li>
574
+
575
+ <li >
576
+ <a href="/docs/step-by-step/03-front-matter/">
577
+ Front Matter
578
+ </a>
579
+ </li>
580
+
581
+ <li >
582
+ <a href="/docs/step-by-step/04-layouts/">
583
+ Layouts
584
+ </a>
585
+ </li>
586
+
587
+ <li >
588
+ <a href="/docs/step-by-step/05-includes/">
589
+ Includes
590
+ </a>
591
+ </li>
592
+
593
+ <li >
594
+ <a href="/docs/step-by-step/06-data-files/">
595
+ Data Files
596
+ </a>
597
+ </li>
598
+
599
+ <li >
600
+ <a href="/docs/step-by-step/07-assets/">
601
+ Assets
602
+ </a>
603
+ </li>
604
+
605
+ <li >
606
+ <a href="/docs/step-by-step/08-blogging/">
607
+ Blogging
608
+ </a>
609
+ </li>
610
+
611
+ <li class="current">
612
+ <a href="/docs/step-by-step/09-collections/">
613
+ Collections
614
+ </a>
615
+ </li>
616
+
617
+ <li >
618
+ <a href="/docs/step-by-step/10-deployment/">
619
+ Deployment
620
+ </a>
621
+ </li>
622
+
623
+ </ol>
624
+
625
+ </article>
626
+ </div>
627
+
628
+ <div class="unit one-fifth hide-on-mobiles">
629
+ <aside>
630
+
631
+ <h4>Getting Started</h4>
632
+ <ul>
633
+
634
+
635
+ <li>
636
+ <a href="/docs/">
637
+ Quickstart
638
+ </a>
639
+ </li>
640
+
641
+
642
+ <li>
643
+ <a href="/docs/ruby-101/">
644
+ Ruby 101
645
+ </a>
646
+ </li>
647
+
648
+
649
+ <li>
650
+ <a href="/docs/installation/">
651
+ Installation
652
+ </a>
653
+ </li>
654
+
655
+
656
+ <li>
657
+ <a href="/docs/community/">
658
+ Community
659
+ </a>
660
+ </li>
661
+
662
+
663
+ <li>
664
+ <a href="/docs/step-by-step/01-setup/">
665
+ Step by Step Tutorial
666
+ </a>
667
+ </li>
668
+
669
+ </ul>
670
+
671
+ <h4>Build</h4>
672
+ <ul>
673
+
674
+
675
+ <li>
676
+ <a href="/docs/usage/">
677
+ Command Line Usage
678
+ </a>
679
+ </li>
680
+
681
+
682
+ <li>
683
+ <a href="/docs/configuration/">
684
+ Configuration
685
+ </a>
686
+ </li>
687
+
688
+ </ul>
689
+
690
+ <h4>Content</h4>
691
+ <ul>
692
+
693
+
694
+ <li>
695
+ <a href="/docs/pages/">
696
+ Pages
697
+ </a>
698
+ </li>
699
+
700
+
701
+ <li>
702
+ <a href="/docs/posts/">
703
+ Posts
704
+ </a>
705
+ </li>
706
+
707
+
708
+ <li>
709
+ <a href="/docs/front-matter/">
710
+ Front Matter
711
+ </a>
712
+ </li>
713
+
714
+
715
+ <li>
716
+ <a href="/docs/collections/">
717
+ Collections
718
+ </a>
719
+ </li>
720
+
721
+
722
+ <li>
723
+ <a href="/docs/datafiles/">
724
+ Data Files
725
+ </a>
726
+ </li>
727
+
728
+
729
+ <li>
730
+ <a href="/docs/assets/">
731
+ Assets
732
+ </a>
733
+ </li>
734
+
735
+
736
+ <li>
737
+ <a href="/docs/static-files/">
738
+ Static Files
739
+ </a>
740
+ </li>
741
+
742
+ </ul>
743
+
744
+ <h4>Site Structure</h4>
745
+ <ul>
746
+
747
+
748
+ <li>
749
+ <a href="/docs/structure/">
750
+ Directory Structure
751
+ </a>
752
+ </li>
753
+
754
+
755
+ <li>
756
+ <a href="/docs/liquid/">
757
+ Liquid
758
+ </a>
759
+ </li>
760
+
761
+
762
+ <li>
763
+ <a href="/docs/variables/">
764
+ Variables
765
+ </a>
766
+ </li>
767
+
768
+
769
+ <li>
770
+ <a href="/docs/includes/">
771
+ Includes
772
+ </a>
773
+ </li>
774
+
775
+
776
+ <li>
777
+ <a href="/docs/layouts/">
778
+ Layouts
779
+ </a>
780
+ </li>
781
+
782
+
783
+ <li>
784
+ <a href="/docs/permalinks/">
785
+ Permalinks
786
+ </a>
787
+ </li>
788
+
789
+
790
+ <li>
791
+ <a href="/docs/themes/">
792
+ Themes
793
+ </a>
794
+ </li>
795
+
796
+
797
+ <li>
798
+ <a href="/docs/pagination/">
799
+ Pagination
800
+ </a>
801
+ </li>
802
+
803
+ </ul>
804
+
805
+ <h4>Guides</h4>
806
+ <ul>
807
+
808
+
809
+ <li>
810
+ <a href="/docs/plugins/">
811
+ Plugins
812
+ </a>
813
+ </li>
814
+
815
+
816
+ <li>
817
+ <a href="/docs/migrations/">
818
+ Blog Migrations
819
+ </a>
820
+ </li>
821
+
822
+
823
+ <li>
824
+ <a href="/docs/upgrading/">
825
+ Upgrading
826
+ </a>
827
+ </li>
828
+
829
+
830
+ <li>
831
+ <a href="/docs/deployment/">
832
+ Deployment
833
+ </a>
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ </aside>
839
+ </div>
840
+
841
+
842
+ <div class="clear"></div>
843
+
844
+ </div>
845
+ </section>
846
+
847
+
848
+ <footer>
849
+ <div class="grid">
850
+ <div class="unit one-third center-on-mobiles">
851
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
852
+ <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>
853
+ </div>
854
+ <div class="unit two-thirds align-right center-on-mobiles">
855
+ <p>
856
+ Proudly hosted by
857
+ <a href="https://github.com">
858
+ <img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
859
+ </a>
860
+ </p>
861
+ </div>
862
+ <div class="unit two-thirds align-right center-on-mobiles">
863
+ <p>
864
+ Jekyll is funded thanks to its
865
+ <a href="https://github.com/jekyll/jekyll#sponsors">
866
+ sponsors!
867
+ </a>
868
+ </p>
869
+ </div>
870
+ </div>
871
+ </footer>
872
+
873
+ <script>
874
+ var anchorForId = function (id) {
875
+ var anchor = document.createElement("a");
876
+ anchor.className = "header-link";
877
+ anchor.href = "#" + id;
878
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
879
+ anchor.title = "Permalink";
880
+ return anchor;
881
+ };
882
+
883
+ var linkifyAnchors = function (level, containingElement) {
884
+ var headers = containingElement.getElementsByTagName("h" + level);
885
+ for (var h = 0; h < headers.length; h++) {
886
+ var header = headers[h];
887
+
888
+ if (typeof header.id !== "undefined" && header.id !== "") {
889
+ header.appendChild(anchorForId(header.id));
890
+ }
891
+ }
892
+ };
893
+
894
+ document.onreadystatechange = function () {
895
+ if (this.readyState === "complete") {
896
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
897
+ if (!contentBlock) {
898
+ return;
899
+ }
900
+ for (var level = 1; level <= 6; level++) {
901
+ linkifyAnchors(level, contentBlock);
902
+ }
903
+ }
904
+ };
905
+ </script>
906
+
907
+
908
+ <!-- Google Analytics (https://www.google.com/analytics) -->
909
+ <script>
910
+ !function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
911
+ (j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
912
+ L=e.getElementsByTagName(k)[0],l.src='https://www.google-analytics.com/analytics.js',
913
+ L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
914
+
915
+ ga('create', 'UA-50755011-1', 'jekyllrb.com');
916
+ ga('send', 'pageview');
917
+
918
+ </script>
919
+
920
+
921
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
922
+ <script type="text/javascript"> docsearch({
923
+ apiKey: '50fe39c839958dfad797000f33e2ec17',
924
+ indexName: 'jekyllrb',
925
+ inputSelector: '#docsearch-input',
926
+ enhancedSearchInput: true,
927
+ debug: false // Set debug to true if you want to inspect the dropdown
928
+ });
929
+ </script>
930
+
931
+ </body>
932
+ </html>