jekyll 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of jekyll might be problematic. Click here for more details.

Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +1 -1
  3. data/lib/jekyll.rb +0 -1
  4. data/lib/jekyll/collection.rb +18 -3
  5. data/lib/jekyll/command.rb +0 -25
  6. data/lib/jekyll/commands/build.rb +7 -2
  7. data/lib/jekyll/commands/help.rb +33 -0
  8. data/lib/jekyll/configuration.rb +36 -28
  9. data/lib/jekyll/converters/markdown/kramdown_parser.rb +1 -1
  10. data/lib/jekyll/convertible.rb +43 -20
  11. data/lib/jekyll/deprecator.rb +15 -8
  12. data/lib/jekyll/document.rb +21 -4
  13. data/lib/jekyll/filters.rb +27 -1
  14. data/lib/jekyll/frontmatter_defaults.rb +46 -12
  15. data/lib/jekyll/plugin.rb +10 -1
  16. data/lib/jekyll/post.rb +6 -13
  17. data/lib/jekyll/related_posts.rb +2 -2
  18. data/lib/jekyll/renderer.rb +7 -2
  19. data/lib/jekyll/site.rb +5 -7
  20. data/lib/jekyll/static_file.rb +24 -4
  21. data/lib/jekyll/tags/include.rb +3 -1
  22. data/lib/jekyll/tags/post_url.rb +2 -2
  23. data/lib/jekyll/utils.rb +88 -69
  24. data/lib/jekyll/version.rb +1 -1
  25. data/lib/site_template/_config.yml +6 -4
  26. data/lib/site_template/_includes/footer.html +43 -49
  27. data/lib/site_template/_includes/head.html +3 -4
  28. data/lib/site_template/_includes/header.html +9 -10
  29. data/lib/site_template/_layouts/default.html +6 -5
  30. data/lib/site_template/_layouts/page.html +3 -3
  31. data/lib/site_template/_layouts/post.html +4 -4
  32. data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +6 -5
  33. data/lib/site_template/_sass/_base.scss +203 -0
  34. data/lib/site_template/_sass/_layout.scss +236 -0
  35. data/lib/site_template/_sass/_syntax-highlighting.scss +67 -0
  36. data/lib/site_template/css/main.scss +49 -0
  37. data/lib/site_template/feed.xml +1 -1
  38. data/lib/site_template/index.html +7 -4
  39. metadata +24 -431
  40. data/.gitignore +0 -15
  41. data/.travis.yml +0 -27
  42. data/CONTRIBUTING.markdown +0 -91
  43. data/Gemfile +0 -2
  44. data/History.markdown +0 -1310
  45. data/Rakefile +0 -268
  46. data/cucumber.yml +0 -3
  47. data/docs/jp/CONTRIBUTING.jp.markdown +0 -93
  48. data/docs/jp/README.jp.markdown +0 -68
  49. data/features/collections.feature +0 -145
  50. data/features/create_sites.feature +0 -158
  51. data/features/data.feature +0 -105
  52. data/features/drafts.feature +0 -46
  53. data/features/embed_filters.feature +0 -107
  54. data/features/frontmatter_defaults.feature +0 -136
  55. data/features/include_tag.feature +0 -68
  56. data/features/markdown.feature +0 -67
  57. data/features/pagination.feature +0 -82
  58. data/features/permalinks.feature +0 -85
  59. data/features/post_data.feature +0 -261
  60. data/features/post_excerpts.feature +0 -50
  61. data/features/rendering.feature +0 -34
  62. data/features/site_configuration.feature +0 -283
  63. data/features/site_data.feature +0 -107
  64. data/features/step_definitions/jekyll_steps.rb +0 -201
  65. data/features/support/env.rb +0 -65
  66. data/jekyll.gemspec +0 -66
  67. data/lib/site_template/css/main.css +0 -410
  68. data/script/bootstrap +0 -4
  69. data/script/branding +0 -11
  70. data/script/cibuild +0 -7
  71. data/script/console +0 -38
  72. data/script/proof +0 -22
  73. data/script/rebund +0 -140
  74. data/script/test +0 -17
  75. data/site/.gitignore +0 -4
  76. data/site/CNAME +0 -1
  77. data/site/README +0 -1
  78. data/site/_config.yml +0 -9
  79. data/site/_data/docs.yml +0 -46
  80. data/site/_includes/analytics.html +0 -30
  81. data/site/_includes/anchor_links.html +0 -32
  82. data/site/_includes/css/font-awesome.css +0 -44
  83. data/site/_includes/css/gridism.css +0 -110
  84. data/site/_includes/css/normalize.css +0 -1
  85. data/site/_includes/css/pygments.css +0 -72
  86. data/site/_includes/css/style.css +0 -1045
  87. data/site/_includes/docs_contents.html +0 -8
  88. data/site/_includes/docs_contents_mobile.html +0 -10
  89. data/site/_includes/docs_option.html +0 -11
  90. data/site/_includes/docs_ul.html +0 -20
  91. data/site/_includes/footer.html +0 -15
  92. data/site/_includes/header.html +0 -18
  93. data/site/_includes/news_contents.html +0 -33
  94. data/site/_includes/news_contents_mobile.html +0 -11
  95. data/site/_includes/news_item.html +0 -24
  96. data/site/_includes/primary-nav-items.html +0 -17
  97. data/site/_includes/section_nav.html +0 -22
  98. data/site/_includes/top.html +0 -17
  99. data/site/_layouts/default.html +0 -13
  100. data/site/_layouts/docs.html +0 -23
  101. data/site/_layouts/news.html +0 -19
  102. data/site/_layouts/news_item.html +0 -27
  103. data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +0 -23
  104. data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +0 -27
  105. data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +0 -28
  106. data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +0 -25
  107. data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +0 -27
  108. data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +0 -31
  109. data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +0 -20
  110. data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +0 -20
  111. data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +0 -23
  112. data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +0 -19
  113. data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +0 -19
  114. data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +0 -43
  115. data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +0 -21
  116. data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +0 -30
  117. data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +0 -20
  118. data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +0 -18
  119. data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +0 -26
  120. data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +0 -19
  121. data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +0 -26
  122. data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +0 -31
  123. data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +0 -18
  124. data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +0 -19
  125. data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +0 -31
  126. data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +0 -30
  127. data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +0 -19
  128. data/site/css/screen.css +0 -31
  129. data/site/docs/assets.md +0 -66
  130. data/site/docs/collections.md +0 -259
  131. data/site/docs/configuration.md +0 -536
  132. data/site/docs/continuous-integration.md +0 -177
  133. data/site/docs/contributing.md +0 -133
  134. data/site/docs/datafiles.md +0 -108
  135. data/site/docs/deployment-methods.md +0 -127
  136. data/site/docs/drafts.md +0 -21
  137. data/site/docs/extras.md +0 -18
  138. data/site/docs/frontmatter.md +0 -191
  139. data/site/docs/github-pages.md +0 -91
  140. data/site/docs/history.md +0 -1514
  141. data/site/docs/index.md +0 -58
  142. data/site/docs/installation.md +0 -106
  143. data/site/docs/migrations.md +0 -11
  144. data/site/docs/pages.md +0 -86
  145. data/site/docs/pagination.md +0 -212
  146. data/site/docs/permalinks.md +0 -188
  147. data/site/docs/plugins.md +0 -561
  148. data/site/docs/posts.md +0 -211
  149. data/site/docs/quickstart.md +0 -26
  150. data/site/docs/resources.md +0 -43
  151. data/site/docs/sites.md +0 -29
  152. data/site/docs/structure.md +0 -190
  153. data/site/docs/templates.md +0 -376
  154. data/site/docs/troubleshooting.md +0 -147
  155. data/site/docs/upgrading.md +0 -146
  156. data/site/docs/usage.md +0 -74
  157. data/site/docs/variables.md +0 -382
  158. data/site/docs/windows.md +0 -44
  159. data/site/favicon.ico +0 -0
  160. data/site/feed.xml +0 -48
  161. data/site/fonts/FontAwesome.otf +0 -0
  162. data/site/fonts/fontawesome-webfont.eot +0 -0
  163. data/site/fonts/fontawesome-webfont.svg +0 -504
  164. data/site/fonts/fontawesome-webfont.ttf +0 -0
  165. data/site/fonts/fontawesome-webfont.woff +0 -0
  166. data/site/freenode.txt +0 -1
  167. data/site/img/article-footer.png +0 -0
  168. data/site/img/footer-arrow.png +0 -0
  169. data/site/img/footer-logo.png +0 -0
  170. data/site/img/jekyll-sticker.jpg +0 -0
  171. data/site/img/logo-2x.png +0 -0
  172. data/site/img/logo-rss.png +0 -0
  173. data/site/img/octojekyll.png +0 -0
  174. data/site/index.html +0 -90
  175. data/site/js/html5shiv.min.js +0 -4
  176. data/site/js/respond.min.js +0 -5
  177. data/site/news/index.html +0 -10
  178. data/site/news/releases/index.html +0 -10
  179. data/test/fixtures/broken_front_matter1.erb +0 -5
  180. data/test/fixtures/broken_front_matter2.erb +0 -4
  181. data/test/fixtures/broken_front_matter3.erb +0 -7
  182. data/test/fixtures/exploit_front_matter.erb +0 -4
  183. data/test/fixtures/front_matter.erb +0 -4
  184. data/test/helper.rb +0 -80
  185. data/test/source/+/%# +.md +0 -6
  186. data/test/source/+/foo.md +0 -7
  187. data/test/source/.htaccess +0 -8
  188. data/test/source/_config.dev.toml +0 -2
  189. data/test/source/_data/categories/dairy.yaml +0 -6
  190. data/test/source/_data/languages.yml +0 -2
  191. data/test/source/_data/members.json +0 -12
  192. data/test/source/_data/members.yaml +0 -7
  193. data/test/source/_data/products.yml +0 -4
  194. data/test/source/_drafts/draft-properties.text +0 -11
  195. data/test/source/_includes/include.html +0 -1
  196. data/test/source/_includes/params.html +0 -7
  197. data/test/source/_includes/sig.markdown +0 -3
  198. data/test/source/_layouts/default.html +0 -27
  199. data/test/source/_layouts/post/simple.html +0 -1
  200. data/test/source/_layouts/simple.html +0 -1
  201. data/test/source/_methods/_do_not_read_me.md +0 -5
  202. data/test/source/_methods/configuration.md +0 -8
  203. data/test/source/_methods/sanitized_path.md +0 -5
  204. data/test/source/_methods/site/_dont_include_me_either.md +0 -5
  205. data/test/source/_methods/site/generate.md +0 -6
  206. data/test/source/_methods/site/initialize.md +0 -4
  207. data/test/source/_methods/um_hi.md +0 -6
  208. data/test/source/_plugins/dummy.rb +0 -8
  209. data/test/source/_posts/2008-02-02-not-published.textile +0 -8
  210. data/test/source/_posts/2008-02-02-published.textile +0 -8
  211. data/test/source/_posts/2008-10-18-foo-bar.textile +0 -8
  212. data/test/source/_posts/2008-11-21-complex.textile +0 -8
  213. data/test/source/_posts/2008-12-03-permalinked-post.textile +0 -9
  214. data/test/source/_posts/2008-12-13-include.markdown +0 -8
  215. data/test/source/_posts/2009-01-27-array-categories.textile +0 -10
  216. data/test/source/_posts/2009-01-27-categories.textile +0 -7
  217. data/test/source/_posts/2009-01-27-category.textile +0 -7
  218. data/test/source/_posts/2009-01-27-empty-categories.textile +0 -7
  219. data/test/source/_posts/2009-01-27-empty-category.textile +0 -7
  220. data/test/source/_posts/2009-01-27-no-category.textile +0 -6
  221. data/test/source/_posts/2009-03-12-hash-#1.markdown +0 -6
  222. data/test/source/_posts/2009-05-18-empty-tag.textile +0 -6
  223. data/test/source/_posts/2009-05-18-empty-tags.textile +0 -6
  224. data/test/source/_posts/2009-05-18-tag.textile +0 -6
  225. data/test/source/_posts/2009-05-18-tags.textile +0 -9
  226. data/test/source/_posts/2009-06-22-empty-yaml.textile +0 -3
  227. data/test/source/_posts/2009-06-22-no-yaml.textile +0 -1
  228. data/test/source/_posts/2010-01-08-triple-dash.markdown +0 -5
  229. data/test/source/_posts/2010-01-09-date-override.textile +0 -7
  230. data/test/source/_posts/2010-01-09-time-override.textile +0 -7
  231. data/test/source/_posts/2010-01-09-timezone-override.textile +0 -7
  232. data/test/source/_posts/2010-01-16-override-data.textile +0 -4
  233. data/test/source/_posts/2011-04-12-md-extension.md +0 -7
  234. data/test/source/_posts/2011-04-12-text-extension.text +0 -0
  235. data/test/source/_posts/2013-01-02-post-excerpt.markdown +0 -14
  236. data/test/source/_posts/2013-01-12-nil-layout.textile +0 -6
  237. data/test/source/_posts/2013-01-12-no-layout.textile +0 -5
  238. data/test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep +0 -0
  239. data/test/source/_posts/2013-04-11-custom-excerpt.markdown +0 -10
  240. data/test/source/_posts/2013-05-10-number-category.textile +0 -7
  241. data/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown +0 -23
  242. data/test/source/_posts/2013-08-01-mkdn-extension.mkdn +0 -0
  243. data/test/source/_posts/2013-12-17-include-variable-filters.markdown +0 -21
  244. data/test/source/_posts/2013-12-20-properties.text +0 -11
  245. data/test/source/_posts/2014-01-06-permalink-traversal.md +0 -5
  246. data/test/source/_posts/2014-03-03-yaml-with-dots.md +0 -5
  247. data/test/source/_posts/2014-03-22-escape-+ %20[].markdown +0 -6
  248. data/test/source/_posts/es/2008-11-21-nested.textile +0 -8
  249. data/test/source/_sass/_grid.scss +0 -1
  250. data/test/source/_slides/example-slide-1.html +0 -4
  251. data/test/source/_slides/example-slide-2.html +0 -7
  252. data/test/source/_slides/example-slide-3.html +0 -5
  253. data/test/source/_with.dots/all.dots/2.4.0.md +0 -5
  254. data/test/source/_with.dots/file.with.dots.md +0 -0
  255. data/test/source/about.html +0 -6
  256. data/test/source/category/_posts/2008-9-23-categories.textile +0 -6
  257. data/test/source/contacts.html +0 -5
  258. data/test/source/contacts/bar.html +0 -5
  259. data/test/source/contacts/index.html +0 -5
  260. data/test/source/css/main.scss +0 -4
  261. data/test/source/css/screen.css +0 -76
  262. data/test/source/deal.with.dots.html +0 -7
  263. data/test/source/environment.html +0 -5
  264. data/test/source/exploit.md +0 -5
  265. data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +0 -8
  266. data/test/source/index.html +0 -22
  267. data/test/source/js/coffeescript.coffee +0 -10
  268. data/test/source/pgp.key +0 -2
  269. data/test/source/products.yml +0 -4
  270. data/test/source/properties.html +0 -8
  271. data/test/source/sitemap.xml +0 -32
  272. data/test/source/static_files.html +0 -4
  273. data/test/source/symlink-test/symlinked-file +0 -22
  274. data/test/source/unpublished.html +0 -7
  275. data/test/source/win/_posts/2009-05-24-yaml-linebreak.markdown +0 -7
  276. data/test/source/z_category/_posts/2008-9-23-categories.textile +0 -6
  277. data/test/suite.rb +0 -11
  278. data/test/test_cleaner.rb +0 -77
  279. data/test/test_coffeescript.rb +0 -49
  280. data/test/test_collections.rb +0 -224
  281. data/test/test_command.rb +0 -53
  282. data/test/test_configuration.rb +0 -201
  283. data/test/test_convertible.rb +0 -49
  284. data/test/test_document.rb +0 -193
  285. data/test/test_draft.rb +0 -56
  286. data/test/test_entry_filter.rb +0 -124
  287. data/test/test_excerpt.rb +0 -131
  288. data/test/test_filters.rb +0 -207
  289. data/test/test_generated_site.rb +0 -97
  290. data/test/test_kramdown.rb +0 -62
  291. data/test/test_layout_reader.rb +0 -34
  292. data/test/test_liquid_extensions.rb +0 -31
  293. data/test/test_log_adapter.rb +0 -59
  294. data/test/test_new_command.rb +0 -104
  295. data/test/test_page.rb +0 -254
  296. data/test/test_path_sanitization.rb +0 -18
  297. data/test/test_post.rb +0 -741
  298. data/test/test_rdiscount.rb +0 -22
  299. data/test/test_redcarpet.rb +0 -77
  300. data/test/test_redcloth.rb +0 -86
  301. data/test/test_related_posts.rb +0 -47
  302. data/test/test_sass.rb +0 -26
  303. data/test/test_site.rb +0 -452
  304. data/test/test_tags.rb +0 -509
  305. data/test/test_url.rb +0 -28
  306. data/test/test_utils.rb +0 -67
