jekyll-docs 3.1.6 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-docs.rb +7 -13
  3. data/site/community/index.html +305 -0
  4. data/site/conduct/index.html +10 -0
  5. data/site/css/screen.css +1445 -0
  6. data/site/docs/assets/index.html +701 -0
  7. data/site/docs/collections/index.html +973 -0
  8. data/site/docs/conduct/index.html +718 -0
  9. data/site/docs/configuration/index.html +1337 -0
  10. data/site/docs/continuous-integration/index.html +846 -0
  11. data/site/docs/contributing/index.html +815 -0
  12. data/site/docs/datafiles/index.html +742 -0
  13. data/site/docs/deployment-methods/index.html +866 -0
  14. data/site/docs/drafts/index.html +615 -0
  15. data/site/docs/extras/index.html +656 -0
  16. data/site/docs/frontmatter/index.html +776 -0
  17. data/site/docs/github-pages/index.html +778 -0
  18. data/site/docs/history/index.html +3293 -0
  19. data/site/docs/home/index.html +627 -0
  20. data/site/docs/index.html +10 -0
  21. data/site/docs/installation/index.html +682 -0
  22. data/site/docs/migrations/index.html +627 -0
  23. data/site/docs/pages/index.html +698 -0
  24. data/site/docs/pagination/index.html +840 -0
  25. data/site/docs/permalinks/index.html +924 -0
  26. data/site/docs/plugins/index.html +1726 -0
  27. data/site/docs/posts/index.html +811 -0
  28. data/site/docs/quickstart/index.html +599 -0
  29. data/site/docs/resources/index.html +717 -0
  30. data/site/docs/sites/index.html +676 -0
  31. data/site/docs/static-files/index.html +655 -0
  32. data/site/docs/structure/index.html +794 -0
  33. data/site/docs/templates/index.html +1105 -0
  34. data/site/docs/themes/index.html +751 -0
  35. data/site/docs/troubleshooting/index.html +826 -0
  36. data/site/docs/upgrading/0-to-2/index.html +802 -0
  37. data/site/docs/upgrading/2-to-3/index.html +785 -0
  38. data/site/docs/upgrading/index.html +664 -0
  39. data/site/docs/usage/index.html +673 -0
  40. data/site/docs/variables/index.html +1013 -0
  41. data/site/docs/windows/index.html +775 -0
  42. data/site/feed.xml +222 -0
  43. data/site/github.html +10 -0
  44. data/site/help/index.html +246 -0
  45. data/site/img/article-footer.png +0 -0
  46. data/site/img/footer-logo.png +0 -0
  47. data/site/img/logo-2x.png +0 -0
  48. data/site/index.html +200 -16
  49. data/site/issues.html +10 -0
  50. data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +524 -0
  51. data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +524 -0
  52. data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +525 -0
  53. data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +522 -0
  54. data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +524 -0
  55. data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +523 -0
  56. data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +519 -0
  57. data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +519 -0
  58. data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +526 -0
  59. data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +520 -0
  60. data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +518 -0
  61. data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +553 -0
  62. data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +522 -0
  63. data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +537 -0
  64. data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +519 -0
  65. data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +518 -0
  66. data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +527 -0
  67. data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +518 -0
  68. data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +523 -0
  69. data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +539 -0
  70. data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +519 -0
  71. data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +521 -0
  72. data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +536 -0
  73. data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +533 -0
  74. data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +522 -0
  75. data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +542 -0
  76. data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +528 -0
  77. data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +551 -0
  78. data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +529 -0
  79. data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +519 -0
  80. data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +526 -0
  81. data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +521 -0
  82. data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +522 -0
  83. data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +542 -0
  84. data/site/news/2015/02/26/introducing-jekyll-talk/index.html +517 -0
  85. data/site/news/2015/10/26/jekyll-3-0-released/index.html +546 -0
  86. data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +530 -0
  87. data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +520 -0
  88. data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +553 -0
  89. data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +537 -0
  90. data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +532 -0
  91. data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +523 -0
  92. data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +519 -0
  93. data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +525 -0
  94. data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +521 -0
  95. data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +526 -0
  96. data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +530 -0
  97. data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +518 -0
  98. data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +520 -0
  99. data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +521 -0
  100. data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +630 -0
  101. data/site/news/index.html +2831 -10
  102. data/site/news/releases/index.html +2603 -10
  103. data/site/sitemap.xml +327 -0
  104. metadata +99 -111
  105. data/site/_config.yml +0 -25
  106. data/site/_data/docs.yml +0 -49
  107. data/site/_docs/assets.md +0 -94
  108. data/site/_docs/collections.md +0 -380
  109. data/site/_docs/conduct.md +0 -55
  110. data/site/_docs/configuration.md +0 -747
  111. data/site/_docs/continuous-integration.md +0 -221
  112. data/site/_docs/contributing.md +0 -124
  113. data/site/_docs/datafiles.md +0 -151
  114. data/site/_docs/deployment-methods.md +0 -213
  115. data/site/_docs/drafts.md +0 -20
  116. data/site/_docs/extras.md +0 -22
  117. data/site/_docs/frontmatter.md +0 -191
  118. data/site/_docs/github-pages.md +0 -133
  119. data/site/_docs/history.md +0 -2323
  120. data/site/_docs/index.md +0 -57
  121. data/site/_docs/installation.md +0 -106
  122. data/site/_docs/migrations.md +0 -9
  123. data/site/_docs/pages.md +0 -100
  124. data/site/_docs/pagination.md +0 -224
  125. data/site/_docs/permalinks.md +0 -308
  126. data/site/_docs/plugins.md +0 -903
  127. data/site/_docs/posts.md +0 -237
  128. data/site/_docs/quickstart.md +0 -26
  129. data/site/_docs/resources.md +0 -38
  130. data/site/_docs/sites.md +0 -23
  131. data/site/_docs/static_files.md +0 -52
  132. data/site/_docs/structure.md +0 -211
  133. data/site/_docs/templates.md +0 -451
  134. data/site/_docs/troubleshooting.md +0 -207
  135. data/site/_docs/upgrading.md +0 -10
  136. data/site/_docs/upgrading/0-to-2.md +0 -140
  137. data/site/_docs/upgrading/2-to-3.md +0 -126
  138. data/site/_docs/usage.md +0 -101
  139. data/site/_docs/variables.md +0 -390
  140. data/site/_docs/windows.md +0 -46
  141. data/site/_includes/analytics.html +0 -30
  142. data/site/_includes/anchor_links.html +0 -33
  143. data/site/_includes/docs_contents.html +0 -8
  144. data/site/_includes/docs_contents_mobile.html +0 -10
  145. data/site/_includes/docs_option.html +0 -11
  146. data/site/_includes/docs_ul.html +0 -17
  147. data/site/_includes/footer.html +0 -15
  148. data/site/_includes/header.html +0 -18
  149. data/site/_includes/news_contents.html +0 -33
  150. data/site/_includes/news_contents_mobile.html +0 -11
  151. data/site/_includes/news_item.html +0 -24
  152. data/site/_includes/primary-nav-items.html +0 -17
  153. data/site/_includes/section_nav.html +0 -39
  154. data/site/_includes/top.html +0 -17
  155. data/site/_layouts/default.html +0 -13
  156. data/site/_layouts/docs.html +0 -26
  157. data/site/_layouts/news.html +0 -19
  158. data/site/_layouts/news_item.html +0 -27
  159. data/site/_layouts/page.html +0 -18
  160. data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +0 -23
  161. data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +0 -27
  162. data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +0 -28
  163. data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +0 -25
  164. data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +0 -27
  165. data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +0 -31
  166. data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +0 -20
  167. data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +0 -20
  168. data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +0 -23
  169. data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +0 -19
  170. data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +0 -17
  171. data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +0 -43
  172. data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +0 -21
  173. data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +0 -30
  174. data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +0 -18
  175. data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +0 -18
  176. data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +0 -26
  177. data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +0 -19
  178. data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +0 -26
  179. data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +0 -31
  180. data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +0 -18
  181. data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +0 -19
  182. data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +0 -31
  183. data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +0 -30
  184. data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +0 -19
  185. data/site/_posts/2014-08-10-jekyll-2-3-0-released.markdown +0 -41
  186. data/site/_posts/2014-09-09-jekyll-2-4-0-released.markdown +0 -25
  187. data/site/_posts/2014-11-06-jekylls-midlife-crisis-jekyll-turns-2-5-0.markdown +0 -47
  188. data/site/_posts/2014-11-08-jekyll-2-5-1-released.markdown +0 -29
  189. data/site/_posts/2014-11-12-jekyll-2-5-2-released.markdown +0 -18
  190. data/site/_posts/2014-12-17-alfredxing-welcome-to-jekyll-core.md +0 -27
  191. data/site/_posts/2014-12-22-jekyll-2-5-3-released.markdown +0 -20
  192. data/site/_posts/2015-01-20-jekyll-meet-and-greet.markdown +0 -20
  193. data/site/_posts/2015-01-24-jekyll-3-0-0-beta1-released.markdown +0 -40
  194. data/site/_posts/2015-02-26-introducing-jekyll-talk.markdown +0 -15
  195. data/site/_posts/2015-10-26-jekyll-3-0-released.markdown +0 -35
  196. data/site/_posts/2015-11-17-jekyll-3-0-1-released.markdown +0 -25
  197. data/site/_posts/2016-01-20-jekyll-3-0-2-released.markdown +0 -19
  198. data/site/_posts/2016-01-24-jekyll-3-1-0-released.markdown +0 -50
  199. data/site/_posts/2016-01-28-jekyll-3-1-1-released.markdown +0 -33
  200. data/site/_posts/2016-02-08-jekyll-3-0-3-released.markdown +0 -32
  201. data/site/_posts/2016-02-19-jekyll-3-1-2-released.markdown +0 -20
  202. data/site/_sass/_font-awesome.scss +0 -25
  203. data/site/_sass/_gridism.scss +0 -124
  204. data/site/_sass/_mixins.scss +0 -38
  205. data/site/_sass/_normalize.scss +0 -1
  206. data/site/_sass/_pygments.scss +0 -78
  207. data/site/_sass/_style.scss +0 -1002
  208. data/site/css/screen.scss +0 -9
  209. data/site/help/index.md +0 -41
  210. data/site/redirects/github.html +0 -4
  211. data/site/redirects/issues.html +0 -4
