jekyll-docs 3.9.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/jekyll-docs.rb +3 -3
- data/site/404.html +10 -7
- data/site/css/screen.css +3 -1
- data/site/css/screen.css.map +28 -0
- data/site/docs/assets/index.html +412 -453
- data/site/docs/code_of_conduct/index.html +447 -501
- data/site/docs/collections/index.html +487 -674
- data/site/docs/community/bug/index.html +603 -0
- data/site/docs/community/index.html +635 -0
- data/site/docs/conduct/index.html +447 -515
- data/site/docs/configuration/default/index.html +682 -0
- data/site/docs/configuration/environments/index.html +641 -0
- data/site/docs/configuration/front-matter-defaults/index.html +738 -0
- data/site/docs/configuration/incremental-regeneration/index.html +631 -0
- data/site/docs/configuration/index.html +405 -1230
- data/site/docs/configuration/liquid/index.html +616 -0
- data/site/docs/configuration/markdown/index.html +766 -0
- data/site/docs/configuration/options/index.html +1011 -0
- data/site/docs/configuration/webrick/index.html +615 -0
- data/site/docs/continuous-integration/buddyworks/index.html +393 -479
- data/site/docs/continuous-integration/circleci/index.html +465 -481
- data/site/docs/continuous-integration/travis-ci/index.html +450 -507
- data/site/docs/contributing/index.html +425 -514
- data/site/docs/datafiles/index.html +411 -453
- data/site/docs/deployment-methods/index.html +9 -871
- data/site/docs/deployment/automated/index.html +663 -0
- data/site/docs/deployment/index.html +607 -0
- data/site/docs/deployment/manual/index.html +631 -0
- data/site/docs/deployment/third-party/index.html +639 -0
- data/site/docs/drafts/index.html +9 -634
- data/site/docs/extras/index.html +9 -687
- data/site/docs/front-matter/index.html +799 -0
- data/site/docs/frontmatter/index.html +9 -819
- data/site/docs/github-pages/index.html +407 -475
- data/site/docs/history/index.html +1370 -1154
- data/site/docs/home/index.html +9 -627
- data/site/docs/includes/index.html +425 -501
- data/site/docs/index.html +630 -9
- data/site/docs/installation/index.html +403 -540
- data/site/docs/installation/macos/index.html +716 -0
- data/site/docs/installation/other-linux/index.html +613 -0
- data/site/docs/installation/ubuntu/index.html +623 -0
- data/site/docs/installation/windows/index.html +733 -0
- data/site/docs/layouts/index.html +726 -0
- data/site/docs/liquid/filters/index.html +1169 -0
- data/site/docs/liquid/index.html +615 -0
- data/site/docs/liquid/tags/index.html +728 -0
- data/site/docs/maintaining/affinity-team-captain/index.html +395 -479
- data/site/docs/maintaining/avoiding-burnout/index.html +391 -475
- data/site/docs/maintaining/becoming-a-maintainer/index.html +391 -475
- data/site/docs/maintaining/index.html +391 -486
- data/site/docs/maintaining/merging-a-pull-request/index.html +406 -490
- data/site/docs/maintaining/releasing-a-new-version/index.html +409 -485
- data/site/docs/maintaining/reviewing-a-pull-request/index.html +392 -476
- data/site/docs/maintaining/special-labels/index.html +397 -481
- data/site/docs/maintaining/triaging-an-issue/index.html +394 -478
- data/site/docs/markdown-101/index.html +601 -0
- data/site/docs/migrations/index.html +396 -440
- data/site/docs/pages/index.html +408 -482
- data/site/docs/pagination/index.html +450 -509
- data/site/docs/permalinks/index.html +552 -587
- data/site/docs/plugins/commands/index.html +656 -0
- data/site/docs/plugins/converters/index.html +685 -0
- data/site/docs/plugins/filters/index.html +624 -0
- data/site/docs/plugins/generators/index.html +697 -0
- data/site/docs/plugins/hooks/index.html +838 -0
- data/site/docs/plugins/index.html +415 -1565
- data/site/docs/plugins/installation/index.html +681 -0
- data/site/docs/plugins/tags/index.html +699 -0
- data/site/docs/plugins/your-first-plugin/index.html +741 -0
- data/site/docs/posts/index.html +491 -627
- data/site/docs/quickstart/index.html +9 -645
- data/site/docs/resources/index.html +9 -761
- data/site/docs/ruby-101/index.html +640 -0
- data/site/docs/sites/index.html +9 -696
- data/site/docs/static-files/index.html +401 -433
- data/site/docs/step-by-step/01-setup/index.html +771 -0
- data/site/docs/step-by-step/02-liquid/index.html +756 -0
- data/site/docs/step-by-step/03-front-matter/index.html +730 -0
- data/site/docs/step-by-step/04-layouts/index.html +770 -0
- data/site/docs/step-by-step/05-includes/index.html +768 -0
- data/site/docs/step-by-step/06-data-files/index.html +738 -0
- data/site/docs/step-by-step/07-assets/index.html +773 -0
- data/site/docs/step-by-step/08-blogging/index.html +835 -0
- data/site/docs/step-by-step/09-collections/index.html +932 -0
- data/site/docs/step-by-step/10-deployment/index.html +842 -0
- data/site/docs/structure/index.html +411 -430
- data/site/docs/support/index.html +392 -476
- data/site/docs/templates/index.html +9 -1232
- data/site/docs/themes/index.html +487 -521
- data/site/docs/troubleshooting/index.html +443 -520
- data/site/docs/upgrading/0-to-2/index.html +437 -523
- data/site/docs/upgrading/2-to-3/index.html +422 -507
- data/site/docs/upgrading/3-to-4/index.html +765 -0
- data/site/docs/upgrading/index.html +395 -478
- data/site/docs/usage/index.html +409 -506
- data/site/docs/variables/index.html +504 -652
- data/site/docs/windows/index.html +9 -784
- data/site/feed.xml +269 -188
- data/site/feed/release.xml +324 -0
- data/site/fonts/lato-v14-latin-300.woff +0 -0
- data/site/fonts/lato-v14-latin-300.woff2 +0 -0
- data/site/fonts/lato-v14-latin-300italic.woff +0 -0
- data/site/fonts/lato-v14-latin-300italic.woff2 +0 -0
- data/site/fonts/lato-v14-latin-700.woff +0 -0
- data/site/fonts/lato-v14-latin-700.woff2 +0 -0
- data/site/fonts/lato-v14-latin-700italic.woff +0 -0
- data/site/fonts/lato-v14-latin-700italic.woff2 +0 -0
- data/site/fonts/lato-v14-latin-900.woff +0 -0
- data/site/fonts/lato-v14-latin-900.woff2 +0 -0
- data/site/fonts/lato-v14-latin-900italic.woff +0 -0
- data/site/fonts/lato-v14-latin-900italic.woff2 +0 -0
- data/site/fonts/lato-v14-latin-italic.woff +0 -0
- data/site/fonts/lato-v14-latin-italic.woff2 +0 -0
- data/site/fonts/lato-v14-latin-regular.woff +0 -0
- data/site/fonts/lato-v14-latin-regular.woff2 +0 -0
- data/site/help/index.html +9 -247
- data/site/img/forestry-logo.svg +19 -0
- data/site/img/jekyll-og.png +0 -0
- data/site/img/spacer.gif +0 -0
- data/site/index.html +56 -29
- data/site/jekyllconf/index.html +62 -35
- data/site/latest_version.txt +1 -1
- data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +180 -115
- data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +182 -117
- data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +183 -118
- data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +184 -119
- data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +183 -118
- data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +180 -115
- data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +182 -117
- data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +182 -117
- data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +185 -120
- data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +183 -118
- data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +180 -115
- data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +189 -124
- data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +181 -116
- data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +181 -116
- data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +180 -115
- data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +182 -117
- data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +181 -116
- data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +181 -116
- data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +181 -116
- data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +184 -119
- data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +180 -115
- data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +181 -116
- data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +185 -120
- data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +182 -117
- data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +181 -116
- data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +189 -124
- data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +187 -122
- data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +188 -123
- data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +180 -115
- data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +182 -117
- data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +179 -114
- data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +180 -115
- data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +179 -114
- data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +180 -115
- data/site/news/2015/02/26/introducing-jekyll-talk/index.html +180 -115
- data/site/news/2015/10/26/jekyll-3-0-released/index.html +185 -120
- data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +184 -119
- data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +182 -117
- data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +186 -121
- data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +183 -118
- data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +181 -116
- data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +182 -117
- data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +179 -114
- data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +181 -116
- data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +181 -116
- data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +180 -115
- data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +186 -121
- data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +181 -116
- data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +181 -116
- data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +179 -114
- data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +184 -119
- data/site/news/2016/08/02/jekyll-3-2-1-released/index.html +180 -115
- data/site/news/2016/08/24/jekyll-admin-initial-release/index.html +179 -114
- data/site/news/2016/10/06/jekyll-3-3-is-here/index.html +207 -142
- data/site/news/2016/11/14/jekyll-3-3-1-released/index.html +181 -116
- data/site/news/2017/01/18/jekyll-3-4-0-released/index.html +183 -118
- data/site/news/2017/03/02/jekyll-3-4-1-released/index.html +181 -116
- data/site/news/2017/03/09/jekyll-3-4-2-released/index.html +189 -124
- data/site/news/2017/03/21/jekyll-3-4-3-released/index.html +190 -125
- data/site/news/2017/06/15/jekyll-3-5-0-released/index.html +187 -122
- data/site/news/2017/07/17/jekyll-3-5-1-released/index.html +182 -117
- data/site/news/2017/08/12/jekyll-3-5-2-released/index.html +185 -120
- data/site/news/2017/09/21/jekyll-3-6-0-released/index.html +181 -116
- data/site/news/2017/10/19/diversity-open-source/index.html +181 -116
- data/site/news/2017/10/21/jekyll-3-6-2-released/index.html +183 -118
- data/site/news/2018/01/02/jekyll-3-7-0-released/index.html +184 -119
- data/site/news/2018/01/25/jekyll-3-7-2-released/index.html +189 -124
- data/site/news/2018/02/19/meet-jekyll-s-new-lead-developer/index.html +180 -115
- data/site/news/2018/02/24/jekyll-3-7-3-released/index.html +185 -120
- data/site/news/2018/04/19/development-update/index.html +699 -0
- data/site/news/2018/04/19/jekyll-3-8-0-released/index.html +715 -0
- data/site/news/2018/05/01/jekyll-3-8-1-released/index.html +182 -117
- data/site/news/2018/05/19/jekyll-3-8-2-released/index.html +181 -116
- data/site/news/2018/06/05/jekyll-3-8-3-released/index.html +183 -118
- data/site/news/2018/08/01/jekyll-sponsoring/index.html +748 -0
- data/site/news/2018/09/19/security-fixes-for-3-6-3-7-3-8/index.html +692 -0
- data/site/news/2018/11/04/jekyll-3-8-5-released/index.html +682 -0
- data/site/news/2019/03/18/jekyll-4-0-0-pre-alpha1-released/index.html +710 -0
- data/site/news/2019/07/02/jekyll-3-8-6-released/index.html +180 -115
- data/site/news/2019/07/20/jekyll-4-0-0-pre-beta1-released/index.html +11 -0
- data/site/news/2019/08/04/jekyll-4-0-0-pre-beta1-released/index.html +708 -0
- data/site/news/2019/08/20/jekyll-4-0-0-released/index.html +809 -0
- data/site/news/index.html +976 -326
- data/site/news/releases/index.html +820 -321
- data/site/{philosophy.html → philosophy/index.html} +1 -1
- data/site/redirects.json +1 -1
- data/site/resources/index.html +332 -0
- data/site/showcase/index.html +844 -0
- data/site/sitemap.xml +256 -81
- data/site/team/index.html +63 -77
- data/site/tutorials/cache-api/index.html +418 -0
- data/site/tutorials/convert-site-to-jekyll/index.html +155 -124
- data/site/tutorials/custom-404-page/index.html +76 -43
- data/site/tutorials/home/index.html +64 -37
- data/site/tutorials/navigation/index.html +186 -103
- data/site/tutorials/orderofinterpretation/index.html +80 -53
- data/site/tutorials/using-jekyll-with-bundler/index.html +80 -51
- data/site/tutorials/video-walkthroughs/index.html +62 -35
- metadata +102 -13
- data/site/community/index.html +0 -11
- data/site/docs/continuous-integration/index.html +0 -681
@@ -0,0 +1,697 @@
|
|
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>Generators | Jekyll • Simple, blog-aware, static sites</title>
|
17
|
+
<meta name="generator" content="Jekyll v4.0.0" />
|
18
|
+
<meta property="og:title" content="Generators" />
|
19
|
+
<meta property="og:locale" content="en_US" />
|
20
|
+
<meta name="description" content="You can create a generator when you need Jekyll to create additional content based on your own rules." />
|
21
|
+
<meta property="og:description" content="You can create a generator when you need Jekyll to create additional content based on your own rules." />
|
22
|
+
<link rel="canonical" href="https://jekyllrb.com/docs/plugins/generators/" />
|
23
|
+
<meta property="og:url" content="https://jekyllrb.com/docs/plugins/generators/" />
|
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="Generators" />
|
31
|
+
<meta name="twitter:site" content="@jekyllrb" />
|
32
|
+
<meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
|
33
|
+
<script type="application/ld+json">
|
34
|
+
{"description":"You can create a generator when you need Jekyll to create additional content based on your own rules.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/docs/plugins/generators/"},"headline":"Generators","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/docs/plugins/generators/","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/generators.md"><i class="fa fa-pencil"></i> Improve this page</a>
|
290
|
+
</div>
|
291
|
+
<h1>Generators</h1>
|
292
|
+
<p>You can create a generator when you need Jekyll to create additional content
|
293
|
+
based on your own rules.</p>
|
294
|
+
|
295
|
+
<p>A generator is a subclass of <code class="highlighter-rouge">Jekyll::Generator</code> that defines a <code class="highlighter-rouge">generate</code>
|
296
|
+
method, which receives an instance of
|
297
|
+
<a href="https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site.rb"><code class="highlighter-rouge">Jekyll::Site</code></a>. The
|
298
|
+
return value of <code class="highlighter-rouge">generate</code> is ignored.</p>
|
299
|
+
|
300
|
+
<p>Generators run after Jekyll has made an inventory of the existing content, and
|
301
|
+
before the site is generated. Pages with front matter are stored as
|
302
|
+
instances of
|
303
|
+
<a href="https://github.com/jekyll/jekyll/blob/master/lib/jekyll/page.rb"><code class="highlighter-rouge">Jekyll::Page</code></a>
|
304
|
+
and are available via <code class="highlighter-rouge">site.pages</code>. Static files become instances of
|
305
|
+
<a href="https://github.com/jekyll/jekyll/blob/master/lib/jekyll/static_file.rb"><code class="highlighter-rouge">Jekyll::StaticFile</code></a>
|
306
|
+
and are available via <code class="highlighter-rouge">site.static_files</code>. See
|
307
|
+
<a href="/docs/variables/">the Variables documentation page</a> and
|
308
|
+
<a href="https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site.rb"><code class="highlighter-rouge">Jekyll::Site</code></a>
|
309
|
+
for more details.</p>
|
310
|
+
|
311
|
+
<p>For instance, a generator can inject values computed at build time for template
|
312
|
+
variables. In the following example the template <code class="highlighter-rouge">reading.html</code> has two
|
313
|
+
variables <code class="highlighter-rouge">ongoing</code> and <code class="highlighter-rouge">done</code> that we fill in the generator:</p>
|
314
|
+
|
315
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">module</span> <span class="nn">Reading</span>
|
316
|
+
<span class="k">class</span> <span class="nc">Generator</span> <span class="o"><</span> <span class="no">Jekyll</span><span class="o">::</span><span class="no">Generator</span>
|
317
|
+
<span class="k">def</span> <span class="nf">generate</span><span class="p">(</span><span class="n">site</span><span class="p">)</span>
|
318
|
+
<span class="n">ongoing</span><span class="p">,</span> <span class="n">done</span> <span class="o">=</span> <span class="no">Book</span><span class="p">.</span><span class="nf">all</span><span class="p">.</span><span class="nf">partition</span><span class="p">(</span><span class="o">&</span><span class="ss">:ongoing?</span><span class="p">)</span>
|
319
|
+
|
320
|
+
<span class="n">reading</span> <span class="o">=</span> <span class="n">site</span><span class="p">.</span><span class="nf">pages</span><span class="p">.</span><span class="nf">detect</span> <span class="p">{</span><span class="o">|</span><span class="n">page</span><span class="o">|</span> <span class="n">page</span><span class="p">.</span><span class="nf">name</span> <span class="o">==</span> <span class="s1">'reading.html'</span><span class="p">}</span>
|
321
|
+
<span class="n">reading</span><span class="p">.</span><span class="nf">data</span><span class="p">[</span><span class="s1">'ongoing'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ongoing</span>
|
322
|
+
<span class="n">reading</span><span class="p">.</span><span class="nf">data</span><span class="p">[</span><span class="s1">'done'</span><span class="p">]</span> <span class="o">=</span> <span class="n">done</span>
|
323
|
+
<span class="k">end</span>
|
324
|
+
<span class="k">end</span>
|
325
|
+
<span class="k">end</span>
|
326
|
+
</code></pre></div></div>
|
327
|
+
|
328
|
+
<p>This is a more complex generator that generates new pages:</p>
|
329
|
+
|
330
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">module</span> <span class="nn">Jekyll</span>
|
331
|
+
<span class="k">class</span> <span class="nc">CategoryPageGenerator</span> <span class="o"><</span> <span class="no">Generator</span>
|
332
|
+
<span class="n">safe</span> <span class="kp">true</span>
|
333
|
+
|
334
|
+
<span class="k">def</span> <span class="nf">generate</span><span class="p">(</span><span class="n">site</span><span class="p">)</span>
|
335
|
+
<span class="k">if</span> <span class="n">site</span><span class="p">.</span><span class="nf">layouts</span><span class="p">.</span><span class="nf">key?</span> <span class="s1">'category_index'</span>
|
336
|
+
<span class="n">dir</span> <span class="o">=</span> <span class="n">site</span><span class="p">.</span><span class="nf">config</span><span class="p">[</span><span class="s1">'category_dir'</span><span class="p">]</span> <span class="o">||</span> <span class="s1">'categories'</span>
|
337
|
+
<span class="n">site</span><span class="p">.</span><span class="nf">categories</span><span class="p">.</span><span class="nf">each_key</span> <span class="k">do</span> <span class="o">|</span><span class="n">category</span><span class="o">|</span>
|
338
|
+
<span class="n">site</span><span class="p">.</span><span class="nf">pages</span> <span class="o"><<</span> <span class="no">CategoryPage</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">site</span><span class="p">,</span> <span class="n">site</span><span class="p">.</span><span class="nf">source</span><span class="p">,</span> <span class="no">File</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span><span class="n">dir</span><span class="p">,</span> <span class="n">category</span><span class="p">),</span> <span class="n">category</span><span class="p">)</span>
|
339
|
+
<span class="k">end</span>
|
340
|
+
<span class="k">end</span>
|
341
|
+
<span class="k">end</span>
|
342
|
+
<span class="k">end</span>
|
343
|
+
|
344
|
+
<span class="c1"># A Page subclass used in the `CategoryPageGenerator`</span>
|
345
|
+
<span class="k">class</span> <span class="nc">CategoryPage</span> <span class="o"><</span> <span class="no">Page</span>
|
346
|
+
<span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="n">site</span><span class="p">,</span> <span class="n">base</span><span class="p">,</span> <span class="n">dir</span><span class="p">,</span> <span class="n">category</span><span class="p">)</span>
|
347
|
+
<span class="vi">@site</span> <span class="o">=</span> <span class="n">site</span>
|
348
|
+
<span class="vi">@base</span> <span class="o">=</span> <span class="n">base</span>
|
349
|
+
<span class="vi">@dir</span> <span class="o">=</span> <span class="n">dir</span>
|
350
|
+
<span class="vi">@name</span> <span class="o">=</span> <span class="s1">'index.html'</span>
|
351
|
+
|
352
|
+
<span class="nb">self</span><span class="p">.</span><span class="nf">process</span><span class="p">(</span><span class="vi">@name</span><span class="p">)</span>
|
353
|
+
<span class="nb">self</span><span class="p">.</span><span class="nf">read_yaml</span><span class="p">(</span><span class="no">File</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span><span class="n">base</span><span class="p">,</span> <span class="s1">'_layouts'</span><span class="p">),</span> <span class="s1">'category_index.html'</span><span class="p">)</span>
|
354
|
+
<span class="nb">self</span><span class="p">.</span><span class="nf">data</span><span class="p">[</span><span class="s1">'category'</span><span class="p">]</span> <span class="o">=</span> <span class="n">category</span>
|
355
|
+
|
356
|
+
<span class="n">category_title_prefix</span> <span class="o">=</span> <span class="n">site</span><span class="p">.</span><span class="nf">config</span><span class="p">[</span><span class="s1">'category_title_prefix'</span><span class="p">]</span> <span class="o">||</span> <span class="s1">'Category: '</span>
|
357
|
+
<span class="nb">self</span><span class="p">.</span><span class="nf">data</span><span class="p">[</span><span class="s1">'title'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"</span><span class="si">#{</span><span class="n">category_title_prefix</span><span class="si">}#{</span><span class="n">category</span><span class="si">}</span><span class="s2">"</span>
|
358
|
+
<span class="k">end</span>
|
359
|
+
<span class="k">end</span>
|
360
|
+
<span class="k">end</span>
|
361
|
+
</code></pre></div></div>
|
362
|
+
|
363
|
+
<p>In this example, our generator will create a series of files under the
|
364
|
+
<code class="highlighter-rouge">categories</code> directory for each category, listing the posts in each category
|
365
|
+
using the <code class="highlighter-rouge">category_index.html</code> layout.</p>
|
366
|
+
|
367
|
+
<p>Generators are only required to implement one method:</p>
|
368
|
+
|
369
|
+
<div class="mobile-side-scroller">
|
370
|
+
<table>
|
371
|
+
<thead>
|
372
|
+
<tr>
|
373
|
+
<th>Method</th>
|
374
|
+
<th>Description</th>
|
375
|
+
</tr>
|
376
|
+
</thead>
|
377
|
+
<tbody>
|
378
|
+
<tr>
|
379
|
+
<td>
|
380
|
+
<p><code>generate</code></p>
|
381
|
+
</td>
|
382
|
+
<td>
|
383
|
+
<p>Generates content as a side-effect.</p>
|
384
|
+
</td>
|
385
|
+
</tr>
|
386
|
+
</tbody>
|
387
|
+
</table>
|
388
|
+
</div>
|
389
|
+
|
390
|
+
</article>
|
391
|
+
</div>
|
392
|
+
|
393
|
+
<div class="unit one-fifth hide-on-mobiles">
|
394
|
+
<aside>
|
395
|
+
|
396
|
+
<h4>Getting Started</h4>
|
397
|
+
<ul>
|
398
|
+
|
399
|
+
|
400
|
+
<li>
|
401
|
+
<a href="/docs/">
|
402
|
+
Quickstart
|
403
|
+
</a>
|
404
|
+
</li>
|
405
|
+
|
406
|
+
|
407
|
+
<li>
|
408
|
+
<a href="/docs/ruby-101/">
|
409
|
+
Ruby 101
|
410
|
+
</a>
|
411
|
+
</li>
|
412
|
+
|
413
|
+
|
414
|
+
<li>
|
415
|
+
<a href="/docs/installation/">
|
416
|
+
Installation
|
417
|
+
</a>
|
418
|
+
</li>
|
419
|
+
|
420
|
+
|
421
|
+
<li>
|
422
|
+
<a href="/docs/community/">
|
423
|
+
Community
|
424
|
+
</a>
|
425
|
+
</li>
|
426
|
+
|
427
|
+
|
428
|
+
<li>
|
429
|
+
<a href="/docs/step-by-step/01-setup/">
|
430
|
+
Step by Step Tutorial
|
431
|
+
</a>
|
432
|
+
</li>
|
433
|
+
|
434
|
+
</ul>
|
435
|
+
|
436
|
+
<h4>Build</h4>
|
437
|
+
<ul>
|
438
|
+
|
439
|
+
|
440
|
+
<li>
|
441
|
+
<a href="/docs/usage/">
|
442
|
+
Command Line Usage
|
443
|
+
</a>
|
444
|
+
</li>
|
445
|
+
|
446
|
+
|
447
|
+
<li>
|
448
|
+
<a href="/docs/configuration/">
|
449
|
+
Configuration
|
450
|
+
</a>
|
451
|
+
</li>
|
452
|
+
|
453
|
+
</ul>
|
454
|
+
|
455
|
+
<h4>Content</h4>
|
456
|
+
<ul>
|
457
|
+
|
458
|
+
|
459
|
+
<li>
|
460
|
+
<a href="/docs/pages/">
|
461
|
+
Pages
|
462
|
+
</a>
|
463
|
+
</li>
|
464
|
+
|
465
|
+
|
466
|
+
<li>
|
467
|
+
<a href="/docs/posts/">
|
468
|
+
Posts
|
469
|
+
</a>
|
470
|
+
</li>
|
471
|
+
|
472
|
+
|
473
|
+
<li>
|
474
|
+
<a href="/docs/front-matter/">
|
475
|
+
Front Matter
|
476
|
+
</a>
|
477
|
+
</li>
|
478
|
+
|
479
|
+
|
480
|
+
<li>
|
481
|
+
<a href="/docs/collections/">
|
482
|
+
Collections
|
483
|
+
</a>
|
484
|
+
</li>
|
485
|
+
|
486
|
+
|
487
|
+
<li>
|
488
|
+
<a href="/docs/datafiles/">
|
489
|
+
Data Files
|
490
|
+
</a>
|
491
|
+
</li>
|
492
|
+
|
493
|
+
|
494
|
+
<li>
|
495
|
+
<a href="/docs/assets/">
|
496
|
+
Assets
|
497
|
+
</a>
|
498
|
+
</li>
|
499
|
+
|
500
|
+
|
501
|
+
<li>
|
502
|
+
<a href="/docs/static-files/">
|
503
|
+
Static Files
|
504
|
+
</a>
|
505
|
+
</li>
|
506
|
+
|
507
|
+
</ul>
|
508
|
+
|
509
|
+
<h4>Site Structure</h4>
|
510
|
+
<ul>
|
511
|
+
|
512
|
+
|
513
|
+
<li>
|
514
|
+
<a href="/docs/structure/">
|
515
|
+
Directory Structure
|
516
|
+
</a>
|
517
|
+
</li>
|
518
|
+
|
519
|
+
|
520
|
+
<li>
|
521
|
+
<a href="/docs/liquid/">
|
522
|
+
Liquid
|
523
|
+
</a>
|
524
|
+
</li>
|
525
|
+
|
526
|
+
|
527
|
+
<li>
|
528
|
+
<a href="/docs/variables/">
|
529
|
+
Variables
|
530
|
+
</a>
|
531
|
+
</li>
|
532
|
+
|
533
|
+
|
534
|
+
<li>
|
535
|
+
<a href="/docs/includes/">
|
536
|
+
Includes
|
537
|
+
</a>
|
538
|
+
</li>
|
539
|
+
|
540
|
+
|
541
|
+
<li>
|
542
|
+
<a href="/docs/layouts/">
|
543
|
+
Layouts
|
544
|
+
</a>
|
545
|
+
</li>
|
546
|
+
|
547
|
+
|
548
|
+
<li>
|
549
|
+
<a href="/docs/permalinks/">
|
550
|
+
Permalinks
|
551
|
+
</a>
|
552
|
+
</li>
|
553
|
+
|
554
|
+
|
555
|
+
<li>
|
556
|
+
<a href="/docs/themes/">
|
557
|
+
Themes
|
558
|
+
</a>
|
559
|
+
</li>
|
560
|
+
|
561
|
+
|
562
|
+
<li>
|
563
|
+
<a href="/docs/pagination/">
|
564
|
+
Pagination
|
565
|
+
</a>
|
566
|
+
</li>
|
567
|
+
|
568
|
+
</ul>
|
569
|
+
|
570
|
+
<h4>Guides</h4>
|
571
|
+
<ul>
|
572
|
+
|
573
|
+
|
574
|
+
<li>
|
575
|
+
<a href="/docs/plugins/">
|
576
|
+
Plugins
|
577
|
+
</a>
|
578
|
+
</li>
|
579
|
+
|
580
|
+
|
581
|
+
<li>
|
582
|
+
<a href="/docs/migrations/">
|
583
|
+
Blog Migrations
|
584
|
+
</a>
|
585
|
+
</li>
|
586
|
+
|
587
|
+
|
588
|
+
<li>
|
589
|
+
<a href="/docs/upgrading/">
|
590
|
+
Upgrading
|
591
|
+
</a>
|
592
|
+
</li>
|
593
|
+
|
594
|
+
|
595
|
+
<li>
|
596
|
+
<a href="/docs/deployment/">
|
597
|
+
Deployment
|
598
|
+
</a>
|
599
|
+
</li>
|
600
|
+
|
601
|
+
</ul>
|
602
|
+
|
603
|
+
</aside>
|
604
|
+
</div>
|
605
|
+
|
606
|
+
|
607
|
+
<div class="clear"></div>
|
608
|
+
|
609
|
+
</div>
|
610
|
+
</section>
|
611
|
+
|
612
|
+
|
613
|
+
<footer>
|
614
|
+
<div class="grid">
|
615
|
+
<div class="unit one-third center-on-mobiles">
|
616
|
+
<p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
|
617
|
+
<p>The contents of this website are <br>© 2019 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT License</a>.</p>
|
618
|
+
</div>
|
619
|
+
<div class="unit two-thirds align-right center-on-mobiles">
|
620
|
+
<p>
|
621
|
+
Proudly hosted by
|
622
|
+
<a href="https://github.com">
|
623
|
+
<img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
|
624
|
+
</a>
|
625
|
+
</p>
|
626
|
+
</div>
|
627
|
+
<div class="unit two-thirds align-right center-on-mobiles">
|
628
|
+
<p>
|
629
|
+
Jekyll is funded thanks to its
|
630
|
+
<a href="https://github.com/jekyll/jekyll#sponsors">
|
631
|
+
sponsors!
|
632
|
+
</a>
|
633
|
+
</p>
|
634
|
+
</div>
|
635
|
+
</div>
|
636
|
+
</footer>
|
637
|
+
|
638
|
+
<script>
|
639
|
+
var anchorForId = function (id) {
|
640
|
+
var anchor = document.createElement("a");
|
641
|
+
anchor.className = "header-link";
|
642
|
+
anchor.href = "#" + id;
|
643
|
+
anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
|
644
|
+
anchor.title = "Permalink";
|
645
|
+
return anchor;
|
646
|
+
};
|
647
|
+
|
648
|
+
var linkifyAnchors = function (level, containingElement) {
|
649
|
+
var headers = containingElement.getElementsByTagName("h" + level);
|
650
|
+
for (var h = 0; h < headers.length; h++) {
|
651
|
+
var header = headers[h];
|
652
|
+
|
653
|
+
if (typeof header.id !== "undefined" && header.id !== "") {
|
654
|
+
header.appendChild(anchorForId(header.id));
|
655
|
+
}
|
656
|
+
}
|
657
|
+
};
|
658
|
+
|
659
|
+
document.onreadystatechange = function () {
|
660
|
+
if (this.readyState === "complete") {
|
661
|
+
var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
|
662
|
+
if (!contentBlock) {
|
663
|
+
return;
|
664
|
+
}
|
665
|
+
for (var level = 1; level <= 6; level++) {
|
666
|
+
linkifyAnchors(level, contentBlock);
|
667
|
+
}
|
668
|
+
}
|
669
|
+
};
|
670
|
+
</script>
|
671
|
+
|
672
|
+
|
673
|
+
<!-- Google Analytics (https://www.google.com/analytics) -->
|
674
|
+
<script>
|
675
|
+
!function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
|
676
|
+
(j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
|
677
|
+
L=e.getElementsByTagName(k)[0],l.src='https://www.google-analytics.com/analytics.js',
|
678
|
+
L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
|
679
|
+
|
680
|
+
ga('create', 'UA-50755011-1', 'jekyllrb.com');
|
681
|
+
ga('send', 'pageview');
|
682
|
+
|
683
|
+
</script>
|
684
|
+
|
685
|
+
|
686
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
|
687
|
+
<script type="text/javascript"> docsearch({
|
688
|
+
apiKey: '50fe39c839958dfad797000f33e2ec17',
|
689
|
+
indexName: 'jekyllrb',
|
690
|
+
inputSelector: '#docsearch-input',
|
691
|
+
enhancedSearchInput: true,
|
692
|
+
debug: false // Set debug to true if you want to inspect the dropdown
|
693
|
+
});
|
694
|
+
</script>
|
695
|
+
|
696
|
+
</body>
|
697
|
+
</html>
|