@@ -1,177 +0,0 @@
1
- ---
2
- layout: docs
3
- title: Continuous Integration
4
- prev_section: deployment-methods
5
- next_section: troubleshooting
6
- permalink: /docs/continuous-integration/
7
- ---
8
-
9
- You can easily test your website build against one or more versions of Ruby.
10
- The following guide will show you how to set up a free build environment on
11
- [Travis][0], with [GitHub][1] integration for pull requests. Paid
12
- alternatives exist for private repositories.
13
-
14
- [0]: https://travis-ci.org/
15
- [1]: https://github.com/
16
-
17
- ## 1. Enabling Travis and GitHub
18
-
19
- Enabling Travis builds for your GitHub repository is pretty simple:
20
-
21
- 1. Go to your profile on travis-ci.org: https://travis-ci.org/profile/username
22
- 2. Find the repository for which you're interested in enabling builds.
23
- 3. Click the slider on the right so it says "ON" and is a dark grey.
24
- 4. Optionally configure the build by clicking on the wrench icon. Further
25
- configuration happens in you `.travis.yml` file. More details on that
26
- below.
27
-
28
- ## 2. The Test Script
29
-
30
- The simplest test script simply runs `jekyll build` and ensures that Jekyll
31
- doesn't fail to build the site. It doesn't check the resulting site, but it
32
- does ensure things are built properly.
33
-
34
- When testing Jekyll output, there is no better tool than [html-proofer][2].
35
- This tool checks your resulting site to ensure all links and images exist.
36
- Utilize it either with the convenient `htmlproof` command-line executable,
37
- or write a Ruby script which utilizes the gem.
38
-
39
- ### The HTML Proofer Executable
40
-
41
- {% highlight bash %}
42
- #!/usr/bin/env bash
43
- set -e # halt script on error
44
-
45
- bundle exec jekyll build
46
- bundle exec htmlproof ./_site
47
- {% endhighlight %}
48
-
49
- Some options can be specified via command-line switches. Check out the
50
- `html-proofer` README for more information about these switches, or run
51
- `htmlproof --help` locally.
52
-
53
- ### The HTML Proofer Library
54
-
55
- You can also invoke `html-proofer` in Ruby scripts (e.g. in a Rakefile):
56
-
57
- {% highlight ruby %}
58
- #!/usr/bin/env ruby
59
-
60
- require 'html/proofer'
61
- HTML::Proofer.new("./_site").run
62
- {% endhighlight %}
63
-
64
- Options are given as a second argument to `.new`, and are encoded in a
65
- symbol-keyed Ruby Hash. More information about the configuration options,
66
- check out `html-proofer`'s README file.
67
-
68
- [2]: https://github.com/gjtorikian/html-proofer
69
-
70
- ## 3. Configuring Your Travis Builds
71
-
72
- This file is used to configure your Travis builds. Because Jekyll is built
73
- with Ruby and requires RubyGems to install, we use the Ruby language build
74
- environment. Below is a sample `.travis.yml` file, and what follows that is
75
- an explanation of each line.
76
-
77
- {% highlight yaml %}
78
- language: ruby
79
- rvm:
80
- - 2.1
81
- script: ./script/cibuild
82
-
83
- # branch whitelist
84
- branches:
85
- only:
86
- - gh-pages # test the gh-pages branch
87
- - /pages-(.*)/ # test every branch which starts with "pages-"
88
-
89
- env:
90
- global:
91
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
92
- {% endhighlight %}
93
-
94
- Ok, now for an explanation of each line:
95
-
96
- {% highlight yaml %}
97
- language: ruby
98
- {% endhighlight %}
99
-
100
- This line tells Travis to use a Ruby build container. It gives your script
101
- access to Bundler, RubyGems, and and Ruby runtime.
102
-
103
- {% highlight yaml %}
104
- rvm:
105
- - 2.1
106
- {% endhighlight %}
107
-
108
- RVM is a popular Ruby Version Manager (like rbenv, chruby, etc). This
109
- directive tells Travis the Ruby version to use when running your test
110
- script.
111
-
112
- {% highlight yaml %}
113
- script: ./script/cibuild
114
- {% endhighlight %}
115
-
116
- Travis allows you to run any arbitrary shell script to test your site. One
117
- convention is to put all scripts for your project in the `script`
118
- directory, and to call your test script `cibuild`. This line is completely
119
- customizable. If your script won't change much, you can write your test
120
- incantation here directly:
121
-
122
- {% highlight yaml %}
123
- script: jekyll build && htmlproof ./_site
124
- {% endhighlight %}
125
-
126
- The `script` directive can be absolutely any valid shell command.
127
-
128
- {% highlight yaml %}
129
- # branch whitelist
130
- branches:
131
- only:
132
- - gh-pages # test the gh-pages branch
133
- - /pages-(.*)/ # test every branch which starts with "pages-"
134
- {% endhighlight %}
135
-
136
- You want to ensure the Travis builds for your site are being run only on
137
- the branch or branches which contain your site. One means of ensuring this
138
- isolation is including a branch whitelist in your Travis configuration
139
- file. By specifying the `gh-pages` branch, you will ensure the associated
140
- test script (discussed above) is only executed on site branches. If you use
141
- a pull request flow for proposing changes, you may wish to enforce a
142
- convention for your builds such that all branches containing edits are
143
- prefixed, exemplified above with the `/pages-(.*)/` regular expression.
144
-
145
- The `branches` directive is completely optional.
146
-
147
- {% highlight yaml %}
148
- env:
149
- global:
150
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
151
- {% endhighlight %}
152
-
153
- Using `html-proofer`? You'll want this environment variable. Nokogiri, used
154
- to parse HTML files in your compiled site, comes bundled with libraries
155
- which it must compile each time it is installed. Luckily, you can
156
- dramatically increase the install time of Nokogiri by setting the
157
- environment variable `NOKOGIRI_USE_SYSTEM_LIBRARIES` to `true`.
158
-
159
- ## 4. Gotchas
160
-
161
- ### Exclude `vendor`
162
-
163
- Travis bundles all gems in the `vendor` directory on its build servers,
164
- which Jekyll will mistakenly read and explode on. To avoid this, exclude
165
- `vendor` in your `_config.yml`:
166
-
167
- {% highlight yaml %}
168
- exclude: [vendor]
169
- {% endhighlight %}
170
-
171
- ### Questions?
172
-
173
- This entire guide is open-source. Go ahead and [edit it][3] if you have a
174
- fix or [ask for help][4] if you run into trouble and need some help.
175
-
176
- [3]: https://github.com/jekyll/jekyll/edit/master/site/docs/continuous-integration.md
177
- [4]: https://github.com/jekyll/jekyll-help#how-do-i-ask-a-question
@@ -1,133 +0,0 @@
1
- ---
2
- layout: docs
3
- title: Contributing
4
- prev_section: upgrading
5
- next_section: history
6
- permalink: /docs/contributing/
7
- ---
8
-
9
- So you've got an awesome idea to throw into Jekyll. Great! Please keep the
10
- following in mind:
11
-
12
- * If you're creating a small fix or patch to an existing feature, just a simple
13
- test will do. Please stay in the confines of the current test suite and use
14
- [Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and
15
- [RR](https://github.com/btakita/rr/tree/master).
16
- * If it's a brand new feature, make sure to create a new
17
- [Cucumber](https://github.com/cucumber/cucumber/) feature and reuse steps
18
- where appropriate. Also, whipping up some documentation in your fork's `site`
19
- would be appreciated, and once merged it will be transferred over to the main
20
- `site`, jekyllrb.com.
21
- * If your contribution changes any Jekyll behavior, make sure to update the
22
- documentation. It lives in `site/docs`. If the docs are missing information,
23
- please feel free to add it in. Great docs make a great project!
24
- * Please follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby)
25
- when modifying Ruby code.
26
- * Please do your best to submit **small pull requests**. The easier the proposed
27
- change is to review, the more likely it will be merged.
28
- * When submitting a pull request, please make judicious use of the pull request
29
- body. A description of what changes were made, the motivations behind the
30
- changes and [any tasks completed or left to complete](http://git.io/gfm-tasks)
31
- will also speed up review time.
32
-
33
- <div class="note warning">
34
- <h5>Contributions will not be accepted without tests</h5>
35
- <p>
36
- If you’re creating a small fix or patch to an existing feature, just
37
- a simple test will do.
38
- </p>
39
- </div>
40
-
41
- Test Dependencies
42
- -----------------
43
-
44
- To run the test suite and build the gem you'll need to install Jekyll's
45
- dependencies. Jekyll uses Bundler, so a quick run of the `bundle` command and
46
- you're all set!
47
-
48
- {% highlight bash %}
49
- $ bundle
50
- {% endhighlight %}
51
-
52
- Before you start, run the tests and make sure that they pass (to confirm your
53
- environment is configured properly):
54
-
55
- {% highlight bash %}
56
- $ bundle exec rake test
57
- $ bundle exec rake features
58
- {% endhighlight %}
59
-
60
- Workflow
61
- --------
62
-
63
- Here's the most direct way to get your work merged into the project:
64
-
65
- * Fork the project.
66
- * Clone down your fork:
67
-
68
- {% highlight bash %}
69
- git clone git://github.com/<username>/jekyll.git
70
- {% endhighlight %}
71
-
72
- * Create a topic branch to contain your change:
73
-
74
- {% highlight bash %}
75
- git checkout -b my_awesome_feature
76
- {% endhighlight %}
77
-
78
-
79
- * Hack away, add tests. Not necessarily in that order.
80
- * Make sure everything still passes by running `rake`.
81
- * If necessary, rebase your commits into logical chunks, without errors.
82
- * Push the branch up:
83
-
84
- {% highlight bash %}
85
- git push origin my_awesome_feature
86
- {% endhighlight %}
87
-
88
- * Create a pull request against jekyll/jekyll:master and describe what your
89
- change does and the why you think it should be merged.
90
-
91
- Updating Documentation
92
- ----------------------
93
-
94
- We want the Jekyll documentation to be the best it can be. We've
95
- open-sourced our docs and we welcome any pull requests if you find it
96
- lacking.
97
-
98
- You can find the documentation for jekyllrb.com in the
99
- [site]({{ site.repository }}/tree/master/site) directory of
100
- Jekyll's repo on GitHub.com.
101
-
102
- All documentation pull requests should be directed at `master`. Pull
103
- requests directed at another branch will not be accepted.
104
-
105
- The [Jekyll wiki]({{ site.repository }}/wiki) on GitHub
106
- can be freely updated without a pull request as all
107
- GitHub users have access.
108
-
109
- If you want to add your plugin to the [list of plugins](/docs/plugins/#available-plugins),
110
- please submit a pull request modifying the [plugins page source
111
- file]({{ site.repository }}/blob/master/site/docs/plugins.md) by adding a
112
- link to your plugin under the proper subheading depending upon its type.
113
-
114
- Gotchas
115
- -------
116
-
117
- * If you want to bump the gem version, please put that in a separate commit.
118
- This way, the maintainers can control when the gem gets released.
119
- * Try to keep your patch(es) based from the latest commit on jekyll/jekyll.
120
- The easier it is to apply your work, the less work the maintainers have to do,
121
- which is always a good thing.
122
- * Please don't tag your GitHub issue with \[fix\], \[feature\], etc. The maintainers
123
- actively read the issues and will label it once they come across it.
124
-
125
- <div class="note">
126
- <h5>Let us know what could be better!</h5>
127
- <p>
128
- Both using and hacking on Jekyll should be fun, simple, and easy, so if for
129
- some reason you find it’s a pain, please <a
130
- href="{{ site.repository }}/issues/new">create an issue</a> on
131
- GitHub describing your experience so we can make it better.
132
- </p>
133
- </div>
@@ -1,108 +0,0 @@
1
- ---
2
- layout: docs
3
- title: Data Files
4
- prev_section: collections
5
- next_section: assets
6
- permalink: /docs/datafiles/
7
- ---
8
-
9
- In addition to the [built-in variables](../variables/) available from Jekyll,
10
- you can specify your own custom data that can be accessed via the [Liquid
11
- templating system](https://wiki.github.com/shopify/liquid/liquid-for-designers).
12
-
13
- Jekyll supports loading data from [YAML](http://yaml.org/) and [JSON](http://www.json.org/) files located in the
14
- `_data` directory.
15
-
16
- This powerful feature allows you to avoid repetition in your templates and to
17
- set site specific options without changing `_config.yml`.
18
-
19
- Plugins/themes can also leverage Data Files to set configuration variables.
20
-
21
- ## The Data Folder
22
-
23
- As explained on the [directory structure](../structure/) page, the `_data`
24
- folder is where you can store additional data for Jekyll to use when generating
25
- your site. These files must be YAML files (using either the `.yml`, `.yaml` or `.json`
26
- extension) and they will be accessible via `site.data`.
27
-
28
- ## Example: List of members
29
-
30
- Here is a basic example of using Data Files to avoid copy-pasting large chunks of
31
- code in your Jekyll templates:
32
-
33
- In `_data/members.yml`:
34
-
35
- {% highlight yaml %}
36
- - name: Tom Preston-Werner
37
- github: mojombo
38
-
39
- - name: Parker Moore
40
- github: parkr
41
-
42
- - name: Liu Fengyun
43
- github: liufengyun
44
- {% endhighlight %}
45
-
46
- This data can be accessed via `site.data.members` (notice that the filename
47
- determines the variable name).
48
-
49
- You can now render the list of members in a template:
50
-
51
- {% highlight html %}
52
- {% raw %}
53
- <ul>
54
- {% for member in site.data.members %}
55
- <li>
56
- <a href="https://github.com/{{ member.github }}">
57
- {{ member.name }}
58
- </a>
59
- </li>
60
- {% endfor %}
61
- </ul>
62
- {% endraw %}
63
- {% endhighlight %}
64
-
65
- ## Example: Organizations
66
-
67
- Data files can also be placed in sub-folders of the `_data` folder. Each folder level will be added to a variable's namespace. The example bellow shows how GitHub organizations could be defined separately in a file under the `orgs` folder:
68
-
69
- In `_data/orgs/jekyll.yml`:
70
-
71
- {% highlight yaml %}
72
- username: jekyll
73
- name: Jekyll
74
- members:
75
- - name: Tom Preston-Werner
76
- github: mojombo
77
-
78
- - name: Parker Moore
79
- github: parkr
80
- {% endhighlight %}
81
-
82
- In `_data/orgs/doeorg.yml`:
83
-
84
- {% highlight yaml %}
85
- username: doeorg
86
- name: Doe Org
87
- members:
88
- - name: John Doe
89
- github: jdoe
90
- {% endhighlight %}
91
-
92
- The organizations can then be accessed via `site.data.orgs`, followed by the file name:
93
-
94
- {% highlight html %}
95
- {% raw %}
96
- <ul>
97
- {% for org_hash in site.data.orgs %}
98
- {% assign org = org_hash[1] %}
99
- <li>
100
- <a href="https://github.com/{{ org.username }}">
101
- {{ org.name }}
102
- </a>
103
- ({{ org.members | size }} members)
104
- </li>
105
- {% endfor %}
106
- </ul>
107
- {% endraw %}
108
- {% endhighlight %}
@@ -1,127 +0,0 @@
1
- ---
2
- layout: docs
3
- title: Deployment methods
4
- prev_section: github-pages
5
- next_section: troubleshooting
6
- permalink: /docs/deployment-methods/
7
- ---
8
-
9
- Sites built using Jekyll can be deployed in a large number of ways due to the static nature of the generated output. A few of the most common deployment techniques are described below.
10
-
11
- ## Web hosting providers (FTP)
12
-
13
- Just about any traditional web hosting provider will let you upload files to their servers over FTP. To upload a Jekyll site to a web host using FTP, simply run the `jekyll` command and copy the generated `_site` folder to the root folder of your hosting account. This is most likely to be the `httpdocs` or `public_html` folder on most hosting providers.
14
-
15
- ### FTP using Glynn
16
-
17
- There is a project called [Glynn](https://github.com/dmathieu/glynn), which lets you easily generate your Jekyll powered website’s static files and
18
- send them to your host through FTP.
19
-
20
- ## Self-managed web server
21
-
22
- If you have direct access yourself to the deployment web server yourself, the process is essentially the same, except you might have other methods available to you (such as `scp`, or even direct filesystem access) for transferring the files. Just remember to make sure the contents of the generated `_site` folder get placed in the appropriate web root directory for your web server.
23
-
24
- ## Automated methods
25
-
26
- There are also a number of ways to easily automate the deployment of a Jekyll site. If you’ve got another method that isn’t listed below, we’d love it if you [contributed](../contributing/) so that everyone else can benefit too.
27
-
28
- ### Git post-update hook
29
-
30
- If you store your Jekyll site in [Git](http://git-scm.com/) (you are using version control, right?), it’s pretty easy to automate the
31
- deployment process by setting up a post-update hook in your Git
32
- repository, [like
33
- this](http://web.archive.org/web/20091223025644/http://www.taknado.com/en/2009/03/26/deploying-a-jekyll-generated-site/).
34
-
35
- ### Git post-receive hook
36
-
37
- To have a remote server handle the deploy for you every time you push changes using Git, you can create a user account which has all the public keys that are authorized to deploy in its `authorized_keys` file. With that in place, setting up the post-receive hook is done as follows:
38
-
39
- {% highlight bash %}
40
- laptop$ ssh deployer@example.com
41
- server$ mkdir myrepo.git
42
- server$ cd myrepo.git
43
- server$ git --bare init
44
- server$ cp hooks/post-receive.sample hooks/post-receive
45
- server$ mkdir /var/www/myrepo
46
- {% endhighlight %}
47
-
48
- Next, add the following lines to hooks/post-receive and be sure Jekyll is
49
- installed on the server:
50
-
51
- {% highlight bash %}
52
- GIT_REPO=$HOME/myrepo.git
53
- TMP_GIT_CLONE=$HOME/tmp/myrepo
54
- PUBLIC_WWW=/var/www/myrepo
55
-
56
- git clone $GIT_REPO $TMP_GIT_CLONE
57
- jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
58
- rm -Rf $TMP_GIT_CLONE
59
- exit
60
- {% endhighlight %}
61
-
62
- Finally, run the following command on any users laptop that needs to be able to
63
- deploy using this hook:
64
-
65
- {% highlight bash %}
66
- laptops$ git remote add deploy deployer@example.com:~/myrepo.git
67
- {% endhighlight %}
68
-
69
- Deploying is now as easy as telling nginx or Apache to look at
70
- `/var/www/myrepo` and running the following:
71
-
72
- {% highlight bash %}
73
- laptops$ git push deploy master
74
- {% endhighlight %}
75
-
76
- ### Jekyll-hook
77
-
78
- You can also use jekyll-hook, a server that listens for webhook posts from
79
- GitHub, generates a website with Jekyll, and moves it somewhere to be
80
- published. Use this to run your own GitHub Pages-style web server.
81
-
82
- This method is useful if you need to serve your websites behind a firewall,
83
- need extra server-level features like HTTP basic authentication or want to
84
- host your site directly on a CDN or file host like S3.
85
-
86
- Setup steps are fully documented
87
- [in the `jekyll-hook` repo](https://github.com/developmentseed/jekyll-hook).
88
-
89
- ### Rake
90
-
91
- Another way to deploy your Jekyll site is to use [Rake](https://github.com/jimweirich/rake), [HighLine](https://github.com/JEG2/highline), and
92
- [Net::SSH](https://github.com/net-ssh/net-ssh). A more complex example of deploying Jekyll with Rake that deals with multiple branches can be found in [Git Ready](https://github.com/gitready/gitready/blob/cdfbc4ec5321ff8d18c3ce936e9c749dbbc4f190/Rakefile).
93
-
94
- ### rsync
95
-
96
- Once you’ve generated the `_site` directory, you can easily rsync it using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/henrik/henrik.nyh.se/blob/master/tasks/deploy). You’d obviously need to change the values to reflect your site’s details. There is even [a matching TextMate command](http://gist.github.com/214959) that will help you run
97
- this script from within Textmate.
98
-
99
-
100
- ## Rack-Jekyll
101
-
102
- [Rack-Jekyll](https://github.com/adaoraul/rack-jekyll/) is an easy way to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](https://github.com/rtomayko/shotgun/), [rackup](https://github.com/rack/rack), [mongrel](https://github.com/mongrel/mongrel), [unicorn](https://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme).
103
-
104
- Read [this post](http://blog.crowdint.com/2010/08/02/instant-blog-using-jekyll-and-heroku.html) on how to deploy to Heroku using Rack-Jekyll.
105
-
106
- ## Jekyll-Admin for Rails
107
-
108
- If you want to maintain Jekyll inside your existing Rails app, [Jekyll-Admin](https://github.com/zkarpinski/Jekyll-Admin) contains drop in code to make this possible. See Jekyll-Admin’s [README](https://github.com/zkarpinski/Jekyll-Admin/blob/master/README) for more details.
109
-
110
- ## Amazon S3
111
-
112
- If you want to host your site in Amazon S3, you can do so with
113
- [s3_website](https://github.com/laurilehmijoki/s3_website) application. It will
114
- push your site to Amazon S3 where it can be served like any web server,
115
- dynamically scaling to almost unlimited traffic. This approach has the
116
- benefit of being about the cheapest hosting option available for
117
- low-volume blogs as you only pay for what you use.
118
-
119
- ## OpenShift
120
-
121
- If you'd like to deploy your site to an OpenShift gear, there's [a cartridge
122
- for that](https://github.com/openshift-cartridges/openshift-jekyll-cartridge).
123
-
124
- <div class="note">
125
- <h5>ProTip™: Use GitHub Pages for zero-hassle Jekyll hosting</h5>
126
- <p>GitHub Pages are powered by Jekyll behind the scenes, so if you’re looking for a zero-hassle, zero-cost solution, GitHub Pages are a great way to <a href="../github-pages/">host your Jekyll-powered website for free</a>.</p>
127
- </div>