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,68 +0,0 @@
1
- Feature: Include tags
2
- In order to share their content across several pages
3
- As a hacker who likes to blog
4
- I want to be able to include files in my blog posts
5
-
6
- Scenario: Include a file with parameters
7
- Given I have an _includes directory
8
- And I have an "_includes/header.html" file that contains "<header>My awesome blog header: {{include.param}}</header>"
9
- And I have an "_includes/params.html" file that contains "Parameters:<ul>{% for param in include %}<li>{{param[0]}} = {{param[1]}}</li>{% endfor %}</ul>"
10
- And I have an "_includes/ignore.html" file that contains "<footer>My blog footer</footer>"
11
- And I have a _posts directory
12
- And I have the following post:
13
- | title | date | layout | content |
14
- | Include Files | 2013-03-21 | default | {% include header.html param="myparam" %} |
15
- | Ignore params if unused | 2013-03-21 | default | {% include ignore.html date="today" %} |
16
- | List multiple parameters | 2013-03-21 | default | {% include params.html date="today" start="tomorrow" %} |
17
- | Dont keep parameters | 2013-03-21 | default | {% include ignore.html param="test" %}\n{% include header.html %} |
18
- | Allow params with spaces and quotes | 2013-04-07 | default | {% include params.html cool="param with spaces" super="\"quoted\"" single='has "quotes"' escaped='\'single\' quotes' %} |
19
- | Parameter syntax | 2013-04-12 | default | {% include params.html param1_or_2="value" %} |
20
- | Pass a variable | 2013-06-22 | default | {% assign var = 'some text' %}{% include params.html local=var layout=page.layout %} |
21
- When I run jekyll build
22
- Then the _site directory should exist
23
- And I should see "<header>My awesome blog header: myparam</header>" in "_site/2013/03/21/include-files.html"
24
- And I should not see "myparam" in "_site/2013/03/21/ignore-params-if-unused.html"
25
- And I should see "<li>date = today</li>" in "_site/2013/03/21/list-multiple-parameters.html"
26
- And I should see "<li>start = tomorrow</li>" in "_site/2013/03/21/list-multiple-parameters.html"
27
- And I should not see "<header>My awesome blog header: myparam</header>" in "_site/2013/03/21/dont-keep-parameters.html"
28
- But I should see "<header>My awesome blog header: </header>" in "_site/2013/03/21/dont-keep-parameters.html"
29
- And I should see "<li>cool = param with spaces</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
30
- And I should see "<li>super = &#8220;quoted&#8221;</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
31
- And I should see "<li>single = has &#8220;quotes&#8221;</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
32
- And I should see "<li>escaped = &#8216;single&#8217; quotes</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
33
- And I should see "<li>param1_or_2 = value</li>" in "_site/2013/04/12/parameter-syntax.html"
34
- And I should see "<li>local = some text</li>" in "_site/2013/06/22/pass-a-variable.html"
35
- And I should see "<li>layout = default</li>" in "_site/2013/06/22/pass-a-variable.html"
36
-
37
- Scenario: Include a file from a variable
38
- Given I have an _includes directory
39
- And I have an "_includes/snippet.html" file that contains "a snippet"
40
- And I have an "_includes/parametrized.html" file that contains "works with {{include.what}}"
41
- And I have a configuration file with:
42
- | key | value |
43
- | include_file1 | snippet.html |
44
- | include_file2 | parametrized.html |
45
- And I have an "index.html" page that contains "{% include {{site.include_file1}} %} that {% include {{site.include_file2}} what='parameters' %}"
46
- When I run jekyll build
47
- Then the _site directory should exist
48
- And I should see "a snippet that works with parameters" in "_site/index.html"
49
-
50
- Scenario: Include a variable file in a loop
51
- Given I have an _includes directory
52
- And I have an "_includes/one.html" file that contains "one"
53
- And I have an "_includes/two.html" file that contains "two"
54
- And I have an "index.html" page with files "[one.html, two.html]" that contains "{% for file in page.files %}{% include {{file}} %} {% endfor %}"
55
- When I run jekyll build
56
- Then the _site directory should exist
57
- And I should see "one two" in "_site/index.html"
58
-
59
- Scenario: Include a file with variables and filters
60
- Given I have an _includes directory
61
- And I have an "_includes/one.html" file that contains "one included"
62
- And I have a configuration file with:
63
- | key | value |
64
- | include_file | one |
65
- And I have an "index.html" page that contains "{% include {{ site.include_file | append: '.html' }} %}"
66
- When I run jekyll build
67
- Then the _site directory should exist
68
- And I should see "one included" in "_site/index.html"
@@ -1,67 +0,0 @@
1
- Feature: Markdown
2
- As a hacker who likes to blog
3
- I want to be able to make a static site
4
- In order to share my awesome ideas with the interwebs
5
-
6
- Scenario: Markdown in list on index
7
- Given I have a configuration file with "paginate" set to "5"
8
- And I have an "index.html" page that contains "Index - {% for post in site.posts %} {{ post.content }} {% endfor %}"
9
- And I have a _posts directory
10
- And I have the following post:
11
- | title | date | content | type |
12
- | Hackers | 2009-03-27 | # My Title | markdown |
13
- When I run jekyll build
14
- Then the _site directory should exist
15
- And I should see "Index" in "_site/index.html"
16
- And I should see "<h1 id=\"my-title\">My Title</h1>" in "_site/2009/03/27/hackers.html"
17
- And I should see "<h1 id=\"my-title\">My Title</h1>" in "_site/index.html"
18
-
19
- Scenario: Markdown in pagination on index
20
- Given I have a configuration file with "paginate" set to "5"
21
- And I have an "index.html" page that contains "Index - {% for post in paginator.posts %} {{ post.content }} {% endfor %}"
22
- And I have a _posts directory
23
- And I have the following post:
24
- | title | date | content | type |
25
- | Hackers | 2009-03-27 | # My Title | markdown |
26
- When I run jekyll build
27
- Then the _site directory should exist
28
- And I should see "Index" in "_site/index.html"
29
- And I should see "<h1 id=\"my-title\">My Title</h1>" in "_site/index.html"
30
-
31
- Scenario: Maruku fenced codeblocks
32
- Given I have a configuration file with "markdown" set to "maruku"
33
- And I have an "index.markdown" file with content:
34
- """
35
- ---
36
- title: My title
37
- ---
38
-
39
- # My title
40
-
41
- ```
42
- My awesome code
43
- ```
44
- """
45
- When I run jekyll build
46
- Then the _site directory should exist
47
- And I should see "My awesome code" in "_site/index.html"
48
- And I should see "<pre><code>My awesome code</code></pre>" in "_site/index.html"
49
-
50
- Scenario: Maruku fenced codeblocks
51
- Given I have a configuration file with "markdown" set to "maruku"
52
- And I have an "index.markdown" file with content:
53
- """
54
- ---
55
- title: My title
56
- ---
57
-
58
- # My title
59
-
60
- ```ruby
61
- puts "My awesome string"
62
- ```
63
- """
64
- When I run jekyll build
65
- Then the _site directory should exist
66
- And I should see "My awesome string" in "_site/index.html"
67
- And I should see "<pre class="ruby"><code class="ruby">puts &quot;My awesome string&quot;</code></pre>" in "_site/index.html"
@@ -1,82 +0,0 @@
1
- Feature: Site pagination
2
- In order to paginate my blog
3
- As a blog's user
4
- I want divide the posts in several pages
5
-
6
- Scenario Outline: Paginate with N posts per page
7
- Given I have a configuration file with "paginate" set to "<num>"
8
- And I have a _layouts directory
9
- And I have an "index.html" page that contains "{{ paginator.posts.size }}"
10
- And I have a _posts directory
11
- And I have the following posts:
12
- | title | date | layout | content |
13
- | Wargames | 2009-03-27 | default | The only winning move is not to play. |
14
- | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
15
- | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
16
- | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
17
- When I run jekyll build
18
- Then the _site/page<exist> directory should exist
19
- And the "_site/page<exist>/index.html" file should exist
20
- And I should see "<posts>" in "_site/page<exist>/index.html"
21
- And the "_site/page<not_exist>/index.html" file should not exist
22
-
23
- Examples:
24
- | num | exist | posts | not_exist |
25
- | 1 | 4 | 1 | 5 |
26
- | 2 | 2 | 2 | 3 |
27
- | 3 | 2 | 1 | 3 |
28
-
29
- Scenario Outline: Setting a custom pagination path
30
- Given I have a configuration file with:
31
- | key | value |
32
- | paginate | 1 |
33
- | paginate_path | /blog/page-:num |
34
- | permalink | /blog/:year/:month/:day/:title |
35
- And I have a blog directory
36
- And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}"
37
- And I have a _posts directory
38
- And I have the following posts:
39
- | title | date | layout | content |
40
- | Wargames | 2009-03-27 | default | The only winning move is not to play. |
41
- | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
42
- | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
43
- | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
44
- When I run jekyll build
45
- Then the _site/blog/page-<exist> directory should exist
46
- And the "_site/blog/page-<exist>/index.html" file should exist
47
- And I should see "<posts>" in "_site/blog/page-<exist>/index.html"
48
- And the "_site/blog/page-<not_exist>/index.html" file should not exist
49
-
50
- Examples:
51
- | exist | posts | not_exist |
52
- | 2 | 1 | 5 |
53
- | 3 | 1 | 6 |
54
- | 4 | 1 | 7 |
55
-
56
- Scenario Outline: Setting a custom pagination path without an index.html in it
57
- Given I have a configuration file with:
58
- | key | value |
59
- | paginate | 1 |
60
- | paginate_path | /blog/page/:num |
61
- | permalink | /blog/:year/:month/:day/:title |
62
- And I have a blog directory
63
- And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}"
64
- And I have an "index.html" page that contains "Don't pick me!"
65
- And I have a _posts directory
66
- And I have the following posts:
67
- | title | date | layout | content |
68
- | Wargames | 2009-03-27 | default | The only winning move is not to play. |
69
- | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
70
- | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
71
- | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
72
- When I run jekyll build
73
- Then the _site/blog/page/<exist> directory should exist
74
- And the "_site/blog/page/<exist>/index.html" file should exist
75
- And I should see "<posts>" in "_site/blog/page/<exist>/index.html"
76
- And the "_site/blog/page/<not_exist>/index.html" file should not exist
77
-
78
- Examples:
79
- | exist | posts | not_exist |
80
- | 2 | 1 | 5 |
81
- | 3 | 1 | 6 |
82
- | 4 | 1 | 7 |
@@ -1,85 +0,0 @@
1
- Feature: Fancy permalinks
2
- As a hacker who likes to blog
3
- I want to be able to set permalinks
4
- In order to make my blog URLs awesome
5
-
6
- Scenario: Use none permalink schema
7
- Given I have a _posts directory
8
- And I have the following post:
9
- | title | date | content |
10
- | None Permalink Schema | 2009-03-27 | Totally nothing. |
11
- And I have a configuration file with "permalink" set to "none"
12
- When I run jekyll build
13
- Then the _site directory should exist
14
- And I should see "Totally nothing." in "_site/none-permalink-schema.html"
15
-
16
- Scenario: Use pretty permalink schema
17
- Given I have a _posts directory
18
- And I have the following post:
19
- | title | date | content |
20
- | Pretty Permalink Schema | 2009-03-27 | Totally wordpress. |
21
- And I have a configuration file with "permalink" set to "pretty"
22
- When I run jekyll build
23
- Then the _site directory should exist
24
- And I should see "Totally wordpress." in "_site/2009/03/27/pretty-permalink-schema/index.html"
25
-
26
- Scenario: Use pretty permalink schema for pages
27
- Given I have an "index.html" page that contains "Totally index"
28
- And I have an "awesome.html" page that contains "Totally awesome"
29
- And I have an "sitemap.xml" page that contains "Totally uhm, sitemap"
30
- And I have a configuration file with "permalink" set to "pretty"
31
- When I run jekyll build
32
- Then the _site directory should exist
33
- And I should see "Totally index" in "_site/index.html"
34
- And I should see "Totally awesome" in "_site/awesome/index.html"
35
- And I should see "Totally uhm, sitemap" in "_site/sitemap.xml"
36
-
37
- Scenario: Use custom permalink schema with prefix
38
- Given I have a _posts directory
39
- And I have the following post:
40
- | title | category | date | content |
41
- | Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
42
- And I have a configuration file with "permalink" set to "/blog/:year/:month/:day/:title"
43
- When I run jekyll build
44
- Then the _site directory should exist
45
- And I should see "Totally custom." in "_site/blog/2009/03/27/custom-permalink-schema/index.html"
46
-
47
- Scenario: Use custom permalink schema with category
48
- Given I have a _posts directory
49
- And I have the following post:
50
- | title | category | date | content |
51
- | Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
52
- And I have a configuration file with "permalink" set to "/:categories/:title.html"
53
- When I run jekyll build
54
- Then the _site directory should exist
55
- And I should see "Totally custom." in "_site/stuff/custom-permalink-schema.html"
56
-
57
- Scenario: Use custom permalink schema with squished date
58
- Given I have a _posts directory
59
- And I have the following post:
60
- | title | category | date | content |
61
- | Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
62
- And I have a configuration file with "permalink" set to "/:month-:day-:year/:title.html"
63
- When I run jekyll build
64
- Then the _site directory should exist
65
- And I should see "Totally custom." in "_site/03-27-2009/custom-permalink-schema.html"
66
-
67
- Scenario: Use per-post permalink
68
- Given I have a _posts directory
69
- And I have the following post:
70
- | title | date | permalink | content |
71
- | Some post | 2013-04-14 | /custom/posts/1 | bla bla |
72
- When I run jekyll build
73
- Then the _site directory should exist
74
- And the _site/custom/posts/1 directory should exist
75
- And I should see "bla bla" in "_site/custom/posts/1/index.html"
76
-
77
- Scenario: Use per-post ending in .html
78
- Given I have a _posts directory
79
- And I have the following post:
80
- | title | date | permalink | content |
81
- | Some post | 2013-04-14 | /custom/posts/some.html | bla bla |
82
- When I run jekyll build
83
- Then the _site directory should exist
84
- And the _site/custom/posts directory should exist
85
- And I should see "bla bla" in "_site/custom/posts/some.html"
@@ -1,261 +0,0 @@
1
- Feature: Post data
2
- As a hacker who likes to blog
3
- I want to be able to embed data into my posts
4
- In order to make the posts slightly dynamic
5
-
6
- Scenario: Use post.title variable
7
- Given I have a _posts directory
8
- And I have a _layouts directory
9
- And I have the following post:
10
- | title | date | layout | content |
11
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
12
- And I have a simple layout that contains "Post title: {{ page.title }}"
13
- When I run jekyll build
14
- Then the _site directory should exist
15
- And I should see "Post title: Star Wars" in "_site/2009/03/27/star-wars.html"
16
-
17
- Scenario: Use post.url variable
18
- Given I have a _posts directory
19
- And I have a _layouts directory
20
- And I have the following post:
21
- | title | date | layout | content |
22
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
23
- And I have a simple layout that contains "Post url: {{ page.url }}"
24
- When I run jekyll build
25
- Then the _site directory should exist
26
- And I should see "Post url: /2009/03/27/star-wars.html" in "_site/2009/03/27/star-wars.html"
27
-
28
- Scenario: Use post.date variable
29
- Given I have a _posts directory
30
- And I have a _layouts directory
31
- And I have the following post:
32
- | title | date | layout | content |
33
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
34
- And I have a simple layout that contains "Post date: {{ page.date | date_to_string }}"
35
- When I run jekyll build
36
- Then the _site directory should exist
37
- And I should see "Post date: 27 Mar 2009" in "_site/2009/03/27/star-wars.html"
38
-
39
- Scenario: Use post.id variable
40
- Given I have a _posts directory
41
- And I have a _layouts directory
42
- And I have the following post:
43
- | title | date | layout | content |
44
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
45
- And I have a simple layout that contains "Post id: {{ page.id }}"
46
- When I run jekyll build
47
- Then the _site directory should exist
48
- And I should see "Post id: /2009/03/27/star-wars" in "_site/2009/03/27/star-wars.html"
49
-
50
- Scenario: Use post.content variable
51
- Given I have a _posts directory
52
- And I have a _layouts directory
53
- And I have the following post:
54
- | title | date | layout | content |
55
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
56
- And I have a simple layout that contains "Post content: {{ content }}"
57
- When I run jekyll build
58
- Then the _site directory should exist
59
- And I should see "Post content: <p>Luke, I am your father.</p>" in "_site/2009/03/27/star-wars.html"
60
-
61
- Scenario: Use post.categories variable when category is in a folder
62
- Given I have a movies directory
63
- And I have a movies/_posts directory
64
- And I have a _layouts directory
65
- And I have the following post in "movies":
66
- | title | date | layout | content |
67
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
68
- And I have a simple layout that contains "Post category: {{ page.categories }}"
69
- When I run jekyll build
70
- Then the _site directory should exist
71
- And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
72
-
73
- Scenario: Use post.categories variable when category is in a folder and has category in YAML
74
- Given I have a movies directory
75
- And I have a movies/_posts directory
76
- And I have a _layouts directory
77
- And I have the following post in "movies":
78
- | title | date | layout | category | content |
79
- | Star Wars | 2009-03-27 | simple | film | Luke, I am your father. |
80
- And I have a simple layout that contains "Post category: {{ page.categories }}"
81
- When I run jekyll build
82
- Then the _site directory should exist
83
- And I should see "Post category: movies" in "_site/movies/film/2009/03/27/star-wars.html"
84
-
85
- Scenario: Use post.categories variable when category is in a folder and has categories in YAML
86
- Given I have a movies directory
87
- And I have a movies/_posts directory
88
- And I have a _layouts directory
89
- And I have the following post in "movies":
90
- | title | date | layout | categories | content |
91
- | Star Wars | 2009-03-27 | simple | [film, scifi] | Luke, I am your father. |
92
- And I have a simple layout that contains "Post category: {{ page.categories }}"
93
- When I run jekyll build
94
- Then the _site directory should exist
95
- And I should see "Post category: movies" in "_site/movies/film/scifi/2009/03/27/star-wars.html"
96
-
97
- Scenario: Use post.categories variable when category is in a folder and duplicated category is in YAML
98
- Given I have a movies directory
99
- And I have a movies/_posts directory
100
- And I have a _layouts directory
101
- And I have the following post in "movies":
102
- | title | date | layout | category | content |
103
- | Star Wars | 2009-03-27 | simple | movies | Luke, I am your father. |
104
- And I have a simple layout that contains "Post category: {{ page.categories }}"
105
- When I run jekyll build
106
- Then the _site directory should exist
107
- And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
108
-
109
- Scenario: Use post.tags variable
110
- Given I have a _posts directory
111
- And I have a _layouts directory
112
- And I have the following post:
113
- | title | date | layout | tag | content |
114
- | Star Wars | 2009-05-18 | simple | twist | Luke, I am your father. |
115
- And I have a simple layout that contains "Post tags: {{ page.tags }}"
116
- When I run jekyll build
117
- Then the _site directory should exist
118
- And I should see "Post tags: twist" in "_site/2009/05/18/star-wars.html"
119
-
120
- Scenario: Use post.categories variable when categories are in folders
121
- Given I have a scifi directory
122
- And I have a scifi/movies directory
123
- And I have a scifi/movies/_posts directory
124
- And I have a _layouts directory
125
- And I have the following post in "scifi/movies":
126
- | title | date | layout | content |
127
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
128
- And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
129
- When I run jekyll build
130
- Then the _site directory should exist
131
- And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
132
-
133
- Scenario: Use post.categories variable when categories are in folders with mixed case
134
- Given I have a scifi directory
135
- And I have a scifi/Movies directory
136
- And I have a scifi/Movies/_posts directory
137
- And I have a _layouts directory
138
- And I have the following post in "scifi/Movies":
139
- | title | date | layout | content |
140
- | Star Wars | 2009-03-27 | simple | Luke, I am your father. |
141
- And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
142
- When I run jekyll build
143
- Then the _site directory should exist
144
- And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
145
-
146
- Scenario: Use post.categories variable when category is in YAML
147
- Given I have a _posts directory
148
- And I have a _layouts directory
149
- And I have the following post:
150
- | title | date | layout | category | content |
151
- | Star Wars | 2009-03-27 | simple | movies | Luke, I am your father. |
152
- And I have a simple layout that contains "Post category: {{ page.categories }}"
153
- When I run jekyll build
154
- Then the _site directory should exist
155
- And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
156
-
157
- Scenario: Use post.categories variable when category is in YAML and is mixed-case
158
- Given I have a _posts directory
159
- And I have a _layouts directory
160
- And I have the following post:
161
- | title | date | layout | category | content |
162
- | Star Wars | 2009-03-27 | simple | Movies | Luke, I am your father. |
163
- And I have a simple layout that contains "Post category: {{ page.categories }}"
164
- When I run jekyll build
165
- Then the _site directory should exist
166
- And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
167
-
168
- Scenario: Use post.categories variable when categories are in YAML
169
- Given I have a _posts directory
170
- And I have a _layouts directory
171
- And I have the following post:
172
- | title | date | layout | categories | content |
173
- | Star Wars | 2009-03-27 | simple | ['scifi', 'movies'] | Luke, I am your father. |
174
- And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
175
- When I run jekyll build
176
- Then the _site directory should exist
177
- And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
178
-
179
- Scenario: Use post.categories variable when categories are in YAML and are duplicated
180
- Given I have a _posts directory
181
- And I have a _layouts directory
182
- And I have the following post:
183
- | title | date | layout | categories | content |
184
- | Star Wars | 2009-03-27 | simple | ['movies', 'movies'] | Luke, I am your father. |
185
- And I have a simple layout that contains "Post category: {{ page.categories }}"
186
- When I run jekyll build
187
- Then the _site directory should exist
188
- And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
189
-
190
- Scenario: Use post.categories variable when categories are in YAML with mixed case
191
- Given I have a _posts directory
192
- And I have a _layouts directory
193
- And I have the following posts:
194
- | title | date | layout | categories | content |
195
- | Star Wars | 2009-03-27 | simple | ['scifi', 'Movies'] | Luke, I am your father. |
196
- | Star Trek | 2013-03-17 | simple | ['SciFi', 'movies'] | Jean Luc, I am your father. |
197
- And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
198
- When I run jekyll build
199
- Then the _site directory should exist
200
- And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
201
- And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2013/03/17/star-trek.html"
202
-
203
- Scenario Outline: Use page.path variable
204
- Given I have a <dir>/_posts directory
205
- And I have the following post in "<dir>":
206
- | title | type | date | content |
207
- | my-post | html | 2013-04-12 | Source path: {{ page.path }} |
208
- When I run jekyll build
209
- Then the _site directory should exist
210
- And I should see "Source path: <path_prefix>_posts/2013-04-12-my-post.html" in "_site/<dir>/2013/04/12/my-post.html"
211
-
212
- Examples:
213
- | dir | path_prefix |
214
- | . | |
215
- | dir | dir/ |
216
- | dir/nested | dir/nested/ |
217
-
218
- Scenario: Override page.path variable
219
- Given I have a _posts directory
220
- And I have the following post:
221
- | title | date | path | content |
222
- | override | 2013-04-12 | override-path.html | Custom path: {{ page.path }} |
223
- When I run jekyll build
224
- Then the _site directory should exist
225
- And I should see "Custom path: override-path.html" in "_site/2013/04/12/override.html"
226
-
227
- Scenario: Disable a post from being published
228
- Given I have a _posts directory
229
- And I have an "index.html" file that contains "Published!"
230
- And I have the following post:
231
- | title | date | layout | published | content |
232
- | Star Wars | 2009-03-27 | simple | false | Luke, I am your father. |
233
- When I run jekyll build
234
- Then the _site directory should exist
235
- And the "_site/2009/03/27/star-wars.html" file should not exist
236
- And I should see "Published!" in "_site/index.html"
237
-
238
- Scenario: Use a custom variable
239
- Given I have a _posts directory
240
- And I have a _layouts directory
241
- And I have the following post:
242
- | title | date | layout | author | content |
243
- | Star Wars | 2009-03-27 | simple | Darth Vader | Luke, I am your father. |
244
- And I have a simple layout that contains "Post author: {{ page.author }}"
245
- When I run jekyll build
246
- Then the _site directory should exist
247
- And I should see "Post author: Darth Vader" in "_site/2009/03/27/star-wars.html"
248
-
249
- Scenario: Previous and next posts title
250
- Given I have a _posts directory
251
- And I have a _layouts directory
252
- And I have the following posts:
253
- | title | date | layout | author | content |
254
- | Star Wars | 2009-03-27 | ordered | Darth Vader | Luke, I am your father. |
255
- | Some like it hot | 2009-04-27 | ordered | Osgood | Nobody is perfect. |
256
- | Terminator | 2009-05-27 | ordered | Arnold | Sayonara, baby |
257
- And I have a ordered layout that contains "Previous post: {{ page.previous.title }} and next post: {{ page.next.title }}"
258
- When I run jekyll build
259
- Then the _site directory should exist
260
- And I should see "next post: Some like it hot" in "_site/2009/03/27/star-wars.html"
261
- And I should see "Previous post: Some like it hot" in "_site/2009/05/27/terminator.html"