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,741 @@
|
|
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>Your first plugin | Jekyll • Simple, blog-aware, static sites</title>
|
17
|
+
<meta name="generator" content="Jekyll v4.0.0" />
|
18
|
+
<meta property="og:title" content="Your first plugin" />
|
19
|
+
<meta property="og:locale" content="en_US" />
|
20
|
+
<meta name="description" content="Plugins allow you to extend Jekyll’s behavior to fit your needs. There are six types of plugins in Jekyll." />
|
21
|
+
<meta property="og:description" content="Plugins allow you to extend Jekyll’s behavior to fit your needs. There are six types of plugins in Jekyll." />
|
22
|
+
<link rel="canonical" href="https://jekyllrb.com/docs/plugins/your-first-plugin/" />
|
23
|
+
<meta property="og:url" content="https://jekyllrb.com/docs/plugins/your-first-plugin/" />
|
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="Your first plugin" />
|
31
|
+
<meta name="twitter:site" content="@jekyllrb" />
|
32
|
+
<meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY" />
|
33
|
+
<script type="application/ld+json">
|
34
|
+
{"description":"Plugins allow you to extend Jekyll’s behavior to fit your needs. There are six types of plugins in Jekyll.","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://jekyllrb.com/docs/plugins/your-first-plugin/"},"headline":"Your first plugin","dateModified":"2019-09-11T07:30:27-07:00","url":"https://jekyllrb.com/docs/plugins/your-first-plugin/","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/your-first-plugin.md"><i class="fa fa-pencil"></i> Improve this page</a>
|
290
|
+
</div>
|
291
|
+
<h1>Your first plugin</h1>
|
292
|
+
<p>Plugins allow you to extend Jekyll’s behavior to fit your needs. There are six
|
293
|
+
types of plugins in Jekyll.</p>
|
294
|
+
|
295
|
+
<h2 id="generators">Generators</h2>
|
296
|
+
|
297
|
+
<p><a href="/docs/plugins/generators/">Generators</a> create content on your site.
|
298
|
+
For example:</p>
|
299
|
+
|
300
|
+
<ul>
|
301
|
+
<li><a href="https://github.com/jekyll/jekyll-feed">jekyll-feed</a> creates an Atom feed of
|
302
|
+
blog posts.</li>
|
303
|
+
<li><a href="https://github.com/jekyll/jekyll-archives">jekyll-archives</a> creates archive
|
304
|
+
pages for blog categories and tags.</li>
|
305
|
+
<li><a href="https://github.com/jekyll/jekyll-sitemap">jekyll-sitemap</a> creates a sitemap.</li>
|
306
|
+
</ul>
|
307
|
+
|
308
|
+
<h2 id="converters">Converters</h2>
|
309
|
+
|
310
|
+
<p><a href="/docs/plugins/converters/">Converters</a> change a markup language into another
|
311
|
+
format. For example:</p>
|
312
|
+
|
313
|
+
<ul>
|
314
|
+
<li><a href="https://github.com/jekyll/jekyll-textile-converter">jekyll-textile-converter</a>
|
315
|
+
converts textile to HTML.</li>
|
316
|
+
<li><a href="https://github.com/jekyll/jekyll-coffeescript">jekyll-coffeescript</a> converts
|
317
|
+
Coffeescript to JavaScript.</li>
|
318
|
+
<li><a href="https://github.com/jekyll/jekyll-opal">jekyll-opal</a> converts Ruby to
|
319
|
+
JavaScript.</li>
|
320
|
+
</ul>
|
321
|
+
|
322
|
+
<h2 id="commands">Commands</h2>
|
323
|
+
|
324
|
+
<p><a href="/docs/plugins/commands/">Commands</a> extend the <code class="highlighter-rouge">jekyll</code> executable with
|
325
|
+
subcommands. For example:</p>
|
326
|
+
|
327
|
+
<ul>
|
328
|
+
<li><a href="https://github.com/jekyll/jekyll-compose">jekyll-compose</a> adds subcommands
|
329
|
+
for creating a post, page or draft.</li>
|
330
|
+
</ul>
|
331
|
+
|
332
|
+
<h2 id="tags">Tags</h2>
|
333
|
+
|
334
|
+
<p><a href="/docs/plugins/tags/">Tags</a> create custom Liquid tags. For example:</p>
|
335
|
+
|
336
|
+
<ul>
|
337
|
+
<li><a href="https://github.com/dommmel/jekyll-youtube">jekyll-youtube</a> embeds a YouTube
|
338
|
+
video.</li>
|
339
|
+
<li><a href="https://github.com/samrayner/jekyll-asset-path-plugin">jekyll-asset-path-plugin</a>
|
340
|
+
outputs a relative URL for assets.</li>
|
341
|
+
<li><a href="https://github.com/sectore/jekyll-swfobject">jekyll-swfobject</a> embeds a SWF
|
342
|
+
object.</li>
|
343
|
+
</ul>
|
344
|
+
|
345
|
+
<h2 id="filters">Filters</h2>
|
346
|
+
|
347
|
+
<p><a href="/docs/plugins/filters/">Filters</a> create custom Liquid filters. For example:</p>
|
348
|
+
|
349
|
+
<ul>
|
350
|
+
<li><a href="https://github.com/markets/jekyll-timeago">jekyll-time-ago</a> - The distance
|
351
|
+
between two dates in words.</li>
|
352
|
+
<li><a href="https://github.com/toshimaru/jekyll-toc">jekyll-toc</a> - Generates a table of
|
353
|
+
content.</li>
|
354
|
+
<li><a href="https://github.com/vwochnik/jekyll-email-protect">jekyll-email-protect</a> -
|
355
|
+
Obfuscates emails to protect them from spam bots.</li>
|
356
|
+
</ul>
|
357
|
+
|
358
|
+
<h2 id="hooks">Hooks</h2>
|
359
|
+
|
360
|
+
<p><a href="/docs/plugins/hooks/">Hooks</a> give fine-grained control to extend the build
|
361
|
+
process.</p>
|
362
|
+
|
363
|
+
<h2 id="flags">Flags</h2>
|
364
|
+
|
365
|
+
<p>There are two flags to be aware of when writing a plugin:</p>
|
366
|
+
|
367
|
+
<div class="mobile-side-scroller">
|
368
|
+
<table>
|
369
|
+
<thead>
|
370
|
+
<tr>
|
371
|
+
<th>Flag</th>
|
372
|
+
<th>Description</th>
|
373
|
+
</tr>
|
374
|
+
</thead>
|
375
|
+
<tbody>
|
376
|
+
<tr>
|
377
|
+
<td>
|
378
|
+
<p><code>safe</code></p>
|
379
|
+
</td>
|
380
|
+
<td>
|
381
|
+
<p>
|
382
|
+
A boolean flag that informs Jekyll whether this plugin may be safely
|
383
|
+
executed in an environment where arbitrary code execution is not
|
384
|
+
allowed. This is used by GitHub Pages to determine which core plugins
|
385
|
+
may be used, and which are unsafe to run. If your plugin does not
|
386
|
+
allow for arbitrary code execution, set this to <code>true</code>.
|
387
|
+
GitHub Pages still won’t load your plugin, but if you submit it for
|
388
|
+
inclusion in core, it’s best for this to be correct!
|
389
|
+
</p>
|
390
|
+
</td>
|
391
|
+
</tr>
|
392
|
+
<tr>
|
393
|
+
<td>
|
394
|
+
<p><code>priority</code></p>
|
395
|
+
</td>
|
396
|
+
<td>
|
397
|
+
<p>
|
398
|
+
This flag determines what order the plugin is loaded in. Valid values
|
399
|
+
are: <code>:lowest</code>, <code>:low</code>, <code>:normal</code>,
|
400
|
+
<code>:high</code>, and <code>:highest</code>. Highest priority
|
401
|
+
matches are applied first, lowest priority are applied last.
|
402
|
+
</p>
|
403
|
+
</td>
|
404
|
+
</tr>
|
405
|
+
</tbody>
|
406
|
+
</table>
|
407
|
+
</div>
|
408
|
+
|
409
|
+
<p>To use one of the example plugins above as an illustration, here is how you’d
|
410
|
+
specify these two flags:</p>
|
411
|
+
|
412
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">module</span> <span class="nn">Jekyll</span>
|
413
|
+
<span class="k">class</span> <span class="nc">UpcaseConverter</span> <span class="o"><</span> <span class="no">Converter</span>
|
414
|
+
<span class="n">safe</span> <span class="kp">true</span>
|
415
|
+
<span class="n">priority</span> <span class="ss">:low</span>
|
416
|
+
<span class="o">...</span>
|
417
|
+
<span class="k">end</span>
|
418
|
+
<span class="k">end</span>
|
419
|
+
</code></pre></div></div>
|
420
|
+
|
421
|
+
<h2 id="best-practices">Best Practices</h2>
|
422
|
+
|
423
|
+
<p>The guides help you with the specifics of creating plugins. We also have some
|
424
|
+
recommended best practices to help structure your plugin.</p>
|
425
|
+
|
426
|
+
<p>We recommend using a <a href="/docs/ruby-101/#gems">gem</a> for your plugin. This will
|
427
|
+
help you manage dependencies, keep separation from your site source code and
|
428
|
+
allow you to share functionality across multiple projects. For tips on creating
|
429
|
+
a gem take a look a the
|
430
|
+
<a href="https://guides.rubygems.org/make-your-own-gem/">Ruby gems guide</a> or look
|
431
|
+
through the source code of an existing plugin such as
|
432
|
+
<a href="https://github.com/jekyll/jekyll-feed">jekyll-feed</a>.</p>
|
433
|
+
|
434
|
+
</article>
|
435
|
+
</div>
|
436
|
+
|
437
|
+
<div class="unit one-fifth hide-on-mobiles">
|
438
|
+
<aside>
|
439
|
+
|
440
|
+
<h4>Getting Started</h4>
|
441
|
+
<ul>
|
442
|
+
|
443
|
+
|
444
|
+
<li>
|
445
|
+
<a href="/docs/">
|
446
|
+
Quickstart
|
447
|
+
</a>
|
448
|
+
</li>
|
449
|
+
|
450
|
+
|
451
|
+
<li>
|
452
|
+
<a href="/docs/ruby-101/">
|
453
|
+
Ruby 101
|
454
|
+
</a>
|
455
|
+
</li>
|
456
|
+
|
457
|
+
|
458
|
+
<li>
|
459
|
+
<a href="/docs/installation/">
|
460
|
+
Installation
|
461
|
+
</a>
|
462
|
+
</li>
|
463
|
+
|
464
|
+
|
465
|
+
<li>
|
466
|
+
<a href="/docs/community/">
|
467
|
+
Community
|
468
|
+
</a>
|
469
|
+
</li>
|
470
|
+
|
471
|
+
|
472
|
+
<li>
|
473
|
+
<a href="/docs/step-by-step/01-setup/">
|
474
|
+
Step by Step Tutorial
|
475
|
+
</a>
|
476
|
+
</li>
|
477
|
+
|
478
|
+
</ul>
|
479
|
+
|
480
|
+
<h4>Build</h4>
|
481
|
+
<ul>
|
482
|
+
|
483
|
+
|
484
|
+
<li>
|
485
|
+
<a href="/docs/usage/">
|
486
|
+
Command Line Usage
|
487
|
+
</a>
|
488
|
+
</li>
|
489
|
+
|
490
|
+
|
491
|
+
<li>
|
492
|
+
<a href="/docs/configuration/">
|
493
|
+
Configuration
|
494
|
+
</a>
|
495
|
+
</li>
|
496
|
+
|
497
|
+
</ul>
|
498
|
+
|
499
|
+
<h4>Content</h4>
|
500
|
+
<ul>
|
501
|
+
|
502
|
+
|
503
|
+
<li>
|
504
|
+
<a href="/docs/pages/">
|
505
|
+
Pages
|
506
|
+
</a>
|
507
|
+
</li>
|
508
|
+
|
509
|
+
|
510
|
+
<li>
|
511
|
+
<a href="/docs/posts/">
|
512
|
+
Posts
|
513
|
+
</a>
|
514
|
+
</li>
|
515
|
+
|
516
|
+
|
517
|
+
<li>
|
518
|
+
<a href="/docs/front-matter/">
|
519
|
+
Front Matter
|
520
|
+
</a>
|
521
|
+
</li>
|
522
|
+
|
523
|
+
|
524
|
+
<li>
|
525
|
+
<a href="/docs/collections/">
|
526
|
+
Collections
|
527
|
+
</a>
|
528
|
+
</li>
|
529
|
+
|
530
|
+
|
531
|
+
<li>
|
532
|
+
<a href="/docs/datafiles/">
|
533
|
+
Data Files
|
534
|
+
</a>
|
535
|
+
</li>
|
536
|
+
|
537
|
+
|
538
|
+
<li>
|
539
|
+
<a href="/docs/assets/">
|
540
|
+
Assets
|
541
|
+
</a>
|
542
|
+
</li>
|
543
|
+
|
544
|
+
|
545
|
+
<li>
|
546
|
+
<a href="/docs/static-files/">
|
547
|
+
Static Files
|
548
|
+
</a>
|
549
|
+
</li>
|
550
|
+
|
551
|
+
</ul>
|
552
|
+
|
553
|
+
<h4>Site Structure</h4>
|
554
|
+
<ul>
|
555
|
+
|
556
|
+
|
557
|
+
<li>
|
558
|
+
<a href="/docs/structure/">
|
559
|
+
Directory Structure
|
560
|
+
</a>
|
561
|
+
</li>
|
562
|
+
|
563
|
+
|
564
|
+
<li>
|
565
|
+
<a href="/docs/liquid/">
|
566
|
+
Liquid
|
567
|
+
</a>
|
568
|
+
</li>
|
569
|
+
|
570
|
+
|
571
|
+
<li>
|
572
|
+
<a href="/docs/variables/">
|
573
|
+
Variables
|
574
|
+
</a>
|
575
|
+
</li>
|
576
|
+
|
577
|
+
|
578
|
+
<li>
|
579
|
+
<a href="/docs/includes/">
|
580
|
+
Includes
|
581
|
+
</a>
|
582
|
+
</li>
|
583
|
+
|
584
|
+
|
585
|
+
<li>
|
586
|
+
<a href="/docs/layouts/">
|
587
|
+
Layouts
|
588
|
+
</a>
|
589
|
+
</li>
|
590
|
+
|
591
|
+
|
592
|
+
<li>
|
593
|
+
<a href="/docs/permalinks/">
|
594
|
+
Permalinks
|
595
|
+
</a>
|
596
|
+
</li>
|
597
|
+
|
598
|
+
|
599
|
+
<li>
|
600
|
+
<a href="/docs/themes/">
|
601
|
+
Themes
|
602
|
+
</a>
|
603
|
+
</li>
|
604
|
+
|
605
|
+
|
606
|
+
<li>
|
607
|
+
<a href="/docs/pagination/">
|
608
|
+
Pagination
|
609
|
+
</a>
|
610
|
+
</li>
|
611
|
+
|
612
|
+
</ul>
|
613
|
+
|
614
|
+
<h4>Guides</h4>
|
615
|
+
<ul>
|
616
|
+
|
617
|
+
|
618
|
+
<li>
|
619
|
+
<a href="/docs/plugins/">
|
620
|
+
Plugins
|
621
|
+
</a>
|
622
|
+
</li>
|
623
|
+
|
624
|
+
|
625
|
+
<li>
|
626
|
+
<a href="/docs/migrations/">
|
627
|
+
Blog Migrations
|
628
|
+
</a>
|
629
|
+
</li>
|
630
|
+
|
631
|
+
|
632
|
+
<li>
|
633
|
+
<a href="/docs/upgrading/">
|
634
|
+
Upgrading
|
635
|
+
</a>
|
636
|
+
</li>
|
637
|
+
|
638
|
+
|
639
|
+
<li>
|
640
|
+
<a href="/docs/deployment/">
|
641
|
+
Deployment
|
642
|
+
</a>
|
643
|
+
</li>
|
644
|
+
|
645
|
+
</ul>
|
646
|
+
|
647
|
+
</aside>
|
648
|
+
</div>
|
649
|
+
|
650
|
+
|
651
|
+
<div class="clear"></div>
|
652
|
+
|
653
|
+
</div>
|
654
|
+
</section>
|
655
|
+
|
656
|
+
|
657
|
+
<footer>
|
658
|
+
<div class="grid">
|
659
|
+
<div class="unit one-third center-on-mobiles">
|
660
|
+
<p>Jekyll is lovingly maintained by the <a href="/team/">core team</a> of volunteers. </p>
|
661
|
+
<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>
|
662
|
+
</div>
|
663
|
+
<div class="unit two-thirds align-right center-on-mobiles">
|
664
|
+
<p>
|
665
|
+
Proudly hosted by
|
666
|
+
<a href="https://github.com">
|
667
|
+
<img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
|
668
|
+
</a>
|
669
|
+
</p>
|
670
|
+
</div>
|
671
|
+
<div class="unit two-thirds align-right center-on-mobiles">
|
672
|
+
<p>
|
673
|
+
Jekyll is funded thanks to its
|
674
|
+
<a href="https://github.com/jekyll/jekyll#sponsors">
|
675
|
+
sponsors!
|
676
|
+
</a>
|
677
|
+
</p>
|
678
|
+
</div>
|
679
|
+
</div>
|
680
|
+
</footer>
|
681
|
+
|
682
|
+
<script>
|
683
|
+
var anchorForId = function (id) {
|
684
|
+
var anchor = document.createElement("a");
|
685
|
+
anchor.className = "header-link";
|
686
|
+
anchor.href = "#" + id;
|
687
|
+
anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
|
688
|
+
anchor.title = "Permalink";
|
689
|
+
return anchor;
|
690
|
+
};
|
691
|
+
|
692
|
+
var linkifyAnchors = function (level, containingElement) {
|
693
|
+
var headers = containingElement.getElementsByTagName("h" + level);
|
694
|
+
for (var h = 0; h < headers.length; h++) {
|
695
|
+
var header = headers[h];
|
696
|
+
|
697
|
+
if (typeof header.id !== "undefined" && header.id !== "") {
|
698
|
+
header.appendChild(anchorForId(header.id));
|
699
|
+
}
|
700
|
+
}
|
701
|
+
};
|
702
|
+
|
703
|
+
document.onreadystatechange = function () {
|
704
|
+
if (this.readyState === "complete") {
|
705
|
+
var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
|
706
|
+
if (!contentBlock) {
|
707
|
+
return;
|
708
|
+
}
|
709
|
+
for (var level = 1; level <= 6; level++) {
|
710
|
+
linkifyAnchors(level, contentBlock);
|
711
|
+
}
|
712
|
+
}
|
713
|
+
};
|
714
|
+
</script>
|
715
|
+
|
716
|
+
|
717
|
+
<!-- Google Analytics (https://www.google.com/analytics) -->
|
718
|
+
<script>
|
719
|
+
!function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
|
720
|
+
(j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
|
721
|
+
L=e.getElementsByTagName(k)[0],l.src='https://www.google-analytics.com/analytics.js',
|
722
|
+
L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
|
723
|
+
|
724
|
+
ga('create', 'UA-50755011-1', 'jekyllrb.com');
|
725
|
+
ga('send', 'pageview');
|
726
|
+
|
727
|
+
</script>
|
728
|
+
|
729
|
+
|
730
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
|
731
|
+
<script type="text/javascript"> docsearch({
|
732
|
+
apiKey: '50fe39c839958dfad797000f33e2ec17',
|
733
|
+
indexName: 'jekyllrb',
|
734
|
+
inputSelector: '#docsearch-input',
|
735
|
+
enhancedSearchInput: true,
|
736
|
+
debug: false // Set debug to true if you want to inspect the dropdown
|
737
|
+
});
|
738
|
+
</script>
|
739
|
+
|
740
|
+
</body>
|
741
|
+
</html>
|