jekyll-docs 3.4.3 → 3.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-docs.rb +1 -1
- data/site/404.html +5 -11
- data/site/community/index.html +9 -15
- data/site/css/screen.css +1 -1468
- data/site/docs/assets/index.html +20 -16
- data/site/docs/collections/index.html +115 -109
- data/site/docs/conduct/index.html +19 -15
- data/site/docs/configuration/index.html +39 -23
- data/site/docs/continuous-integration/buddyworks/index.html +728 -0
- data/site/docs/continuous-integration/circleci/index.html +19 -15
- data/site/docs/continuous-integration/index.html +20 -15
- data/site/docs/continuous-integration/travis-ci/index.html +21 -18
- data/site/docs/contributing/index.html +20 -16
- data/site/docs/datafiles/index.html +23 -15
- data/site/docs/deployment-methods/index.html +24 -20
- data/site/docs/drafts/index.html +19 -15
- data/site/docs/extras/index.html +31 -16
- data/site/docs/frontmatter/index.html +28 -15
- data/site/docs/github-pages/index.html +21 -17
- data/site/docs/history/index.html +521 -315
- data/site/docs/home/index.html +16 -15
- data/site/docs/includes/index.html +21 -17
- data/site/docs/installation/index.html +41 -31
- data/site/docs/maintaining/affinity-team-captain/index.html +19 -15
- data/site/docs/maintaining/avoiding-burnout/index.html +19 -15
- data/site/docs/maintaining/becoming-a-maintainer/index.html +19 -15
- data/site/docs/maintaining/index.html +19 -15
- data/site/docs/maintaining/merging-a-pull-request/index.html +19 -15
- data/site/docs/maintaining/reviewing-a-pull-request/index.html +19 -15
- data/site/docs/maintaining/special-labels/index.html +23 -15
- data/site/docs/maintaining/triaging-an-issue/index.html +20 -16
- data/site/docs/migrations/index.html +19 -15
- data/site/docs/pages/index.html +19 -15
- data/site/docs/pagination/index.html +19 -15
- data/site/docs/permalinks/index.html +19 -15
- data/site/docs/plugins/index.html +36 -23
- data/site/docs/posts/index.html +23 -19
- data/site/docs/quickstart/index.html +18 -17
- data/site/docs/resources/index.html +19 -15
- data/site/docs/sites/index.html +22 -15
- data/site/docs/static-files/index.html +52 -15
- data/site/docs/structure/index.html +19 -15
- data/site/docs/templates/index.html +29 -25
- data/site/docs/themes/index.html +65 -39
- data/site/docs/troubleshooting/index.html +41 -19
- data/site/docs/upgrading/0-to-2/index.html +19 -15
- data/site/docs/upgrading/2-to-3/index.html +20 -16
- data/site/docs/upgrading/index.html +22 -15
- data/site/docs/usage/index.html +20 -16
- data/site/docs/variables/index.html +19 -15
- data/site/docs/windows/index.html +135 -136
- data/site/feed.xml +228 -180
- data/site/help/index.html +11 -13
- data/site/img/jekylllayoutconcept.png +0 -0
- data/site/index.html +7 -14
- data/site/latest_version.txt +1 -1
- data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +33 -19
- data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +33 -19
- data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +33 -19
- data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +33 -19
- data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +33 -19
- data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +33 -19
- data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +33 -19
- data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +33 -19
- data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +33 -19
- data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +33 -19
- data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +33 -19
- data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +33 -19
- data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +33 -19
- data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +33 -19
- data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +33 -19
- data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +33 -19
- data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +33 -19
- data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +33 -19
- data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +33 -19
- data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +33 -19
- data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +33 -19
- data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +35 -21
- data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +33 -19
- data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +33 -19
- data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +33 -19
- data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +33 -19
- data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +33 -19
- data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +33 -19
- data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +33 -19
- data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +33 -19
- data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +33 -19
- data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +33 -19
- data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +33 -19
- data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +33 -19
- data/site/news/2015/02/26/introducing-jekyll-talk/index.html +33 -19
- data/site/news/2015/10/26/jekyll-3-0-released/index.html +33 -19
- data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +33 -19
- data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +33 -19
- data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +33 -19
- data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +33 -19
- data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +33 -19
- data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +33 -19
- data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +33 -19
- data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +33 -19
- data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +33 -19
- data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +33 -19
- data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +33 -19
- data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +33 -19
- data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +33 -19
- data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +33 -19
- data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +35 -21
- data/site/news/2016/08/02/jekyll-3-2-1-released/index.html +34 -20
- data/site/news/2016/08/24/jekyll-admin-initial-release/index.html +33 -19
- data/site/news/2016/10/06/jekyll-3-3-is-here/index.html +35 -21
- data/site/news/2016/11/14/jekyll-3-3-1-released/index.html +34 -20
- data/site/news/2017/01/18/jekyll-3-4-0-released/index.html +36 -22
- data/site/news/2017/03/02/jekyll-3-4-1-released/index.html +651 -0
- data/site/news/2017/03/09/jekyll-3-4-2-released/index.html +592 -0
- data/site/news/2017/03/21/jekyll-3-4-3-released/index.html +588 -0
- data/site/news/2017/06/15/jekyll-3-5-0-released/index.html +581 -0
- data/site/news/2017/07/17/jekyll-3-5-1-released/index.html +561 -0
- data/site/news/index.html +405 -22
- data/site/news/releases/index.html +405 -22
- data/site/philosophy.html +46 -0
- data/site/sitemap.xml +95 -48
- data/site/tutorials/convert-site-to-jekyll/index.html +851 -0
- data/site/tutorials/custom-404-page/index.html +366 -0
- data/site/tutorials/home/index.html +323 -0
- data/site/tutorials/index.html +10 -0
- data/site/tutorials/navigation/index.html +908 -0
- data/site/tutorials/orderofinterpretation/index.html +459 -0
- metadata +20 -7
- data/site/feed.xslt.xml +0 -4
@@ -4,15 +4,17 @@
|
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
5
|
<meta charset="UTF-8">
|
6
6
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
7
|
-
<meta name="generator" content="Jekyll v3.
|
7
|
+
<meta name="generator" content="Jekyll v3.5.1">
|
8
8
|
<link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites">
|
9
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
10
|
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
|
11
11
|
<link rel="stylesheet" href="/css/screen.css">
|
12
12
|
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
13
|
-
<!-- Begin Jekyll SEO tag v2.
|
14
|
-
<title>Releases
|
13
|
+
<!-- Begin Jekyll SEO tag v2.2.3 -->
|
14
|
+
<title>Releases | Jekyll • Simple, blog-aware, static sites</title>
|
15
15
|
<meta property="og:title" content="Releases">
|
16
|
+
<meta name="author" content="all">
|
17
|
+
<meta property="og:locale" content="en_US">
|
16
18
|
<meta name="description" content="Transform your plain text into static websites and blogs">
|
17
19
|
<meta property="og:description" content="Transform your plain text into static websites and blogs">
|
18
20
|
<link rel="canonical" href="https://jekyllrb.com/news/releases/">
|
@@ -23,14 +25,7 @@
|
|
23
25
|
<meta name="twitter:creator" content="@all">
|
24
26
|
<meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY">
|
25
27
|
<script type="application/ld+json">
|
26
|
-
{"@context":
|
27
|
-
"@type": "WebPage",
|
28
|
-
"headline": "Releases",
|
29
|
-
"description": "Transform your plain text into static websites and blogs",
|
30
|
-
"publisher": {"@type": "Organization",
|
31
|
-
"logo": {"@type": "ImageObject",
|
32
|
-
"url": "https://jekyllrb.com/img/logo-2x.png"}},
|
33
|
-
"url": "https://jekyllrb.com/news/releases/"}</script>
|
28
|
+
{"@context":"http://schema.org","@type":"WebPage","headline":"Releases","author":{"@type":"Person","name":"all"},"description":"Transform your plain text into static websites and blogs","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://jekyllrb.com/img/logo-2x.png"},"name":"all"},"url":"https://jekyllrb.com/news/releases/"}</script>
|
34
29
|
<!-- End Jekyll SEO tag -->
|
35
30
|
|
36
31
|
<!--[if lt IE 9]>
|
@@ -60,7 +55,7 @@
|
|
60
55
|
<a href="/help/">Help</a>
|
61
56
|
</li>
|
62
57
|
<li>
|
63
|
-
<a href="https://github.com/jekyll/jekyll"
|
58
|
+
<a href="https://github.com/jekyll/jekyll">GitHub</a>
|
64
59
|
</li>
|
65
60
|
</ul>
|
66
61
|
|
@@ -92,7 +87,7 @@
|
|
92
87
|
<a href="/help/">Help</a>
|
93
88
|
</li>
|
94
89
|
<li>
|
95
|
-
<a href="https://github.com/jekyll/jekyll"
|
90
|
+
<a href="https://github.com/jekyll/jekyll">GitHub</a>
|
96
91
|
</li>
|
97
92
|
</ul>
|
98
93
|
|
@@ -110,6 +105,16 @@
|
|
110
105
|
<option value="/news/">Home</option>
|
111
106
|
<optgroup label="v1.x">
|
112
107
|
|
108
|
+
<option value="/news/2017/07/17/jekyll-3-5-1-released/">Jekyll 3.5.1 Released</option>
|
109
|
+
|
110
|
+
<option value="/news/2017/06/15/jekyll-3-5-0-released/">Jekyll turns 3.5, oh my!</option>
|
111
|
+
|
112
|
+
<option value="/news/2017/03/21/jekyll-3-4-3-released/">Jekyll 3.4.3 Released</option>
|
113
|
+
|
114
|
+
<option value="/news/2017/03/09/jekyll-3-4-2-released/">Jekyll 3.4.2 Released</option>
|
115
|
+
|
116
|
+
<option value="/news/2017/03/02/jekyll-3-4-1-released/">Jekyll 3.4.1, or "Unintended Consequences"</option>
|
117
|
+
|
113
118
|
<option value="/news/2017/01/18/jekyll-3-4-0-released/">Jekyll turns 3.4.0</option>
|
114
119
|
|
115
120
|
<option value="/news/2016/11/14/jekyll-3-3-1-released/">Jekyll 3.3.1 Released</option>
|
@@ -229,6 +234,374 @@
|
|
229
234
|
|
230
235
|
<div class="unit four-fifths">
|
231
236
|
|
237
|
+
<article>
|
238
|
+
<h2>
|
239
|
+
<a href="/news/2017/07/17/jekyll-3-5-1-released/">
|
240
|
+
Jekyll 3.5.1 Released
|
241
|
+
</a>
|
242
|
+
</h2>
|
243
|
+
<span class="post-category">
|
244
|
+
<span class="label">
|
245
|
+
release
|
246
|
+
</span>
|
247
|
+
</span>
|
248
|
+
<div class="post-meta">
|
249
|
+
<span class="post-date">
|
250
|
+
17 Jul 2017
|
251
|
+
</span>
|
252
|
+
<a href="https://github.com/parkr" class="post-author">
|
253
|
+
|
254
|
+
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/parkr?v=3&s=24" alt="parkr" srcset="https://avatars3.githubusercontent.com/parkr?v=3&s=24 1x, https://avatars3.githubusercontent.com/parkr?v=3&s=48 2x, https://avatars3.githubusercontent.com/parkr?v=3&s=72 3x, https://avatars3.githubusercontent.com/parkr?v=3&s=96 4x" width="24" height="24" data-proofer-ignore="true">
|
255
|
+
parkr
|
256
|
+
</a>
|
257
|
+
</div>
|
258
|
+
<div class="post-content">
|
259
|
+
<p>We’ve released a few bugfixes in the form of v3.5.1 today:</p>
|
260
|
+
|
261
|
+
<ul>
|
262
|
+
<li>Some plugins stopped functioning properly due to a NoMethodError for <code class="highlighter-rouge">registers</code> on NilClass. That’s been fixed.</li>
|
263
|
+
<li>A bug in <code class="highlighter-rouge">relative_url</code> when <code class="highlighter-rouge">baseurl</code> is <code class="highlighter-rouge">nil</code> caused URL’s to come out wrong. Squashed.</li>
|
264
|
+
<li>Static files’ liquid representations should now have all the keys you were expecting when serialized into JSON.</li>
|
265
|
+
</ul>
|
266
|
+
|
267
|
+
<p>We apologize for the breakages! We’re working diligently to improve how we test our plugins with Jekyll core to prevent breakages in the future.</p>
|
268
|
+
|
269
|
+
<p>More details in <a href="/docs/history/#v3-5-1">the history</a>. Many thanks to all the contributors to Jekyll v3.5.1: Adam Voss, ashmaroli, Ben Balter, Coby Chapple, Doug Beney, Fadhil, Florian Thomas, Frank Taillandier, James, jaybe, Joshua Byrd, Kevin Plattret, & Robert Jäschke.</p>
|
270
|
+
|
271
|
+
<p>Happy Jekylling!</p>
|
272
|
+
|
273
|
+
</div>
|
274
|
+
</article>
|
275
|
+
|
276
|
+
|
277
|
+
<article>
|
278
|
+
<h2>
|
279
|
+
<a href="/news/2017/06/15/jekyll-3-5-0-released/">
|
280
|
+
Jekyll turns 3.5, oh my!
|
281
|
+
</a>
|
282
|
+
</h2>
|
283
|
+
<span class="post-category">
|
284
|
+
<span class="label">
|
285
|
+
release
|
286
|
+
</span>
|
287
|
+
</span>
|
288
|
+
<div class="post-meta">
|
289
|
+
<span class="post-date">
|
290
|
+
15 Jun 2017
|
291
|
+
</span>
|
292
|
+
<a href="https://github.com/parkr" class="post-author">
|
293
|
+
|
294
|
+
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/parkr?v=3&s=24" alt="parkr" srcset="https://avatars3.githubusercontent.com/parkr?v=3&s=24 1x, https://avatars3.githubusercontent.com/parkr?v=3&s=48 2x, https://avatars3.githubusercontent.com/parkr?v=3&s=72 3x, https://avatars3.githubusercontent.com/parkr?v=3&s=96 4x" width="24" height="24" data-proofer-ignore="true">
|
295
|
+
parkr
|
296
|
+
</a>
|
297
|
+
</div>
|
298
|
+
<div class="post-content">
|
299
|
+
<p>Good news! Nearly 400 commits later, Jekyll 3.5.0 has been released into
|
300
|
+
the wild. Some new shiny things you might want to test out:</p>
|
301
|
+
|
302
|
+
<ul>
|
303
|
+
<li>Jekyll now uses Liquid 4, the latest! It comes with whitespace control, new filters <code class="highlighter-rouge">concat</code> annd <code class="highlighter-rouge">compact</code>, loop performance improvements and <a href="https://github.com/Shopify/liquid/blob/master/History.md#400--2016-12-14--branch-4-0-stable">many fixes</a>
|
304
|
+
</li>
|
305
|
+
<li>Themes can specify runtime dependencies (in their gemspecs) and we’ll require those. This makes it easier for theme writers to use plugins.</li>
|
306
|
+
<li>Speaking of themes, we’ll properly handle the discrepancy between a convertible file in the local site and a static file in the theme. Overriding a file locally now doesn’t matter if it’s convertible or static.</li>
|
307
|
+
<li>Pages, posts, and other documents can now access layout variables via <code class="highlighter-rouge"><span class="p">{</span><span class="err">{</span><span class="w"> </span><span class="err">layout</span><span class="w"> </span><span class="p">}</span><span class="err">}</span></code>.</li>
|
308
|
+
<li>The <code class="highlighter-rouge">gems</code> key in the <code class="highlighter-rouge">_config.yml</code> is now <code class="highlighter-rouge">plugins</code>. This is backwards-compatible, as Jekyll will gracefully upgrade <code class="highlighter-rouge">gems</code> to <code class="highlighter-rouge">plugins</code> if you use the former.</li>
|
309
|
+
<li>Filters like <code class="highlighter-rouge">sort</code> now allow you to sort based on a subvalue, e.g. <code class="highlighter-rouge"><span class="p">{</span><span class="err">%</span><span class="w"> </span><span class="err">assign</span><span class="w"> </span><span class="err">sorted</span><span class="w"> </span><span class="err">=</span><span class="w"> </span><span class="err">site.posts</span><span class="w"> </span><span class="err">|</span><span class="w"> </span><span class="err">sort:</span><span class="w"> </span><span class="nt">"image.alt_text"</span><span class="w"> </span><span class="err">%}</span></code>.</li>
|
310
|
+
<li>You can now create tab-separated data files.</li>
|
311
|
+
<li>Using <code class="highlighter-rouge">layout: none</code> will now produce a file with no layout. Equivalent to <code class="highlighter-rouge">layout: null</code>, with the exception that <code class="highlighter-rouge">none</code> is a truthy value and won’t be overwritten by front matter defaults.</li>
|
312
|
+
<li>No more pesky errors if your URL contains a colon (sorry about those!)</li>
|
313
|
+
<li>We now automatically exclude the <code class="highlighter-rouge">Gemfile</code> from the site manifest when compiling your site. No more <code class="highlighter-rouge">_site/Gemfile</code>!</li>
|
314
|
+
<li>We fixed a bug where abbreviated post dates were ignored, e.g. <code class="highlighter-rouge">_posts/2016-4-4-april-fourth.md</code>.</li>
|
315
|
+
</ul>
|
316
|
+
|
317
|
+
<p>And <a href="/docs/history/">so much more!</a></p>
|
318
|
+
|
319
|
+
<p>There was a huge amount of effort put into this release by our maintainers,
|
320
|
+
especially <a href="https://github.com/pathawks" class="user-mention">@pathawks</a>, <a href="https://github.com/DirtyF" class="user-mention">@DirtyF</a>, and <a href="https://github.com/pup" class="user-mention">@pup</a>. Huge thanks to them for ushering
|
321
|
+
this release along and keeping the contributions flowing! Jekyll wouldn’t
|
322
|
+
work without the tireless dedication of our team captains & maintainers.
|
323
|
+
Thank you, all!</p>
|
324
|
+
|
325
|
+
<p>A huge thanks as well to our contributors to this release: Adam Hollett, Aleksander Kuś, Alfred Myers, Anatoliy Yastreb, Antonio Argote, Ashton Hellwig, Ashwin Maroli, Ben Balter, BlueberryFoxtrot, Brent Yi, Chris Finazzo, Christoph Päper, Christopher League, Chun Fei Lung, Colin, David Zhang, Eric Leong, Finn Ellis, Florian Thomas, Frank Taillandier, Hendrik Schneider, Henry Kobin, Ivan Storck, Jakub Klímek, Jan Pobořil, Jeff Puckett, Jonathan Hooper, Kaligule, Kevin Funk, Krzysztof Szafranek, Liu Cheng, Lukasz Brodowski, Marc Bruins, Marcelo Canina, Martin Desrumaux, Mer, Nate, Oreonax, Parker Moore, Pat Hawks, Pedro Lamas, Phil Nash, Ricardo N Feliciano, Ricky Han, Roger Sheen, Ryan Lue, Ryan Streur, Shane Neuville, Sven Meyer, Tom Johnson, William Entriken, Yury V. Zaytsev, Zarino Zappia, dyang, jekylltools, sean delaney, zenHeart</p>
|
326
|
+
|
327
|
+
<p>Please file any bugs with detailed replication instructions if you find any
|
328
|
+
bugs. Better yet, submit a patch if you find the bug in the code and know
|
329
|
+
how to fix it! <img class="emoji" title=":heart:" alt=":heart:" src="https://assets-cdn.github.com/images/icons/emoji/unicode/2764.png" height="20" width="20" align="absmiddle"></p>
|
330
|
+
|
331
|
+
<p>Happy Jekylling! <img class="emoji" title=":tada:" alt=":tada:" src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f389.png" height="20" width="20" align="absmiddle"></p>
|
332
|
+
|
333
|
+
</div>
|
334
|
+
</article>
|
335
|
+
|
336
|
+
|
337
|
+
<article>
|
338
|
+
<h2>
|
339
|
+
<a href="/news/2017/03/21/jekyll-3-4-3-released/">
|
340
|
+
Jekyll 3.4.3 Released
|
341
|
+
</a>
|
342
|
+
</h2>
|
343
|
+
<span class="post-category">
|
344
|
+
<span class="label">
|
345
|
+
release
|
346
|
+
</span>
|
347
|
+
</span>
|
348
|
+
<div class="post-meta">
|
349
|
+
<span class="post-date">
|
350
|
+
21 Mar 2017
|
351
|
+
</span>
|
352
|
+
<a href="https://github.com/pathawks" class="post-author">
|
353
|
+
|
354
|
+
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/pathawks?v=3&s=24" alt="pathawks" srcset="https://avatars3.githubusercontent.com/pathawks?v=3&s=24 1x, https://avatars3.githubusercontent.com/pathawks?v=3&s=48 2x, https://avatars3.githubusercontent.com/pathawks?v=3&s=72 3x, https://avatars3.githubusercontent.com/pathawks?v=3&s=96 4x" width="24" height="24" data-proofer-ignore="true">
|
355
|
+
pathawks
|
356
|
+
</a>
|
357
|
+
</div>
|
358
|
+
<div class="post-content">
|
359
|
+
<p>Another one-PR patch update as we continue our quest to destroy all bugs. A
|
360
|
+
fairly technical debriefing follows, but the TLDR is that we have updated the
|
361
|
+
<code class="highlighter-rouge">uri_escape</code> filter to more closely follow the pre-v3.4.0 behavior.</p>
|
362
|
+
|
363
|
+
<p>In <a href="/news/2017/01/18/jekyll-3-4-0-released/">v3.4.0</a>, we
|
364
|
+
moved away from using the deprecated
|
365
|
+
<a href="https://ruby-doc.org/stdlib-2.3.0/libdoc/uri/rdoc/URI/Escape.html#method-i-encode"><code class="highlighter-rouge">URI.escape</code></a>
|
366
|
+
in favor of
|
367
|
+
<a href="http://www.rubydoc.info/gems/addressable/Addressable/URI#encode-class_method"><code class="highlighter-rouge">Addressable::URI.encode</code></a>.
|
368
|
+
This is what powers our <a href="https://jekyllrb.com/docs/templates/"><code class="highlighter-rouge">uri_escape</code>
|
369
|
+
filter</a>.</p>
|
370
|
+
|
371
|
+
<p>While this transition was mostly a smooth one, the two methods are not
|
372
|
+
identical. While <code class="highlighter-rouge">URI.escape</code> was happy to escape any string,
|
373
|
+
<code class="highlighter-rouge">Addressable::URI.encode</code> first turns the string into an <code class="highlighter-rouge">Addressable::URI</code>
|
374
|
+
object, and will then escape each component of that object. In most cases, this
|
375
|
+
difference was insignificant, but there were a few cases where this caused some
|
376
|
+
unintended regressions when encoding colons.</p>
|
377
|
+
|
378
|
+
<p>While <strong>Addressable</strong> can understand that something like <code class="highlighter-rouge">"/example :page"</code> is a
|
379
|
+
relative URI, without the slash it cannot figure out how to turn
|
380
|
+
<code class="highlighter-rouge">"example :page"</code> into an <code class="highlighter-rouge">Addressable::URI</code> object. <code class="highlighter-rouge">URI.escape</code> had no such
|
381
|
+
objection. This lead to the following Liquid code working fine in Jekyll 3.3.x
|
382
|
+
but breaking in 3.4.0:</p>
|
383
|
+
|
384
|
+
<div class="language-liquid highlighter-rouge">
|
385
|
+
<pre class="highlight"><code><span class="p">{{</span><span class="w"> </span><span class="s2">"example :page"</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">uri_escape</span><span class="w"> </span><span class="p">}}</span>
|
386
|
+
</code></pre>
|
387
|
+
</div>
|
388
|
+
|
389
|
+
<p>This was not an intended consequence of switching to <strong>Addressable</strong>.</p>
|
390
|
+
|
391
|
+
<p>Fortunately, the solution was not complicated. <strong>Addressable</strong> has a method
|
392
|
+
<a href="http://www.rubydoc.info/gems/addressable/Addressable/URI#normalize_component-class_method"><code class="highlighter-rouge">Addressable::URI.normalize_component</code></a>
|
393
|
+
which will simply escape the characters in a string, much like <code class="highlighter-rouge">URI.escape</code>.</p>
|
394
|
+
|
395
|
+
<p>Thanks to <a href="https://github.com/cameronmcefee" class="user-mention">@cameronmcefee</a> and <a href="https://github.com/FriesFlorian" class="user-mention">@FriesFlorian</a> for reporting
|
396
|
+
<a href="https://github.com/jekyll/jekyll/issues/5954">this issue</a>.</p>
|
397
|
+
|
398
|
+
<p>Happy Jekylling!</p>
|
399
|
+
|
400
|
+
</div>
|
401
|
+
</article>
|
402
|
+
|
403
|
+
|
404
|
+
<article>
|
405
|
+
<h2>
|
406
|
+
<a href="/news/2017/03/09/jekyll-3-4-2-released/">
|
407
|
+
Jekyll 3.4.2 Released
|
408
|
+
</a>
|
409
|
+
</h2>
|
410
|
+
<span class="post-category">
|
411
|
+
<span class="label">
|
412
|
+
release
|
413
|
+
</span>
|
414
|
+
</span>
|
415
|
+
<div class="post-meta">
|
416
|
+
<span class="post-date">
|
417
|
+
09 Mar 2017
|
418
|
+
</span>
|
419
|
+
<a href="https://github.com/parkr" class="post-author">
|
420
|
+
|
421
|
+
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/parkr?v=3&s=24" alt="parkr" srcset="https://avatars3.githubusercontent.com/parkr?v=3&s=24 1x, https://avatars3.githubusercontent.com/parkr?v=3&s=48 2x, https://avatars3.githubusercontent.com/parkr?v=3&s=72 3x, https://avatars3.githubusercontent.com/parkr?v=3&s=96 4x" width="24" height="24" data-proofer-ignore="true">
|
422
|
+
parkr
|
423
|
+
</a>
|
424
|
+
</div>
|
425
|
+
<div class="post-content">
|
426
|
+
<p>Another one-PR patch update, though without the same <a href="/news/2017/03/02/jekyll-3-4-1-released/">lessons as for the
|
427
|
+
previous release</a>.</p>
|
428
|
+
|
429
|
+
<p>This release includes a beneficial change for a number of plugins:
|
430
|
+
<strong>static files now respect front matter defaults</strong>.</p>
|
431
|
+
|
432
|
+
<p>You might be asking yourself: “why would static files, files that are
|
433
|
+
static files explicitly because they <em>don’t</em> have YAML front matter, want
|
434
|
+
to respect YAML front matter?” That’s a great question. Let me illustrate
|
435
|
+
with an example.</p>
|
436
|
+
|
437
|
+
<p>Let’s look at <code class="highlighter-rouge">jekyll-sitemap</code>. This plugin generates a list of documents,
|
438
|
+
pages, and static files, and some metadata for them in an XML file for a
|
439
|
+
Google/Yahoo/Bing/DuckDuckGo crawler to consume. If you don’t want a given
|
440
|
+
file in this list, you set <code class="highlighter-rouge">sitemap: false</code> in the YAML front matter. But
|
441
|
+
what about static files, which don’t have YAML front matter? Before this
|
442
|
+
release, they could not be excluded because they had no properties in YAML
|
443
|
+
other than <a href="https://github.com/jekyll/jekyll/blob/v3.4.1/lib/jekyll/static_file.rb#L98-L106">the ones we explicitly assigned</a>.
|
444
|
+
So if you had a PDF you didn’t want to be in your sitemap, you couldn’t use
|
445
|
+
<code class="highlighter-rouge">jekyll-sitemap</code>.</p>
|
446
|
+
|
447
|
+
<p>With this release, you can now set <a href="/docs/configuration/#front-matter-defaults">front matter
|
448
|
+
defaults</a> for static files:</p>
|
449
|
+
|
450
|
+
<div class="language-yaml highlighter-rouge">
|
451
|
+
<pre class="highlight"><code><span class="s">defaults</span><span class="pi">:</span>
|
452
|
+
<span class="pi">-</span>
|
453
|
+
<span class="s">scope</span><span class="pi">:</span>
|
454
|
+
<span class="s">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">pdfs/"</span>
|
455
|
+
<span class="s">values</span><span class="pi">:</span>
|
456
|
+
<span class="s">sitemap</span><span class="pi">:</span> <span class="s">false</span>
|
457
|
+
</code></pre>
|
458
|
+
</div>
|
459
|
+
|
460
|
+
<p>Now, for every file in the Liquid <code class="highlighter-rouge">site.static_files</code> loop which is in the
|
461
|
+
folder <code class="highlighter-rouge">pdfs/</code>, you’ll see <code class="highlighter-rouge">sitemap</code> equal to <code class="highlighter-rouge">false</code>.</p>
|
462
|
+
|
463
|
+
<p>Many thanks to <a href="https://github.com/benbalter" class="user-mention">@benbalter</a> for coming up with the solution and ensuring
|
464
|
+
sitemaps everywhere are filled with just the right content.</p>
|
465
|
+
|
466
|
+
<p>As always, if you notice any bugs, please search the issues and file one if
|
467
|
+
you can’t find another related to your issue.</p>
|
468
|
+
|
469
|
+
<p>Happy Jekylling!</p>
|
470
|
+
|
471
|
+
</div>
|
472
|
+
</article>
|
473
|
+
|
474
|
+
|
475
|
+
<article>
|
476
|
+
<h2>
|
477
|
+
<a href="/news/2017/03/02/jekyll-3-4-1-released/">
|
478
|
+
Jekyll 3.4.1, or "Unintended Consequences"
|
479
|
+
</a>
|
480
|
+
</h2>
|
481
|
+
<span class="post-category">
|
482
|
+
<span class="label">
|
483
|
+
release
|
484
|
+
</span>
|
485
|
+
</span>
|
486
|
+
<div class="post-meta">
|
487
|
+
<span class="post-date">
|
488
|
+
02 Mar 2017
|
489
|
+
</span>
|
490
|
+
<a href="https://github.com/parkr" class="post-author">
|
491
|
+
|
492
|
+
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/parkr?v=3&s=24" alt="parkr" srcset="https://avatars3.githubusercontent.com/parkr?v=3&s=24 1x, https://avatars3.githubusercontent.com/parkr?v=3&s=48 2x, https://avatars3.githubusercontent.com/parkr?v=3&s=72 3x, https://avatars3.githubusercontent.com/parkr?v=3&s=96 4x" width="24" height="24" data-proofer-ignore="true">
|
493
|
+
parkr
|
494
|
+
</a>
|
495
|
+
</div>
|
496
|
+
<div class="post-content">
|
497
|
+
<p>Conformity is a confounding thing.</p>
|
498
|
+
|
499
|
+
<p>We write tests to ensure that a piece of functionality that works today
|
500
|
+
will work tomorrow, as further modifications are made to the codebase. This
|
501
|
+
is a principle of modern software development: every change must have a
|
502
|
+
test to guard against regressions to the functionality implemented by that
|
503
|
+
change.</p>
|
504
|
+
|
505
|
+
<p>And yet, occasionally, our very best efforts to test functionality will be
|
506
|
+
thwarted. This is because of how our code produces unintended
|
507
|
+
functionality, which naturally goes untested.</p>
|
508
|
+
|
509
|
+
<p>In our documentation, we tell users to name their posts with the following
|
510
|
+
format:</p>
|
511
|
+
|
512
|
+
<div class="language-text highlighter-rouge">
|
513
|
+
<pre class="highlight"><code>YYYY-MM-DD-title.extension
|
514
|
+
</code></pre>
|
515
|
+
</div>
|
516
|
+
|
517
|
+
<p>That format specifies exactly four numbers for the year, e.g. 2017, two
|
518
|
+
letters for the month, e.g. 03, and two letters for the day, e.g. 02. To
|
519
|
+
match this, we had the following regular expression:</p>
|
520
|
+
|
521
|
+
<div class="language-ruby highlighter-rouge">
|
522
|
+
<pre class="highlight"><code><span class="sr">%r!^(?:.+/)*(</span><span class="se">\d</span><span class="sr">+-</span><span class="se">\d</span><span class="sr">+-</span><span class="se">\d</span><span class="sr">+)-(.*)(</span><span class="se">\.</span><span class="sr">[^.]+)$!</span>
|
523
|
+
</code></pre>
|
524
|
+
</div>
|
525
|
+
|
526
|
+
<p>You might already see the punchline. While our documentation specifies the
|
527
|
+
exact number of numbers that is required for each section of the date, our
|
528
|
+
regular expression does not enforce this precision. What happens if a user
|
529
|
+
doesn’t conform to our documentation?</p>
|
530
|
+
|
531
|
+
<p>We recently <a href="https://github.com/jekyll/jekyll/issues/5603">received a bug report</a>
|
532
|
+
that detailed how the following file was considered a post:</p>
|
533
|
+
|
534
|
+
<div class="language-text highlighter-rouge">
|
535
|
+
<pre class="highlight"><code>84093135-42842323-42000001-b890-136270f7e5f1.md
|
536
|
+
</code></pre>
|
537
|
+
</div>
|
538
|
+
|
539
|
+
<p>Of course! It matches the above regular expression, but doesn’t satisfy
|
540
|
+
other requirements about those numbers being a valid date (unless you’re
|
541
|
+
living in a world that has 43 million months, and 42 million (and one)
|
542
|
+
days). So, we <a href="https://github.com/jekyll/jekyll/pull/5609">modified the regular expression to match our
|
543
|
+
documentation</a>:</p>
|
544
|
+
|
545
|
+
<div class="language-ruby highlighter-rouge">
|
546
|
+
<pre class="highlight"><code><span class="sr">%r!^(?:.+/)*(</span><span class="se">\d</span><span class="sr">{4}-</span><span class="se">\d</span><span class="sr">{2}-</span><span class="se">\d</span><span class="sr">{2})-(.*)(</span><span class="se">\.</span><span class="sr">[^.]+)$!</span>
|
547
|
+
</code></pre>
|
548
|
+
</div>
|
549
|
+
|
550
|
+
<p>Our tests all passed and we were properly excluding this crazy date with 43
|
551
|
+
million months and days. This change shipped in Jekyll v3.4.0 and all was
|
552
|
+
well.</p>
|
553
|
+
|
554
|
+
<p>Well, not so much.</p>
|
555
|
+
|
556
|
+
<p>A very common way to specify the month of February is <code class="highlighter-rouge">2</code>. This is true for
|
557
|
+
all single-digit months and days of the month. Notice anything about our
|
558
|
+
first regular expression versus our second? The second regular expression
|
559
|
+
imposes a <strong>minimum</strong>, as well as maximum, number of digits. This change
|
560
|
+
made Jekyll ignore dates with single-digit days and months.</p>
|
561
|
+
|
562
|
+
<p>The first eight years of Jekyll’s existence had allowed single-digit days
|
563
|
+
and months due to an imprecise regular expression. For some people, their
|
564
|
+
entire blog was missing, and there were no errors that told them why.</p>
|
565
|
+
|
566
|
+
<p>After receiving a few bug reports, it became clear what had happened.
|
567
|
+
Unintended functionality of the last eight years had been broken. Thus,
|
568
|
+
v3.4.0 was broken for a non-negligible number of sites. With a test site
|
569
|
+
in-hand from <a href="https://github.com/andrewbanchich" class="user-mention">@andrewbanchich</a>, I tracked it down to this regular expression
|
570
|
+
and <a href="https://github.com/jekyll/jekyll/pull/5920">reintroduced</a> a proper
|
571
|
+
minimum number of digits for each segment:</p>
|
572
|
+
|
573
|
+
<div class="language-ruby highlighter-rouge">
|
574
|
+
<pre class="highlight"><code><span class="sr">%r!^(?:.+/)*(</span><span class="se">\d</span><span class="sr">{2,4}-</span><span class="se">\d</span><span class="sr">{1,2}-</span><span class="se">\d</span><span class="sr">{1,2})-(.*)(</span><span class="se">\.</span><span class="sr">[^.]+)$!</span>
|
575
|
+
</code></pre>
|
576
|
+
</div>
|
577
|
+
|
578
|
+
<p>And, I wrote a test.</p>
|
579
|
+
|
580
|
+
<p>This change was quickly backported to v3.4.0 and here we are: releasing
|
581
|
+
v3.4.1. It will fix the problem for all users who were using single-digit
|
582
|
+
months and days.</p>
|
583
|
+
|
584
|
+
<p>With this, I encourage all of you to look at your code for <em>unintended</em>
|
585
|
+
functionality and make a judgement call: if it’s allowed, <em>should it be</em>?
|
586
|
+
If it should be allowed, make it <em>intended</em> functionality and test it! I
|
587
|
+
know I’ll be looking at my code with much greater scrutiny going forward,
|
588
|
+
looking for unintended consequences.</p>
|
589
|
+
|
590
|
+
<p>Many thanks to our Jekyll affinity team captains who helped out, including
|
591
|
+
<a href="https://github.com/pathawks" class="user-mention">@pathawks</a>, <a href="https://github.com/pnn" class="user-mention">@pnn</a>, and <a href="https://github.com/DirtyF" class="user-mention">@DirtyF</a>. Thanks, too, to <a href="https://github.com/ashmaroli" class="user-mention">@ashmaroli</a> for reviewing my
|
592
|
+
change with an eye for consistency and precision. This was certainly a team
|
593
|
+
effort.</p>
|
594
|
+
|
595
|
+
<p>We hope Jekyll v3.4.1 brings your variable-digit dates back to their
|
596
|
+
previous glory. We certainly won’t let that unintended functionality be
|
597
|
+
unintended any longer.</p>
|
598
|
+
|
599
|
+
<p>As always, Happy Jekylling!</p>
|
600
|
+
|
601
|
+
</div>
|
602
|
+
</article>
|
603
|
+
|
604
|
+
|
232
605
|
<article>
|
233
606
|
<h2>
|
234
607
|
<a href="/news/2017/01/18/jekyll-3-4-0-released/">
|
@@ -256,8 +629,8 @@ Packed full of bug fixes as usual, thanks to the tireless efforts of our
|
|
256
629
|
exceptional Jekyll community. Three changes to call out:</p>
|
257
630
|
|
258
631
|
<ol>
|
259
|
-
<li>If you’re a big fan of <a href="/docs/filters
|
260
|
-
even bigger fan of <a href="/docs/filters
|
632
|
+
<li>If you’re a big fan of <a href="/docs/templates/#filters"><code class="highlighter-rouge">where_by_exp</code></a>, you’ll be an
|
633
|
+
even bigger fan of <a href="/docs/templates/#filters"><code class="highlighter-rouge">group_by_exp</code></a>.</li>
|
261
634
|
<li>Using a custom timezone in Jekyll on Windows? Yeah, sorry that hasn’t ever worked
|
262
635
|
properly. We made it possible to accurately <a href="https://jekyllrb.com/docs/windows/#timezone-management">set the timezone using IANA
|
263
636
|
timezone codes</a>.</li>
|
@@ -395,7 +768,7 @@ you pass it:</p>
|
|
395
768
|
|
396
769
|
<p>A result of <code class="highlighter-rouge">relative_url</code> will safely always produce a URL which is
|
397
770
|
relative to the domain root. A similar principle applies to <code class="highlighter-rouge">absolute_url</code>.
|
398
|
-
It prepends your <code class="highlighter-rouge">baseurl</code> and <code class="highlighter-rouge">url</code> values, making absolute
|
771
|
+
It prepends your <code class="highlighter-rouge">baseurl</code> and <code class="highlighter-rouge">url</code> values, making absolute URLs all the
|
399
772
|
easier to make:</p>
|
400
773
|
|
401
774
|
<figure class="highlight"><pre><code class="language-liquid" data-lang="liquid"><span class="p">{{</span><span class="w"> </span><span class="s2">"/docs/assets/"</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">absolute_url</span><span class="w"> </span><span class="p">}}</span> => https://jekyllrb.com/myproject/docs/assets</code></pre></figure>
|
@@ -529,7 +902,7 @@ now dogfoods this feature, using the <a href="https://github.com/jekyll/minima">
|
|
529
902
|
<li>Explicit support for Ruby 2.0.x was dropped</li>
|
530
903
|
<li>Added an <code class="highlighter-rouge">:after_init</code> Hook</li>
|
531
904
|
<li>Added a <code class="highlighter-rouge">where_exp</code> filter to provide more powerful filtering</li>
|
532
|
-
<li>Added a <code class="highlighter-rouge">link</code> liquid tag which can be used to generate
|
905
|
+
<li>Added a <code class="highlighter-rouge">link</code> liquid tag which can be used to generate URLs for any
|
533
906
|
post or document based on its path relative to the site source</li>
|
534
907
|
<li>… and lots more!</li>
|
535
908
|
</ul>
|
@@ -2624,23 +2997,23 @@ examples and for compiling this list):</p>
|
|
2624
2997
|
<ul>
|
2625
2998
|
|
2626
2999
|
<li class="">
|
2627
|
-
<a href="/news/2017/
|
3000
|
+
<a href="/news/2017/07/17/jekyll-3-5-1-released/">Version 3.5.1</a>
|
2628
3001
|
</li>
|
2629
3002
|
|
2630
3003
|
<li class="">
|
2631
|
-
<a href="/news/
|
3004
|
+
<a href="/news/2017/06/15/jekyll-3-5-0-released/">Version 3.5.0</a>
|
2632
3005
|
</li>
|
2633
3006
|
|
2634
3007
|
<li class="">
|
2635
|
-
<a href="/news/
|
3008
|
+
<a href="/news/2017/03/21/jekyll-3-4-3-released/">Version 3.4.3</a>
|
2636
3009
|
</li>
|
2637
3010
|
|
2638
3011
|
<li class="">
|
2639
|
-
<a href="/news/
|
3012
|
+
<a href="/news/2017/03/09/jekyll-3-4-2-released/">Version 3.4.2</a>
|
2640
3013
|
</li>
|
2641
3014
|
|
2642
3015
|
<li class="">
|
2643
|
-
<a href="/news/
|
3016
|
+
<a href="/news/2017/03/02/jekyll-3-4-1-released/">Version 3.4.1</a>
|
2644
3017
|
</li>
|
2645
3018
|
|
2646
3019
|
<li>
|
@@ -2657,6 +3030,16 @@ examples and for compiling this list):</p>
|
|
2657
3030
|
|
2658
3031
|
|
2659
3032
|
|
3033
|
+
|
3034
|
+
|
3035
|
+
|
3036
|
+
|
3037
|
+
|
3038
|
+
|
3039
|
+
|
3040
|
+
|
3041
|
+
|
3042
|
+
|
2660
3043
|
<li class="">
|
2661
3044
|
<a href="/news/2016/08/24/jekyll-admin-initial-release/">Jekyll Admin Initial Release</a>
|
2662
3045
|
</li>
|