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,765 @@
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>Upgrading from 3.x to 4.x | Jekyll • Simple, blog-aware, static sites</title>
17
+ <meta name="generator" content="Jekyll v4.0.0" />
18
+ <meta property="og:title" content="Upgrading from 3.x to 4.x" />
19
+ <meta property="og:locale" content="en_US" />
20
+ <meta name="description" content="A few things have changed in Jekyll 4." />
21
+ <meta property="og:description" content="A few things have changed in Jekyll 4." />
22
+ <link rel="canonical" href="https://jekyllrb.com/docs/upgrading/3-to-4/" />
23
+ <meta property="og:url" content="https://jekyllrb.com/docs/upgrading/3-to-4/" />
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="Upgrading from 3.x to 4.x" />
31
+ <meta name="twitter:site" content="@jekyllrb" />
32
+ <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
33
+ <script type="application/ld+json">
34
+ {"description":"A few things have changed in Jekyll 4.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/docs/upgrading/3-to-4/"},"headline":"Upgrading from 3.x to 4.x","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/docs/upgrading/3-to-4/","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/upgrading/3-to-4.md"><i class="fa fa-pencil"></i> &nbsp;Improve this page</a>
290
+ </div>
291
+ <h1>Upgrading from 3.x to 4.x</h1>
292
+ <p>A few things have changed in Jekyll 4.</p>
293
+
294
+ <p>Before we dive in, you need to have at least Ruby 2.4.0
295
+ installed.</p>
296
+
297
+ <p>Run the following in your terminal to check</p>
298
+
299
+ <div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ruby <span class="nt">-v</span>
300
+ ruby 2.6.3p62 <span class="o">(</span>2019-04-16 revision 67580<span class="o">)</span>
301
+ </code></pre></div></div>
302
+
303
+ <p>If you’re using a supported Ruby version &gt; 2.4.0, go ahead
304
+ and fetch the latest version of Jekyll:</p>
305
+
306
+ <div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gem update jekyll
307
+ </code></pre></div></div>
308
+
309
+ <div class="note warning">
310
+ <h5><code>post_url</code> Tag and Baseurl</h5>
311
+ <p>&nbsp;</p>
312
+ <p>
313
+ The <code>post_url</code> tag now incorporates the <code>relative_url</code> filter within itself
314
+ and therefore automatically prepends your site's <code>baseurl</code> to the post's <code>url</code>
315
+ value.
316
+ </p>
317
+ <p>
318
+ Please ensure that you change all instances of the <code>post_url</code> usage as following:
319
+ </p>
320
+
321
+
322
+ <figure class="highlight"><pre><code class="language-diff" data-lang="diff"><span class="gd">- {{ site.baseurl }}/{% post_url 2018-03-20-hello-world.markdown %}
323
+ </span><span class="gi">+ {% post_url 2018-03-20-hello-world.markdown %}</span></code></pre></figure>
324
+
325
+ </div>
326
+
327
+ <h2 id="template-rendering">Template rendering</h2>
328
+
329
+ <p>We’ve slightly altered the way Jekyll parses and renders your various templates
330
+ to improve the overall build times. Jekyll now parses a template once, caches it
331
+ internally and then renders the parsed template multiple times as required by
332
+ your pages and documents.</p>
333
+
334
+ <p>The downside to this is that some of the community-authored plugins may not work
335
+ as they previously used to.</p>
336
+
337
+ <h2 id="for-plugin-authors">For plugin authors</h2>
338
+
339
+ <ul>
340
+ <li>
341
+ <p>If your plugin depends on the following code: <code class="highlighter-rouge">site.liquid_renderer.file(path).parse(content)</code>,
342
+ note that the return value (<code class="highlighter-rouge">template</code>, an instance of <em><code class="highlighter-rouge">Liquid::Template</code></em>), from that line will
343
+ always be the <strong>same object</strong> for a given <code class="highlighter-rouge">path</code>. <br />
344
+ The <em><code class="highlighter-rouge">template</code></em> instance is then rendered as previously, with respect to the <code class="highlighter-rouge">payload</code> passed to it.
345
+ You’ll therefore have to ensure that <em><code class="highlighter-rouge">payload</code></em> is not memoized or cached in your plugin instance.</p>
346
+ </li>
347
+ <li>
348
+ <p>If its a requirement that <code class="highlighter-rouge">template</code> you get from the above step <em>be different</em> at all times,
349
+ you can invoke <em><code class="highlighter-rouge">Liquid::Template</code></em> directly:</p>
350
+
351
+ <div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gd">- template = site.liquid_renderer.file(path).parse(content)
352
+ </span><span class="gi">+ template = Liquid::Template.parse(content)
353
+ </span></code></pre></div> </div>
354
+ </li>
355
+ </ul>
356
+
357
+ <h2 id="exclusion-changes">Exclusion changes</h2>
358
+
359
+ <p>We’ve enhanced our default exclusion array.
360
+ It now looks like the following:</p>
361
+
362
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># default excludes</span>
363
+ <span class="na">exclude</span><span class="pi">:</span>
364
+ <span class="pi">-</span> <span class="s">.sass-cache/</span>
365
+ <span class="pi">-</span> <span class="s">.jekyll-cache/</span>
366
+ <span class="pi">-</span> <span class="s">gemfiles/</span>
367
+ <span class="pi">-</span> <span class="s">Gemfile</span>
368
+ <span class="pi">-</span> <span class="s">Gemfile.lock</span>
369
+ <span class="pi">-</span> <span class="s">node_modules/</span>
370
+ <span class="pi">-</span> <span class="s">vendor/bundle/</span>
371
+ <span class="pi">-</span> <span class="s">vendor/cache/</span>
372
+ <span class="pi">-</span> <span class="s">vendor/gems/</span>
373
+ <span class="pi">-</span> <span class="s">vendor/ruby/</span>
374
+ </code></pre></div></div>
375
+
376
+ <p>What’s new is that this array <strong>does not get overridden by the <code class="highlighter-rouge">exclude</code> array
377
+ in the user’s config file anymore</strong>. The user’s exclude entries simply get
378
+ <strong>added</strong> to the above default array (if the entry isn’t already excluded).</p>
379
+
380
+ <p>To forcibly “process” directories or files that have been excluded, list them
381
+ in the <code class="highlighter-rouge">include</code> array instead:</p>
382
+
383
+ <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># overrides your excluded items configuration and the default include array ([".htaccess"])</span>
384
+ <span class="na">include</span><span class="pi">:</span>
385
+ <span class="pi">-</span> <span class="s">.htaccess</span>
386
+ <span class="pi">-</span> <span class="s">node_modules/uglifier/index.js</span>
387
+ </code></pre></div></div>
388
+
389
+ <p>The above configuration directs Jekyll to handle only
390
+ <code class="highlighter-rouge">node_modules/uglifier/index.js</code> while ignoring every other file in the
391
+ <code class="highlighter-rouge">node_modules</code> directory since that directory is “excluded” by default.</p>
392
+
393
+ <p>Note that the default <code class="highlighter-rouge">include</code> array still gets overridden by the <code class="highlighter-rouge">include</code>
394
+ array in your config file. So, be sure to add <code class="highlighter-rouge">.htaccess</code> to the list if you
395
+ need that file to be present in the generated site.</p>
396
+
397
+ <h2 id="kramdown-v2">Kramdown v2</h2>
398
+
399
+ <p>Jekyll has dropped support for <code class="highlighter-rouge">kramdown-1.x</code> entirely.</p>
400
+
401
+ <p>From <a href="https://kramdown.gettalong.org/news.html#kramdown-200-released"><code class="highlighter-rouge">v2.0</code> onwards</a>
402
+ kramdown requires specific extensions to be additionally installed to use
403
+ certain features are desired outside of kramdown’s core functionality.</p>
404
+
405
+ <p>Out of all the extensions listed in the report linked above, gem
406
+ <code class="highlighter-rouge">kramdown-parser-gfm</code> is automatically installed along with Jekyll 4.0. The
407
+ remaining extensions will have to be manually installed by the user depending on
408
+ desired funtionality, by listing the extension’s gem-name in their <code class="highlighter-rouge">Gemfile</code>.</p>
409
+
410
+ <p>Notes:</p>
411
+ <ul>
412
+ <li>
413
+ <p><code class="highlighter-rouge">kramdown-converter-pdf</code> will be ignored by Jekyll Core. To have Jekyll convert Markdown to PDF
414
+ you’ll have to depend on a plugin that subclasses <code class="highlighter-rouge">Jekyll::Converter</code> with the
415
+ <a href="/docs/plugins/converters/">required methods</a>.</p>
416
+
417
+ <p>For example:</p>
418
+
419
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">module</span> <span class="nn">Jekyll</span>
420
+ <span class="no">External</span><span class="p">.</span><span class="nf">require_with_graceful_fail</span> <span class="s2">"kramdown-converter-pdf"</span>
421
+
422
+ <span class="k">class</span> <span class="nc">Markdown2PDF</span> <span class="o">&lt;</span> <span class="no">Converter</span>
423
+ <span class="n">safe</span> <span class="kp">true</span>
424
+ <span class="n">priority</span> <span class="ss">:low</span>
425
+
426
+ <span class="k">def</span> <span class="nf">matches</span><span class="p">(</span><span class="n">ext</span><span class="p">)</span>
427
+ <span class="c1"># match only files that have an extension exactly ".markdown"</span>
428
+ <span class="n">ext</span> <span class="o">=~</span> <span class="sr">/^\.markdown$/</span>
429
+ <span class="k">end</span>
430
+
431
+ <span class="k">def</span> <span class="nf">convert</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
432
+ <span class="no">Kramdown</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">content</span><span class="p">).</span><span class="nf">to_pdf</span>
433
+ <span class="k">end</span>
434
+
435
+ <span class="k">def</span> <span class="nf">output_ext</span>
436
+ <span class="s2">".pdf"</span>
437
+ <span class="k">end</span>
438
+ <span class="k">end</span>
439
+ <span class="k">end</span>
440
+ </code></pre></div> </div>
441
+ </li>
442
+ <li>
443
+ <p>Vendors that provide a versioned Jekyll Environment Image (e.g. Docker Image, GitHub Pages, etc)
444
+ will have to manually whitelist kramdown’s extension gems in their distributions for Jekyll 4.0.</p>
445
+ </li>
446
+ </ul>
447
+
448
+ <h2 id="deprecated-configuration-options">Deprecated Configuration Options</h2>
449
+
450
+ <p>Jekyll 4.0 has dropped support for all legacy configuration options that were deprecated over multiple
451
+ releases in the previous series.</p>
452
+
453
+ <p>To that end, we shall no longer output a deprecation warning when we encounter a legacy config key nor
454
+ shall we gracefully assign their values to the newer counterparts. Depending on the key, it shall either
455
+ be ignored or raise an <code class="highlighter-rouge">InvalidConfigurationError</code> error if the key is still valid but the associated
456
+ value is not of the valid type.</p>
457
+
458
+ </article>
459
+ </div>
460
+
461
+ <div class="unit one-fifth hide-on-mobiles">
462
+ <aside>
463
+
464
+ <h4>Getting Started</h4>
465
+ <ul>
466
+
467
+
468
+ <li>
469
+ <a href="/docs/">
470
+ Quickstart
471
+ </a>
472
+ </li>
473
+
474
+
475
+ <li>
476
+ <a href="/docs/ruby-101/">
477
+ Ruby 101
478
+ </a>
479
+ </li>
480
+
481
+
482
+ <li>
483
+ <a href="/docs/installation/">
484
+ Installation
485
+ </a>
486
+ </li>
487
+
488
+
489
+ <li>
490
+ <a href="/docs/community/">
491
+ Community
492
+ </a>
493
+ </li>
494
+
495
+
496
+ <li>
497
+ <a href="/docs/step-by-step/01-setup/">
498
+ Step by Step Tutorial
499
+ </a>
500
+ </li>
501
+
502
+ </ul>
503
+
504
+ <h4>Build</h4>
505
+ <ul>
506
+
507
+
508
+ <li>
509
+ <a href="/docs/usage/">
510
+ Command Line Usage
511
+ </a>
512
+ </li>
513
+
514
+
515
+ <li>
516
+ <a href="/docs/configuration/">
517
+ Configuration
518
+ </a>
519
+ </li>
520
+
521
+ </ul>
522
+
523
+ <h4>Content</h4>
524
+ <ul>
525
+
526
+
527
+ <li>
528
+ <a href="/docs/pages/">
529
+ Pages
530
+ </a>
531
+ </li>
532
+
533
+
534
+ <li>
535
+ <a href="/docs/posts/">
536
+ Posts
537
+ </a>
538
+ </li>
539
+
540
+
541
+ <li>
542
+ <a href="/docs/front-matter/">
543
+ Front Matter
544
+ </a>
545
+ </li>
546
+
547
+
548
+ <li>
549
+ <a href="/docs/collections/">
550
+ Collections
551
+ </a>
552
+ </li>
553
+
554
+
555
+ <li>
556
+ <a href="/docs/datafiles/">
557
+ Data Files
558
+ </a>
559
+ </li>
560
+
561
+
562
+ <li>
563
+ <a href="/docs/assets/">
564
+ Assets
565
+ </a>
566
+ </li>
567
+
568
+
569
+ <li>
570
+ <a href="/docs/static-files/">
571
+ Static Files
572
+ </a>
573
+ </li>
574
+
575
+ </ul>
576
+
577
+ <h4>Site Structure</h4>
578
+ <ul>
579
+
580
+
581
+ <li>
582
+ <a href="/docs/structure/">
583
+ Directory Structure
584
+ </a>
585
+ </li>
586
+
587
+
588
+ <li>
589
+ <a href="/docs/liquid/">
590
+ Liquid
591
+ </a>
592
+ </li>
593
+
594
+
595
+ <li>
596
+ <a href="/docs/variables/">
597
+ Variables
598
+ </a>
599
+ </li>
600
+
601
+
602
+ <li>
603
+ <a href="/docs/includes/">
604
+ Includes
605
+ </a>
606
+ </li>
607
+
608
+
609
+ <li>
610
+ <a href="/docs/layouts/">
611
+ Layouts
612
+ </a>
613
+ </li>
614
+
615
+
616
+ <li>
617
+ <a href="/docs/permalinks/">
618
+ Permalinks
619
+ </a>
620
+ </li>
621
+
622
+
623
+ <li>
624
+ <a href="/docs/themes/">
625
+ Themes
626
+ </a>
627
+ </li>
628
+
629
+
630
+ <li>
631
+ <a href="/docs/pagination/">
632
+ Pagination
633
+ </a>
634
+ </li>
635
+
636
+ </ul>
637
+
638
+ <h4>Guides</h4>
639
+ <ul>
640
+
641
+
642
+ <li>
643
+ <a href="/docs/plugins/">
644
+ Plugins
645
+ </a>
646
+ </li>
647
+
648
+
649
+ <li>
650
+ <a href="/docs/migrations/">
651
+ Blog Migrations
652
+ </a>
653
+ </li>
654
+
655
+
656
+ <li>
657
+ <a href="/docs/upgrading/">
658
+ Upgrading
659
+ </a>
660
+ </li>
661
+
662
+
663
+ <li>
664
+ <a href="/docs/deployment/">
665
+ Deployment
666
+ </a>
667
+ </li>
668
+
669
+ </ul>
670
+
671
+ </aside>
672
+ </div>
673
+
674
+
675
+ <div class="clear"></div>
676
+
677
+ </div>
678
+ </section>
679
+
680
+
681
+ <footer>
682
+ <div class="grid">
683
+ <div class="unit one-third center-on-mobiles">
684
+ <p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
685
+ <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>
686
+ </div>
687
+ <div class="unit two-thirds align-right center-on-mobiles">
688
+ <p>
689
+ Proudly hosted by
690
+ <a href="https://github.com">
691
+ <img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
692
+ </a>
693
+ </p>
694
+ </div>
695
+ <div class="unit two-thirds align-right center-on-mobiles">
696
+ <p>
697
+ Jekyll is funded thanks to its
698
+ <a href="https://github.com/jekyll/jekyll#sponsors">
699
+ sponsors!
700
+ </a>
701
+ </p>
702
+ </div>
703
+ </div>
704
+ </footer>
705
+
706
+ <script>
707
+ var anchorForId = function (id) {
708
+ var anchor = document.createElement("a");
709
+ anchor.className = "header-link";
710
+ anchor.href = "#" + id;
711
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
712
+ anchor.title = "Permalink";
713
+ return anchor;
714
+ };
715
+
716
+ var linkifyAnchors = function (level, containingElement) {
717
+ var headers = containingElement.getElementsByTagName("h" + level);
718
+ for (var h = 0; h < headers.length; h++) {
719
+ var header = headers[h];
720
+
721
+ if (typeof header.id !== "undefined" && header.id !== "") {
722
+ header.appendChild(anchorForId(header.id));
723
+ }
724
+ }
725
+ };
726
+
727
+ document.onreadystatechange = function () {
728
+ if (this.readyState === "complete") {
729
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
730
+ if (!contentBlock) {
731
+ return;
732
+ }
733
+ for (var level = 1; level <= 6; level++) {
734
+ linkifyAnchors(level, contentBlock);
735
+ }
736
+ }
737
+ };
738
+ </script>
739
+
740
+
741
+ <!-- Google Analytics (https://www.google.com/analytics) -->
742
+ <script>
743
+ !function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
744
+ (j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
745
+ L=e.getElementsByTagName(k)[0],l.src='https://www.google-analytics.com/analytics.js',
746
+ L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
747
+
748
+ ga('create', 'UA-50755011-1', 'jekyllrb.com');
749
+ ga('send', 'pageview');
750
+
751
+ </script>
752
+
753
+
754
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
755
+ <script type="text/javascript"> docsearch({
756
+ apiKey: '50fe39c839958dfad797000f33e2ec17',
757
+ indexName: 'jekyllrb',
758
+ inputSelector: '#docsearch-input',
759
+ enhancedSearchInput: true,
760
+ debug: false // Set debug to true if you want to inspect the dropdown
761
+ });
762
+ </script>
763
+
764
+ </body>
765
+ </html>