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
@@ -0,0 +1,838 @@
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>Hooks | Jekyll • Simple, blog-aware, static sites</title>
17
+ <meta name="generator" content="Jekyll v4.0.0" />
18
+ <meta property="og:title" content="Hooks" />
19
+ <meta property="og:locale" content="en_US" />
20
+ <meta name="description" content="Using hooks, your plugin can exercise fine-grained control over various aspects of the build process. If your plugin defines any hooks, Jekyll will call them at pre-defined points." />
21
+ <meta property="og:description" content="Using hooks, your plugin can exercise fine-grained control over various aspects of the build process. If your plugin defines any hooks, Jekyll will call them at pre-defined points." />
22
+ <link rel="canonical" href="https://jekyllrb.com/docs/plugins/hooks/" />
23
+ <meta property="og:url" content="https://jekyllrb.com/docs/plugins/hooks/" />
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="Hooks" />
31
+ <meta name="twitter:site" content="@jekyllrb" />
32
+ <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
33
+ <script type="application/ld+json">
34
+ {"description":"Using hooks, your plugin can exercise fine-grained control over various aspects of the build process. If your plugin defines any hooks, Jekyll will call them at pre-defined points.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/docs/plugins/hooks/"},"headline":"Hooks","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/docs/plugins/hooks/","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/plugins/hooks.md"><i class="fa fa-pencil"></i> &nbsp;Improve this page</a>
290
+ </div>
291
+ <h1>Hooks</h1>
292
+ <p>Using hooks, your plugin can exercise fine-grained control over various aspects
293
+ of the build process. If your plugin defines any hooks, Jekyll will call them
294
+ at pre-defined points.</p>
295
+
296
+ <p>Hooks are registered to a container and an event name. To register one, you
297
+ call Jekyll::Hooks.register, and pass the container, event name, and code to
298
+ call whenever the hook is triggered. For example, if you want to execute some
299
+ custom functionality every time Jekyll renders a post, you could register a
300
+ hook like this:</p>
301
+
302
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="no">Jekyll</span><span class="o">::</span><span class="no">Hooks</span><span class="p">.</span><span class="nf">register</span> <span class="ss">:posts</span><span class="p">,</span> <span class="ss">:post_render</span> <span class="k">do</span> <span class="o">|</span><span class="n">post</span><span class="o">|</span>
303
+ <span class="c1"># code to call after Jekyll renders a post</span>
304
+ <span class="k">end</span>
305
+ </code></pre></div></div>
306
+
307
+ <p>Jekyll provides hooks for <code>:site</code>, <code>:pages</code>,
308
+ <code>:posts</code>, and <code>:documents</code>. In all cases, Jekyll calls
309
+ your hooks with the container object as the first callback parameter.
310
+ All <code class="highlighter-rouge">:pre_render</code> hooks and the<code class="highlighter-rouge">:site, :post_render</code> hook will also provide a
311
+ payload hash as a second parameter. In the case of <code class="highlighter-rouge">:pre_render</code>, the payload
312
+ gives you full control over the variables that are available while rendering.
313
+ In the case of <code class="highlighter-rouge">:site, :post_render</code>, the payload contains final values after
314
+ rendering all the site (useful for sitemaps, feeds, etc).</p>
315
+
316
+ <p>The complete list of available hooks is below:</p>
317
+
318
+ <div class="mobile-side-scroller">
319
+ <table>
320
+ <thead>
321
+ <tr>
322
+ <th>Container</th>
323
+ <th>Event</th>
324
+ <th>Called</th>
325
+ </tr>
326
+ </thead>
327
+ <tbody>
328
+ <tr>
329
+ <td>
330
+ <p><code>:site</code></p>
331
+ </td>
332
+ <td>
333
+ <p><code>:after_init</code></p>
334
+ </td>
335
+ <td>
336
+ <p>Just after the site initializes, but before setup &amp; render. Good
337
+ for modifying the configuration of the site.</p>
338
+ </td>
339
+ </tr>
340
+ <tr>
341
+ <td>
342
+ <p><code>:site</code></p>
343
+ </td>
344
+ <td>
345
+ <p><code>:after_reset</code></p>
346
+ </td>
347
+ <td>
348
+ <p>Just after site reset</p>
349
+ </td>
350
+ </tr>
351
+ <tr>
352
+ <td>
353
+ <p><code>:site</code></p>
354
+ </td>
355
+ <td>
356
+ <p><code>:post_read</code></p>
357
+ </td>
358
+ <td>
359
+ <p>After site data has been read and loaded from disk</p>
360
+ </td>
361
+ </tr>
362
+ <tr>
363
+ <td>
364
+ <p><code>:site</code></p>
365
+ </td>
366
+ <td>
367
+ <p><code>:pre_render</code></p>
368
+ </td>
369
+ <td>
370
+ <p>Just before rendering the whole site</p>
371
+ </td>
372
+ </tr>
373
+ <tr>
374
+ <td>
375
+ <p><code>:site</code></p>
376
+ </td>
377
+ <td>
378
+ <p><code>:post_render</code></p>
379
+ </td>
380
+ <td>
381
+ <p>After rendering the whole site, but before writing any files</p>
382
+ </td>
383
+ </tr>
384
+ <tr>
385
+ <td>
386
+ <p><code>:site</code></p>
387
+ </td>
388
+ <td>
389
+ <p><code>:post_write</code></p>
390
+ </td>
391
+ <td>
392
+ <p>After writing the whole site to disk</p>
393
+ </td>
394
+ </tr>
395
+ <tr>
396
+ <td>
397
+ <p><code>:pages</code></p>
398
+ </td>
399
+ <td>
400
+ <p><code>:post_init</code></p>
401
+ </td>
402
+ <td>
403
+ <p>Whenever a page is initialized</p>
404
+ </td>
405
+ </tr>
406
+ <tr>
407
+ <td>
408
+ <p><code>:pages</code></p>
409
+ </td>
410
+ <td>
411
+ <p><code>:pre_render</code></p>
412
+ </td>
413
+ <td>
414
+ <p>Just before rendering a page</p>
415
+ </td>
416
+ </tr>
417
+ <tr>
418
+ <td>
419
+ <p><code>:pages</code></p>
420
+ </td>
421
+ <td>
422
+ <p><code>:post_render</code></p>
423
+ </td>
424
+ <td>
425
+ <p>After rendering a page, but before writing it to disk</p>
426
+ </td>
427
+ </tr>
428
+ <tr>
429
+ <td>
430
+ <p><code>:pages</code></p>
431
+ </td>
432
+ <td>
433
+ <p><code>:post_write</code></p>
434
+ </td>
435
+ <td>
436
+ <p>After writing a page to disk</p>
437
+ </td>
438
+ </tr>
439
+ <tr>
440
+ <td>
441
+ <p><code>:posts</code></p>
442
+ </td>
443
+ <td>
444
+ <p><code>:post_init</code></p>
445
+ </td>
446
+ <td>
447
+ <p>Whenever a post is initialized</p>
448
+ </td>
449
+ </tr>
450
+ <tr>
451
+ <td>
452
+ <p><code>:posts</code></p>
453
+ </td>
454
+ <td>
455
+ <p><code>:pre_render</code></p>
456
+ </td>
457
+ <td>
458
+ <p>Just before rendering a post</p>
459
+ </td>
460
+ </tr>
461
+ <tr>
462
+ <td>
463
+ <p><code>:posts</code></p>
464
+ </td>
465
+ <td>
466
+ <p><code>:post_render</code></p>
467
+ </td>
468
+ <td>
469
+ <p>After rendering a post, but before writing it to disk</p>
470
+ </td>
471
+ </tr>
472
+ <tr>
473
+ <td>
474
+ <p><code>:posts</code></p>
475
+ </td>
476
+ <td>
477
+ <p><code>:post_write</code></p>
478
+ </td>
479
+ <td>
480
+ <p>After writing a post to disk</p>
481
+ </td>
482
+ </tr>
483
+ <tr>
484
+ <td>
485
+ <p><code>:documents</code></p>
486
+ </td>
487
+ <td>
488
+ <p><code>:post_init</code></p>
489
+ </td>
490
+ <td>
491
+ <p>Whenever a document is initialized</p>
492
+ </td>
493
+ </tr>
494
+ <tr>
495
+ <td>
496
+ <p><code>:documents</code></p>
497
+ </td>
498
+ <td>
499
+ <p><code>:pre_render</code></p>
500
+ </td>
501
+ <td>
502
+ <p>Just before rendering a document</p>
503
+ </td>
504
+ </tr>
505
+ <tr>
506
+ <td>
507
+ <p><code>:documents</code></p>
508
+ </td>
509
+ <td>
510
+ <p><code>:post_render</code></p>
511
+ </td>
512
+ <td>
513
+ <p>After rendering a document, but before writing it to disk</p>
514
+ </td>
515
+ </tr>
516
+ <tr>
517
+ <td>
518
+ <p><code>:documents</code></p>
519
+ </td>
520
+ <td>
521
+ <p><code>:post_write</code></p>
522
+ </td>
523
+ <td>
524
+ <p>After writing a document to disk</p>
525
+ </td>
526
+ </tr>
527
+ </tbody>
528
+ </table>
529
+ </div>
530
+
531
+ </article>
532
+ </div>
533
+
534
+ <div class="unit one-fifth hide-on-mobiles">
535
+ <aside>
536
+
537
+ <h4>Getting Started</h4>
538
+ <ul>
539
+
540
+
541
+ <li>
542
+ <a href="/docs/">
543
+ Quickstart
544
+ </a>
545
+ </li>
546
+
547
+
548
+ <li>
549
+ <a href="/docs/ruby-101/">
550
+ Ruby 101
551
+ </a>
552
+ </li>
553
+
554
+
555
+ <li>
556
+ <a href="/docs/installation/">
557
+ Installation
558
+ </a>
559
+ </li>
560
+
561
+
562
+ <li>
563
+ <a href="/docs/community/">
564
+ Community
565
+ </a>
566
+ </li>
567
+
568
+
569
+ <li>
570
+ <a href="/docs/step-by-step/01-setup/">
571
+ Step by Step Tutorial
572
+ </a>
573
+ </li>
574
+
575
+ </ul>
576
+
577
+ <h4>Build</h4>
578
+ <ul>
579
+
580
+
581
+ <li>
582
+ <a href="/docs/usage/">
583
+ Command Line Usage
584
+ </a>
585
+ </li>
586
+
587
+
588
+ <li>
589
+ <a href="/docs/configuration/">
590
+ Configuration
591
+ </a>
592
+ </li>
593
+
594
+ </ul>
595
+
596
+ <h4>Content</h4>
597
+ <ul>
598
+
599
+
600
+ <li>
601
+ <a href="/docs/pages/">
602
+ Pages
603
+ </a>
604
+ </li>
605
+
606
+
607
+ <li>
608
+ <a href="/docs/posts/">
609
+ Posts
610
+ </a>
611
+ </li>
612
+
613
+
614
+ <li>
615
+ <a href="/docs/front-matter/">
616
+ Front Matter
617
+ </a>
618
+ </li>
619
+
620
+
621
+ <li>
622
+ <a href="/docs/collections/">
623
+ Collections
624
+ </a>
625
+ </li>
626
+
627
+
628
+ <li>
629
+ <a href="/docs/datafiles/">
630
+ Data Files
631
+ </a>
632
+ </li>
633
+
634
+
635
+ <li>
636
+ <a href="/docs/assets/">
637
+ Assets
638
+ </a>
639
+ </li>
640
+
641
+
642
+ <li>
643
+ <a href="/docs/static-files/">
644
+ Static Files
645
+ </a>
646
+ </li>
647
+
648
+ </ul>
649
+
650
+ <h4>Site Structure</h4>
651
+ <ul>
652
+
653
+
654
+ <li>
655
+ <a href="/docs/structure/">
656
+ Directory Structure
657
+ </a>
658
+ </li>
659
+
660
+
661
+ <li>
662
+ <a href="/docs/liquid/">
663
+ Liquid
664
+ </a>
665
+ </li>
666
+
667
+
668
+ <li>
669
+ <a href="/docs/variables/">
670
+ Variables
671
+ </a>
672
+ </li>
673
+
674
+
675
+ <li>
676
+ <a href="/docs/includes/">
677
+ Includes
678
+ </a>
679
+ </li>
680
+
681
+
682
+ <li>
683
+ <a href="/docs/layouts/">
684
+ Layouts
685
+ </a>
686
+ </li>
687
+
688
+
689
+ <li>
690
+ <a href="/docs/permalinks/">
691
+ Permalinks
692
+ </a>
693
+ </li>
694
+
695
+
696
+ <li>
697
+ <a href="/docs/themes/">
698
+ Themes
699
+ </a>
700
+ </li>
701
+
702
+
703
+ <li>
704
+ <a href="/docs/pagination/">
705
+ Pagination
706
+ </a>
707
+ </li>
708
+
709
+ </ul>
710
+
711
+ <h4>Guides</h4>
712
+ <ul>
713
+
714
+
715
+ <li>
716
+ <a href="/docs/plugins/">
717
+ Plugins
718
+ </a>
719
+ </li>
720
+
721
+
722
+ <li>
723
+ <a href="/docs/migrations/">
724
+ Blog Migrations
725
+ </a>
726
+ </li>
727
+
728
+
729
+ <li>
730
+ <a href="/docs/upgrading/">
731
+ Upgrading
732
+ </a>
733
+ </li>
734
+
735
+
736
+ <li>
737
+ <a href="/docs/deployment/">
738
+ Deployment
739
+ </a>
740
+ </li>
741
+
742
+ </ul>
743
+
744
+ </aside>
745
+ </div>
746
+
747
+
748
+ <div class="clear"></div>
749
+
750
+ </div>
751
+ </section>
752
+
753
+
754
+ <footer>
755
+ <div class="grid">
756
+ <div class="unit one-third center-on-mobiles">
757
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
758
+ <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>
759
+ </div>
760
+ <div class="unit two-thirds align-right center-on-mobiles">
761
+ <p>
762
+ Proudly hosted by
763
+ <a href="https://github.com">
764
+ <img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
765
+ </a>
766
+ </p>
767
+ </div>
768
+ <div class="unit two-thirds align-right center-on-mobiles">
769
+ <p>
770
+ Jekyll is funded thanks to its
771
+ <a href="https://github.com/jekyll/jekyll#sponsors">
772
+ sponsors!
773
+ </a>
774
+ </p>
775
+ </div>
776
+ </div>
777
+ </footer>
778
+
779
+ <script>
780
+ var anchorForId = function (id) {
781
+ var anchor = document.createElement("a");
782
+ anchor.className = "header-link";
783
+ anchor.href = "#" + id;
784
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
785
+ anchor.title = "Permalink";
786
+ return anchor;
787
+ };
788
+
789
+ var linkifyAnchors = function (level, containingElement) {
790
+ var headers = containingElement.getElementsByTagName("h" + level);
791
+ for (var h = 0; h < headers.length; h++) {
792
+ var header = headers[h];
793
+
794
+ if (typeof header.id !== "undefined" && header.id !== "") {
795
+ header.appendChild(anchorForId(header.id));
796
+ }
797
+ }
798
+ };
799
+
800
+ document.onreadystatechange = function () {
801
+ if (this.readyState === "complete") {
802
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
803
+ if (!contentBlock) {
804
+ return;
805
+ }
806
+ for (var level = 1; level <= 6; level++) {
807
+ linkifyAnchors(level, contentBlock);
808
+ }
809
+ }
810
+ };
811
+ </script>
812
+
813
+
814
+ <!-- Google Analytics (https://www.google.com/analytics) -->
815
+ <script>
816
+ !function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
817
+ (j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
818
+ L=e.getElementsByTagName(k)[0],l.src='https://www.google-analytics.com/analytics.js',
819
+ L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
820
+
821
+ ga('create', 'UA-50755011-1', 'jekyllrb.com');
822
+ ga('send', 'pageview');
823
+
824
+ </script>
825
+
826
+
827
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
828
+ <script type="text/javascript"> docsearch({
829
+ apiKey: '50fe39c839958dfad797000f33e2ec17',
830
+ indexName: 'jekyllrb',
831
+ inputSelector: '#docsearch-input',
832
+ enhancedSearchInput: true,
833
+ debug: false // Set debug to true if you want to inspect the dropdown
834
+ });
835
+ </script>
836
+
837
+ </body>
838
+ </html>