@@ -0,0 +1,846 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
7
+ <meta name="generator" content="Jekyll v3.2.0">
8
+ <link type="application/atom+xml" rel="alternate" href="https://jekyllrb.com/feed.xml" title="Jekyll • Simple, blog-aware, static sites">
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="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
11
+ <link rel="stylesheet" href="/css/screen.css">
12
+ <link rel="icon" type="image/x-icon" href="/favicon.ico">
13
+ <!-- Begin Jekyll SEO tag v2.0.0 -->
14
+ <title>Continuous Integration - Jekyll • Simple, blog-aware, static sites</title>
15
+ <meta property="og:title" content="Continuous Integration">
16
+ <meta name="description" content="Transform your plain text into static websites and blogs">
17
+ <meta property="og:description" content="Transform your plain text into static websites and blogs">
18
+ <link rel="canonical" href="https://jekyllrb.com/docs/continuous-integration/">
19
+ <meta property="og:url" content="https://jekyllrb.com/docs/continuous-integration/">
20
+ <meta property="og:site_name" content="Jekyll • Simple, blog-aware, static sites">
21
+ <meta property="og:type" content="article">
22
+ <meta property="article:published_time" content="2016-07-27T18:44:57-07:00">
23
+ <meta name="twitter:card" content="summary">
24
+ <meta name="twitter:site" content="@jekyllrb">
25
+ <meta name="google-site-verification" content="onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY">
26
+ <script type="application/ld+json">
27
+ {
28
+ "@context": "http://schema.org",
29
+ "@type": "BlogPosting",
30
+ "headline": "Continuous Integration",
31
+ "datePublished": "2016-07-27T18:44:57-07:00",
32
+ "description": "Transform your plain text into static websites and blogs",
33
+ "logo": "https://jekyllrb.comimg/logo-2x.png",
34
+ "url": "https://jekyllrb.com/docs/continuous-integration/"
35
+ }
36
+ </script>
37
+ <!-- End Jekyll SEO tag -->
38
+ <!--[if lt IE 9]>
39
+ <script src="/js/html5shiv.min.js"></script>
40
+ <script src="/js/respond.min.js"></script>
41
+ <![endif]-->
42
+ </head>
43
+
44
+
45
+ <body class="wrap">
46
+ <header>
47
+ <nav class="mobile-nav show-on-mobiles">
48
+ <ul>
49
+ <li class="">
50
+ <a href="/">Home</a>
51
+ </li>
52
+ <li class="current">
53
+ <a href="/docs/home/">Docs</a>
54
+ </li>
55
+ <li class="">
56
+ <a href="/news/">News</a>
57
+ </li>
58
+ <li class="">
59
+ <a href="/community/">Community</a>
60
+ </li>
61
+ <li class="">
62
+ <a href="/help/">Help</a>
63
+ </li>
64
+ <li>
65
+ <a href="https://github.com/jekyll/jekyll"><span class="hide-on-mobiles">View on </span>GitHub</a>
66
+ </li>
67
+ </ul>
68
+
69
+ </nav>
70
+ <div class="grid">
71
+ <div class="unit one-third center-on-mobiles">
72
+ <h1>
73
+ <a href="/">
74
+ <span class="sr-only">Jekyll</span>
75
+ <img src="/img/logo-2x.png" width="249" height="115" alt="Jekyll Logo">
76
+ </a>
77
+ </h1>
78
+ </div>
79
+ <nav class="main-nav unit two-thirds hide-on-mobiles">
80
+ <ul>
81
+ <li class="">
82
+ <a href="/">Home</a>
83
+ </li>
84
+ <li class="current">
85
+ <a href="/docs/home/">Docs</a>
86
+ </li>
87
+ <li class="">
88
+ <a href="/news/">News</a>
89
+ </li>
90
+ <li class="">
91
+ <a href="/community/">Community</a>
92
+ </li>
93
+ <li class="">
94
+ <a href="/help/">Help</a>
95
+ </li>
96
+ <li>
97
+ <a href="https://github.com/jekyll/jekyll"><span class="hide-on-mobiles">View on </span>GitHub</a>
98
+ </li>
99
+ </ul>
100
+
101
+ </nav>
102
+ </div>
103
+ </header>
104
+
105
+
106
+ <section class="docs">
107
+ <div class="grid">
108
+
109
+ <div class="docs-nav-mobile unit whole show-on-mobiles">
110
+ <select onchange="if (this.value) window.location.href=this.value">
111
+ <option value="">Navigate the docs…</option>
112
+
113
+ <optgroup label="Getting Started">
114
+
115
+
116
+
117
+ <option value="https://jekyllrb.com/docs/home/">Welcome</option>
118
+
119
+
120
+
121
+ <option value="https://jekyllrb.com/docs/quickstart/">Quick-start guide</option>
122
+
123
+
124
+
125
+ <option value="https://jekyllrb.com/docs/installation/">Installation</option>
126
+
127
+
128
+
129
+ <option value="https://jekyllrb.com/docs/usage/">Basic Usage</option>
130
+
131
+
132
+
133
+ <option value="https://jekyllrb.com/docs/structure/">Directory structure</option>
134
+
135
+
136
+
137
+ <option value="https://jekyllrb.com/docs/configuration/">Configuration</option>
138
+
139
+
140
+ </optgroup>
141
+
142
+ <optgroup label="Your Content">
143
+
144
+
145
+
146
+ <option value="https://jekyllrb.com/docs/frontmatter/">Front Matter</option>
147
+
148
+
149
+
150
+ <option value="https://jekyllrb.com/docs/posts/">Writing posts</option>
151
+
152
+
153
+
154
+ <option value="https://jekyllrb.com/docs/drafts/">Working with drafts</option>
155
+
156
+
157
+
158
+ <option value="https://jekyllrb.com/docs/pages/">Creating pages</option>
159
+
160
+
161
+
162
+ <option value="https://jekyllrb.com/docs/static-files/">Static Files</option>
163
+
164
+
165
+
166
+ <option value="https://jekyllrb.com/docs/variables/">Variables</option>
167
+
168
+
169
+
170
+ <option value="https://jekyllrb.com/docs/collections/">Collections</option>
171
+
172
+
173
+
174
+ <option value="https://jekyllrb.com/docs/datafiles/">Data Files</option>
175
+
176
+
177
+
178
+ <option value="https://jekyllrb.com/docs/assets/">Assets</option>
179
+
180
+
181
+
182
+ <option value="https://jekyllrb.com/docs/migrations/">Blog migrations</option>
183
+
184
+
185
+ </optgroup>
186
+
187
+ <optgroup label="Customization">
188
+
189
+
190
+
191
+ <option value="https://jekyllrb.com/docs/templates/">Templates</option>
192
+
193
+
194
+
195
+ <option value="https://jekyllrb.com/docs/permalinks/">Permalinks</option>
196
+
197
+
198
+
199
+ <option value="https://jekyllrb.com/docs/pagination/">Pagination</option>
200
+
201
+
202
+
203
+ <option value="https://jekyllrb.com/docs/plugins/">Plugins</option>
204
+
205
+
206
+
207
+ <option value="https://jekyllrb.com/docs/themes/">Themes</option>
208
+
209
+
210
+
211
+ <option value="https://jekyllrb.com/docs/extras/">Extras</option>
212
+
213
+
214
+ </optgroup>
215
+
216
+ <optgroup label="Deployment">
217
+
218
+
219
+
220
+ <option value="https://jekyllrb.com/docs/github-pages/">GitHub Pages</option>
221
+
222
+
223
+
224
+ <option value="https://jekyllrb.com/docs/deployment-methods/">Deployment methods</option>
225
+
226
+
227
+
228
+ <option value="https://jekyllrb.com/docs/continuous-integration/">Continuous Integration</option>
229
+
230
+
231
+ </optgroup>
232
+
233
+ <optgroup label="Miscellaneous">
234
+
235
+
236
+
237
+ <option value="https://jekyllrb.com/docs/troubleshooting/">Troubleshooting</option>
238
+
239
+
240
+
241
+ <option value="https://jekyllrb.com/docs/sites/">Sites using Jekyll</option>
242
+
243
+
244
+
245
+ <option value="https://jekyllrb.com/docs/resources/">Resources</option>
246
+
247
+
248
+
249
+ <option value="https://jekyllrb.com/docs/upgrading/0-to-2/">Upgrading from 0.x to 2.x</option>
250
+
251
+
252
+
253
+ <option value="https://jekyllrb.com/docs/upgrading/2-to-3/">Upgrading from 2.x to 3.x</option>
254
+
255
+
256
+ </optgroup>
257
+
258
+ <optgroup label="Meta">
259
+
260
+
261
+
262
+ <option value="https://jekyllrb.com/docs/contributing/">Contributing</option>
263
+
264
+
265
+
266
+ <option value="https://jekyllrb.com/docs/conduct/">Code of Conduct</option>
267
+
268
+
269
+
270
+ <option value="https://jekyllrb.com/docs/history/">History</option>
271
+
272
+
273
+ </optgroup>
274
+
275
+ </select>
276
+ </div>
277
+
278
+
279
+ <div class="unit four-fifths">
280
+ <article>
281
+ <div class="improve right hide-on-mobiles">
282
+ <a href="https://github.com/jekyll/jekyll/edit/master/site/_docs/continuous-integration.md"><i class="fa fa-pencil"></i>  Improve this page</a>
283
+ </div>
284
+ <h1>Continuous Integration</h1>
285
+ <p>You can easily test your website build against one or more versions of Ruby.
286
+ The following guide will show you how to set up a free build environment on
287
+ <a href="https://travis-ci.org/">Travis</a>, with <a href="https://github.com/">GitHub</a> integration for pull requests. Paid
288
+ alternatives exist for private repositories.</p>
289
+
290
+ <h2 id="enabling-travis-and-github">1. Enabling Travis and GitHub</h2>
291
+
292
+ <p>Enabling Travis builds for your GitHub repository is pretty simple:</p>
293
+
294
+ <ol>
295
+ <li>Go to your profile on travis-ci.org: https://travis-ci.org/profile/username</li>
296
+ <li>Find the repository for which you’re interested in enabling builds.</li>
297
+ <li>Click the slider on the right so it says “ON” and is a dark grey.</li>
298
+ <li>Optionally configure the build by clicking on the wrench icon. Further
299
+ configuration happens in your <code class="highlighter-rouge">.travis.yml</code> file. More details on that
300
+ below.</li>
301
+ </ol>
302
+
303
+ <h2 id="the-test-script">2. The Test Script</h2>
304
+
305
+ <p>The simplest test script simply runs <code class="highlighter-rouge">jekyll build</code> and ensures that Jekyll
306
+ doesn’t fail to build the site. It doesn’t check the resulting site, but it
307
+ does ensure things are built properly.</p>
308
+
309
+ <p>When testing Jekyll output, there is no better tool than <a href="https://github.com/gjtorikian/html-proofer">html-proofer</a>.
310
+ This tool checks your resulting site to ensure all links and images exist.
311
+ Utilize it either with the convenient <code class="highlighter-rouge">htmlproofer</code> command-line executable,
312
+ or write a Ruby script which utilizes the gem.</p>
313
+
314
+ <p>Save the commands you want to run and succeed in a file: <code class="highlighter-rouge">./script/cibuild</code></p>
315
+
316
+ <h3 id="the-html-proofer-executable">The HTML Proofer Executable</h3>
317
+
318
+ <figure class="highlight"><pre><code class="language-shell" data-lang="shell"><span class="c">#!/usr/bin/env bash</span>
319
+ <span class="nb">set</span> -e <span class="c"># halt script on error</span>
320
+
321
+ bundle <span class="nb">exec </span>jekyll build
322
+ bundle <span class="nb">exec </span>htmlproofer ./_site</code></pre></figure>
323
+
324
+ <p>Some options can be specified via command-line switches. Check out the
325
+ <code class="highlighter-rouge">html-proofer</code> README for more information about these switches, or run
326
+ <code class="highlighter-rouge">htmlproofer --help</code> locally.</p>
327
+
328
+ <p>For example to avoid testing external sites, use this command:</p>
329
+
330
+ <figure class="highlight"><pre><code class="language-shell" data-lang="shell"><span class="gp">$ </span>bundle <span class="nb">exec </span>htmlproofer ./_site --disable-external</code></pre></figure>
331
+
332
+ <h3 id="the-html-proofer-library">The HTML Proofer Library</h3>
333
+
334
+ <p>You can also invoke <code class="highlighter-rouge">html-proofer</code> in Ruby scripts (e.g. in a Rakefile):</p>
335
+
336
+ <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="c1">#!/usr/bin/env ruby</span>
337
+
338
+ <span class="nb">require</span> <span class="s1">'html-proofer'</span>
339
+ <span class="no">HTMLProofer</span><span class="p">.</span><span class="nf">check_directory</span><span class="p">(</span><span class="s2">"./_site"</span><span class="p">).</span><span class="nf">run</span></code></pre></figure>
340
+
341
+ <p>Options are given as a second argument to <code class="highlighter-rouge">.new</code>, and are encoded in a
342
+ symbol-keyed Ruby Hash. For more information about the configuration options,
343
+ check out <code class="highlighter-rouge">html-proofer</code>’s README file.</p>
344
+
345
+ <h2 id="configuring-your-travis-builds">3. Configuring Your Travis Builds</h2>
346
+
347
+ <p>This file is used to configure your Travis builds. Because Jekyll is built
348
+ with Ruby and requires RubyGems to install, we use the Ruby language build
349
+ environment. Below is a sample <code class="highlighter-rouge">.travis.yml</code> file, followed by
350
+ an explanation of each line.</p>
351
+
352
+ <p><strong>Note:</strong> You will need a Gemfile as well, <a href="https://docs.travis-ci.com/user/languages/ruby/#Dependency-Management">Travis will automatically install</a> the dependencies based on the referenced gems:</p>
353
+
354
+ <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">source</span> <span class="s2">"https://rubygems.org"</span>
355
+
356
+ <span class="n">gem</span> <span class="s2">"jekyll"</span>
357
+ <span class="n">gem</span> <span class="s2">"html-proofer"</span></code></pre></figure>
358
+
359
+ <p>Your <code class="highlighter-rouge">.travis.yml</code> file should look like this:</p>
360
+
361
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">language</span><span class="pi">:</span> <span class="s">ruby</span>
362
+ <span class="s">rvm</span><span class="pi">:</span>
363
+ <span class="pi">-</span> <span class="s">2.1</span>
364
+
365
+ <span class="s">before_script</span><span class="pi">:</span>
366
+ <span class="pi">-</span> <span class="s">chmod +x ./script/cibuild</span> <span class="c1"># or do this locally and commit</span>
367
+
368
+ <span class="c1"># Assume bundler is being used, therefore</span>
369
+ <span class="c1"># the `install` step will run `bundle install` by default.</span>
370
+ <span class="s">script</span><span class="pi">:</span> <span class="s">./script/cibuild</span>
371
+
372
+ <span class="c1"># branch whitelist, only for GitHub Pages</span>
373
+ <span class="s">branches</span><span class="pi">:</span>
374
+ <span class="s">only</span><span class="pi">:</span>
375
+ <span class="pi">-</span> <span class="s">gh-pages</span> <span class="c1"># test the gh-pages branch</span>
376
+ <span class="pi">-</span> <span class="s">/pages-(.*)/</span> <span class="c1"># test every branch which starts with "pages-"</span>
377
+
378
+ <span class="s">env</span><span class="pi">:</span>
379
+ <span class="s">global</span><span class="pi">:</span>
380
+ <span class="pi">-</span> <span class="s">NOKOGIRI_USE_SYSTEM_LIBRARIES=true</span> <span class="c1"># speeds up installation of html-proofer</span>
381
+
382
+ <span class="s">sudo</span><span class="pi">:</span> <span class="s">false</span> <span class="c1"># route your build to the container-based infrastructure for a faster build</span></code></pre></figure>
383
+
384
+ <p>Ok, now for an explanation of each line:</p>
385
+
386
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">language</span><span class="pi">:</span> <span class="s">ruby</span></code></pre></figure>
387
+
388
+ <p>This line tells Travis to use a Ruby build container. It gives your script
389
+ access to Bundler, RubyGems, and a Ruby runtime.</p>
390
+
391
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">rvm</span><span class="pi">:</span>
392
+ <span class="pi">-</span> <span class="s">2.1</span></code></pre></figure>
393
+
394
+ <p>RVM is a popular Ruby Version Manager (like rbenv, chruby, etc). This
395
+ directive tells Travis the Ruby version to use when running your test
396
+ script.</p>
397
+
398
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">before_script</span><span class="pi">:</span>
399
+ <span class="pi">-</span> <span class="s">chmod +x ./script/cibuild</span></code></pre></figure>
400
+
401
+ <p>The build script file needs to have the <em>executable</em> attribute set or
402
+ Travis will fail with a permission denied error. You can also run this
403
+ locally and commit the permissions directly, thus rendering this step
404
+ irrelevant.</p>
405
+
406
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">script</span><span class="pi">:</span> <span class="s">./script/cibuild</span></code></pre></figure>
407
+
408
+ <p>Travis allows you to run any arbitrary shell script to test your site. One
409
+ convention is to put all scripts for your project in the <code class="highlighter-rouge">script</code>
410
+ directory, and to call your test script <code class="highlighter-rouge">cibuild</code>. This line is completely
411
+ customizable. If your script won’t change much, you can write your test
412
+ incantation here directly:</p>
413
+
414
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">install</span><span class="pi">:</span> <span class="s">gem install jekyll html-proofer</span>
415
+ <span class="s">script</span><span class="pi">:</span> <span class="s">jekyll build &amp;&amp; htmlproofer ./_site</span></code></pre></figure>
416
+
417
+ <p>The <code class="highlighter-rouge">script</code> directive can be absolutely any valid shell command.</p>
418
+
419
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="c1"># branch whitelist, only for GitHub Pages</span>
420
+ <span class="s">branches</span><span class="pi">:</span>
421
+ <span class="s">only</span><span class="pi">:</span>
422
+ <span class="pi">-</span> <span class="s">gh-pages</span> <span class="c1"># test the gh-pages branch</span>
423
+ <span class="pi">-</span> <span class="s">/pages-(.*)/</span> <span class="c1"># test every branch which starts with "pages-"</span></code></pre></figure>
424
+
425
+ <p>You want to ensure the Travis builds for your site are being run only on
426
+ the branch or branches which contain your site. One means of ensuring this
427
+ isolation is including a branch whitelist in your Travis configuration
428
+ file. By specifying the <code class="highlighter-rouge">gh-pages</code> branch, you will ensure the associated
429
+ test script (discussed above) is only executed on site branches. If you use
430
+ a pull request flow for proposing changes, you may wish to enforce a
431
+ convention for your builds such that all branches containing edits are
432
+ prefixed, exemplified above with the <code class="highlighter-rouge">/pages-(.*)/</code> regular expression.</p>
433
+
434
+ <p>The <code class="highlighter-rouge">branches</code> directive is completely optional. Travis will build from every
435
+ push to any branch of your repo if leave it out.</p>
436
+
437
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">env</span><span class="pi">:</span>
438
+ <span class="s">global</span><span class="pi">:</span>
439
+ <span class="pi">-</span> <span class="s">NOKOGIRI_USE_SYSTEM_LIBRARIES=true</span> <span class="c1"># speeds up installation of html-proofer</span></code></pre></figure>
440
+
441
+ <p>Using <code class="highlighter-rouge">html-proofer</code>? You’ll want this environment variable. Nokogiri, used
442
+ to parse HTML files in your compiled site, comes bundled with libraries
443
+ which it must compile each time it is installed. Luckily, you can
444
+ dramatically decrease the install time of Nokogiri by setting the
445
+ environment variable <code class="highlighter-rouge">NOKOGIRI_USE_SYSTEM_LIBRARIES</code> to <code class="highlighter-rouge">true</code>.</p>
446
+
447
+ <div class="note warning">
448
+ <h5>Be sure to exclude <code>vendor</code> from your
449
+ <code>_config.yml</code>
450
+ </h5>
451
+ <p>Travis bundles all gems in the <code>vendor</code> directory on its build
452
+ servers, which Jekyll will mistakenly read and explode on.</p>
453
+ </div>
454
+
455
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">exclude</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">vendor</span><span class="pi">]</span></code></pre></figure>
456
+
457
+ <p>By default you should supply the <code class="highlighter-rouge">sudo: false</code> command to Travis. This command
458
+ explicitly tells Travis to run your build on Travis’s <a href="https://docs.travis-ci.com/user/workers/container-based-infrastructure/#Routing-your-build-to-container-based-infrastructure">container-based
459
+ infrastructure</a>. Running on the container-based infrastructure can often times
460
+ speed up your build. If you have any trouble with your build, or if your build
461
+ does need <code class="highlighter-rouge">sudo</code> access, modify the line to <code class="highlighter-rouge">sudo: required</code>.</p>
462
+
463
+ <figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="s">sudo</span><span class="pi">:</span> <span class="s">false</span></code></pre></figure>
464
+
465
+ <h3 id="troubleshooting">Troubleshooting</h3>
466
+
467
+ <p><strong>Travis error:</strong> <em>“You are trying to install in deployment mode after changing
468
+ your Gemfile. Run bundle install elsewhere and add the updated Gemfile.lock
469
+ to version control.”</em></p>
470
+
471
+ <p><strong>Workaround:</strong> Either run <code class="highlighter-rouge">bundle install</code> locally and commit your changes to
472
+ <code class="highlighter-rouge">Gemfile.lock</code>, or remove the <code class="highlighter-rouge">Gemfile.lock</code> file from your repository and add
473
+ an entry in the <code class="highlighter-rouge">.gitignore</code> file to avoid it from being checked in again.</p>
474
+
475
+ <h3 id="questions">Questions?</h3>
476
+
477
+ <p>This entire guide is open-source. Go ahead and <a href="https://github.com/jekyll/jekyll/edit/master/site/_docs/continuous-integration.md">edit it</a> if you have a
478
+ fix or <a href="https://jekyllrb.com/help/">ask for help</a> if you run into trouble and need some help.</p>
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+ <div class="section-nav">
562
+ <div class="left align-right">
563
+
564
+
565
+
566
+ <a href="/docs/deployment-methods/" class="prev">Back</a>
567
+
568
+ </div>
569
+ <div class="right align-left">
570
+
571
+
572
+
573
+ <a href="/docs/troubleshooting/" class="next">Next</a>
574
+
575
+ </div>
576
+ </div>
577
+ <div class="clear"></div>
578
+
579
+ </article>
580
+ </div>
581
+
582
+ <div class="unit one-fifth hide-on-mobiles">
583
+ <aside>
584
+
585
+ <h4>Getting Started</h4>
586
+ <ul>
587
+
588
+
589
+
590
+ <li class=""><a href="https://jekyllrb.com/docs/home/">Welcome</a></li>
591
+
592
+
593
+
594
+ <li class=""><a href="https://jekyllrb.com/docs/quickstart/">Quick-start guide</a></li>
595
+
596
+
597
+
598
+ <li class=""><a href="https://jekyllrb.com/docs/installation/">Installation</a></li>
599
+
600
+
601
+
602
+ <li class=""><a href="https://jekyllrb.com/docs/usage/">Basic Usage</a></li>
603
+
604
+
605
+
606
+ <li class=""><a href="https://jekyllrb.com/docs/structure/">Directory structure</a></li>
607
+
608
+
609
+
610
+ <li class=""><a href="https://jekyllrb.com/docs/configuration/">Configuration</a></li>
611
+
612
+ </ul>
613
+
614
+
615
+ <h4>Your Content</h4>
616
+ <ul>
617
+
618
+
619
+
620
+ <li class=""><a href="https://jekyllrb.com/docs/frontmatter/">Front Matter</a></li>
621
+
622
+
623
+
624
+ <li class=""><a href="https://jekyllrb.com/docs/posts/">Writing posts</a></li>
625
+
626
+
627
+
628
+ <li class=""><a href="https://jekyllrb.com/docs/drafts/">Working with drafts</a></li>
629
+
630
+
631
+
632
+ <li class=""><a href="https://jekyllrb.com/docs/pages/">Creating pages</a></li>
633
+
634
+
635
+
636
+ <li class=""><a href="https://jekyllrb.com/docs/static-files/">Static Files</a></li>
637
+
638
+
639
+
640
+ <li class=""><a href="https://jekyllrb.com/docs/variables/">Variables</a></li>
641
+
642
+
643
+
644
+ <li class=""><a href="https://jekyllrb.com/docs/collections/">Collections</a></li>
645
+
646
+
647
+
648
+ <li class=""><a href="https://jekyllrb.com/docs/datafiles/">Data Files</a></li>
649
+
650
+
651
+
652
+ <li class=""><a href="https://jekyllrb.com/docs/assets/">Assets</a></li>
653
+
654
+
655
+
656
+ <li class=""><a href="https://jekyllrb.com/docs/migrations/">Blog migrations</a></li>
657
+
658
+ </ul>
659
+
660
+
661
+ <h4>Customization</h4>
662
+ <ul>
663
+
664
+
665
+
666
+ <li class=""><a href="https://jekyllrb.com/docs/templates/">Templates</a></li>
667
+
668
+
669
+
670
+ <li class=""><a href="https://jekyllrb.com/docs/permalinks/">Permalinks</a></li>
671
+
672
+
673
+
674
+ <li class=""><a href="https://jekyllrb.com/docs/pagination/">Pagination</a></li>
675
+
676
+
677
+
678
+ <li class=""><a href="https://jekyllrb.com/docs/plugins/">Plugins</a></li>
679
+
680
+
681
+
682
+ <li class=""><a href="https://jekyllrb.com/docs/themes/">Themes</a></li>
683
+
684
+
685
+
686
+ <li class=""><a href="https://jekyllrb.com/docs/extras/">Extras</a></li>
687
+
688
+ </ul>
689
+
690
+
691
+ <h4>Deployment</h4>
692
+ <ul>
693
+
694
+
695
+
696
+ <li class=""><a href="https://jekyllrb.com/docs/github-pages/">GitHub Pages</a></li>
697
+
698
+
699
+
700
+ <li class=""><a href="https://jekyllrb.com/docs/deployment-methods/">Deployment methods</a></li>
701
+
702
+
703
+
704
+ <li class="current"><a href="https://jekyllrb.com/docs/continuous-integration/">Continuous Integration</a></li>
705
+
706
+ </ul>
707
+
708
+
709
+ <h4>Miscellaneous</h4>
710
+ <ul>
711
+
712
+
713
+
714
+ <li class=""><a href="https://jekyllrb.com/docs/troubleshooting/">Troubleshooting</a></li>
715
+
716
+
717
+
718
+ <li class=""><a href="https://jekyllrb.com/docs/sites/">Sites using Jekyll</a></li>
719
+
720
+
721
+
722
+ <li class=""><a href="https://jekyllrb.com/docs/resources/">Resources</a></li>
723
+
724
+
725
+
726
+ <li class=""><a href="https://jekyllrb.com/docs/upgrading/0-to-2/">Upgrading from 0.x to 2.x</a></li>
727
+
728
+
729
+
730
+ <li class=""><a href="https://jekyllrb.com/docs/upgrading/2-to-3/">Upgrading from 2.x to 3.x</a></li>
731
+
732
+ </ul>
733
+
734
+
735
+ <h4>Meta</h4>
736
+ <ul>
737
+
738
+
739
+
740
+ <li class=""><a href="https://jekyllrb.com/docs/contributing/">Contributing</a></li>
741
+
742
+
743
+
744
+ <li class=""><a href="https://jekyllrb.com/docs/conduct/">Code of Conduct</a></li>
745
+
746
+
747
+
748
+ <li class=""><a href="https://jekyllrb.com/docs/history/">History</a></li>
749
+
750
+ </ul>
751
+
752
+
753
+ </aside>
754
+ </div>
755
+
756
+
757
+ <div class="clear"></div>
758
+
759
+ </div>
760
+ </section>
761
+
762
+
763
+ <footer>
764
+ <div class="grid">
765
+ <div class="unit one-third center-on-mobiles">
766
+ <p>The contents of this website are <br>© 2016 under the terms of the <a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT License</a>.</p>
767
+ </div>
768
+ <div class="unit two-thirds align-right center-on-mobiles">
769
+ <p>
770
+ Proudly hosted by
771
+ <a href="https://github.com">
772
+ <img src="/img/footer-logo.png" width="100" height="30" alt="GitHub • Social coding">
773
+ </a>
774
+ </p>
775
+ </div>
776
+ </div>
777
+ </footer>
778
+
779
+ <script>
780
+ var anchorForId = function (id) {
781
+ var anchor = document.createElement("a");
782
+ anchor.className = "header-link";
783
+ anchor.href = "#" + id;
784
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
785
+ anchor.title = "Permalink";
786
+ return anchor;
787
+ };
788
+
789
+ var linkifyAnchors = function (level, containingElement) {
790
+ var headers = containingElement.getElementsByTagName("h" + level);
791
+ for (var h = 0; h < headers.length; h++) {
792
+ var header = headers[h];
793
+
794
+ if (typeof header.id !== "undefined" && header.id !== "") {
795
+ header.appendChild(anchorForId(header.id));
796
+ }
797
+ }
798
+ };
799
+
800
+ document.onreadystatechange = function () {
801
+ if (this.readyState === "complete") {
802
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
803
+ if (!contentBlock) {
804
+ return;
805
+ }
806
+ for (var level = 1; level <= 6; level++) {
807
+ linkifyAnchors(level, contentBlock);
808
+ }
809
+ }
810
+ };
811
+ </script>
812
+
813
+
814
+ <!-- Gauges (http://gaug.es/) -->
815
+ <script>
816
+ var _gauges = _gauges || [];
817
+ (function() {
818
+ var t = document.createElement('script');
819
+ t.type = 'text/javascript';
820
+ t.async = true;
821
+ t.id = 'gauges-tracker';
822
+ t.setAttribute('data-site-id', '503c5af6613f5d0f19000027');
823
+ t.src = '//secure.gaug.es/track.js';
824
+ var s = document.getElementsByTagName('script')[0];
825
+ s.parentNode.insertBefore(t, s);
826
+ })();
827
+ </script>
828
+
829
+
830
+
831
+ <!-- Google Analytics (http://google.com/analytics) -->
832
+ <script>
833
+ !function(j,e,k,y,l,L){j.GoogleAnalyticsObject=y,j[y]||(j[y]=function(){
834
+ (j[y].q=j[y].q||[]).push(arguments)}),j[y].l=+new Date,l=e.createElement(k),
835
+ L=e.getElementsByTagName(k)[0],l.src='//www.google-analytics.com/analytics.js',
836
+ L.parentNode.insertBefore(l,L)}(window,document,'script','ga');
837
+
838
+ ga('create', 'UA-50755011-1', 'jekyllrb.com');
839
+ ga('send', 'pageview');
840
+
841
+ </script>
842
+
843
+
844
+
845
+ </body>
846
+ </html>