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,158 +0,0 @@
1
- Feature: Create sites
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: Blank site
7
- Given I do not have a "test_blank" directory
8
- When I run jekyll new test_blank --blank
9
- Then the test_blank/_layouts directory should exist
10
- And the test_blank/_posts directory should exist
11
- And the "test_blank/index.html" file should exist
12
-
13
- Scenario: Basic site
14
- Given I have an "index.html" file that contains "Basic Site"
15
- When I run jekyll build
16
- Then the _site directory should exist
17
- And I should see "Basic Site" in "_site/index.html"
18
-
19
- Scenario: Basic site with a post
20
- Given I have a _posts directory
21
- And I have the following post:
22
- | title | date | content |
23
- | Hackers | 2009-03-27 | My First Exploit |
24
- When I run jekyll build
25
- Then the _site directory should exist
26
- And I should see "My First Exploit" in "_site/2009/03/27/hackers.html"
27
-
28
- Scenario: Basic site with layout and a page
29
- Given I have a _layouts directory
30
- And I have an "index.html" page with layout "default" that contains "Basic Site with Layout"
31
- And I have a default layout that contains "Page Layout: {{ content }}"
32
- When I run jekyll build
33
- Then the _site directory should exist
34
- And I should see "Page Layout: Basic Site with Layout" in "_site/index.html"
35
-
36
- Scenario: Basic site with layout and a post
37
- Given I have a _layouts directory
38
- And I have a _posts directory
39
- And I have the following posts:
40
- | title | date | layout | content |
41
- | Wargames | 2009-03-27 | default | The only winning move is not to play. |
42
- And I have a default layout that contains "Post Layout: {{ content }}"
43
- When I run jekyll build
44
- Then the _site directory should exist
45
- And I should see "Post Layout: <p>The only winning move is not to play.</p>" in "_site/2009/03/27/wargames.html"
46
-
47
- Scenario: Basic site with layout inside a subfolder and a post
48
- Given I have a _layouts directory
49
- And I have a _posts directory
50
- And I have the following posts:
51
- | title | date | layout | content |
52
- | Wargames | 2009-03-27 | post/simple | The only winning move is not to play. |
53
- And I have a post/simple layout that contains "Post Layout: {{ content }}"
54
- When I run jekyll build
55
- Then the _site directory should exist
56
- And I should see "Post Layout: <p>The only winning move is not to play.</p>" in "_site/2009/03/27/wargames.html"
57
-
58
- Scenario: Basic site with layouts, pages, posts and files
59
- Given I have a _layouts directory
60
- And I have a page layout that contains "Page {{ page.title }}: {{ content }}"
61
- And I have a post layout that contains "Post {{ page.title }}: {{ content }}"
62
- And I have an "index.html" page with layout "page" that contains "Site contains {{ site.pages.size }} pages and {{ site.posts.size }} posts"
63
- And I have a blog directory
64
- And I have a "blog/index.html" page with layout "page" that contains "blog category index page"
65
- And I have an "about.html" file that contains "No replacement {{ site.posts.size }}"
66
- And I have an "another_file" file that contains ""
67
- And I have a _posts directory
68
- And I have the following posts:
69
- | title | date | layout | content |
70
- | entry1 | 2009-03-27 | post | content for entry1. |
71
- | entry2 | 2009-04-27 | post | content for entry2. |
72
- And I have a category/_posts directory
73
- And I have the following posts in "category":
74
- | title | date | layout | content |
75
- | entry3 | 2009-05-27 | post | content for entry3. |
76
- | entry4 | 2009-06-27 | post | content for entry4. |
77
- When I run jekyll build
78
- Then the _site directory should exist
79
- And I should see "Page : Site contains 2 pages and 4 posts" in "_site/index.html"
80
- And I should see "No replacement \{\{ site.posts.size \}\}" in "_site/about.html"
81
- And I should see "" in "_site/another_file"
82
- And I should see "Page : blog category index page" in "_site/blog/index.html"
83
- And I should see "Post entry1: <p>content for entry1.</p>" in "_site/2009/03/27/entry1.html"
84
- And I should see "Post entry2: <p>content for entry2.</p>" in "_site/2009/04/27/entry2.html"
85
- And I should see "Post entry3: <p>content for entry3.</p>" in "_site/category/2009/05/27/entry3.html"
86
- And I should see "Post entry4: <p>content for entry4.</p>" in "_site/category/2009/06/27/entry4.html"
87
-
88
- Scenario: Basic site with include tag
89
- Given I have a _includes directory
90
- And I have an "index.html" page that contains "Basic Site with include tag: {% include about.textile %}"
91
- And I have an "_includes/about.textile" file that contains "Generated by Jekyll"
92
- When I run jekyll build
93
- Then the _site directory should exist
94
- And I should see "Basic Site with include tag: Generated by Jekyll" in "_site/index.html"
95
-
96
- Scenario: Basic site with subdir include tag
97
- Given I have a _includes directory
98
- And I have an "_includes/about.textile" file that contains "Generated by Jekyll"
99
- And I have an info directory
100
- And I have an "info/index.html" page that contains "Basic Site with subdir include tag: {% include about.textile %}"
101
- When I run jekyll build
102
- Then the _site directory should exist
103
- And I should see "Basic Site with subdir include tag: Generated by Jekyll" in "_site/info/index.html"
104
-
105
- Scenario: Basic site with nested include tag
106
- Given I have a _includes directory
107
- And I have an "_includes/about.textile" file that contains "Generated by {% include jekyll.textile %}"
108
- And I have an "_includes/jekyll.textile" file that contains "Jekyll"
109
- And I have an "index.html" page that contains "Basic Site with include tag: {% include about.textile %}"
110
- When I run jekyll build
111
- Then the _site directory should exist
112
- And I should see "Basic Site with include tag: Generated by Jekyll" in "_site/index.html"
113
-
114
- Scenario: Basic site with internal post linking
115
- Given I have an "index.html" page that contains "URL: {% post_url 2020-01-31-entry2 %}"
116
- And I have a configuration file with "permalink" set to "pretty"
117
- And I have a _posts directory
118
- And I have the following posts:
119
- | title | date | layout | content |
120
- | entry1 | 2007-12-31 | post | content for entry1. |
121
- | entry2 | 2020-01-31 | post | content for entry2. |
122
- When I run jekyll build
123
- Then the _site directory should exist
124
- And I should see "URL: /2020/01/31/entry2/" in "_site/index.html"
125
-
126
- Scenario: Basic site with whitelisted dotfile
127
- Given I have an ".htaccess" file that contains "SomeDirective"
128
- When I run jekyll build
129
- Then the _site directory should exist
130
- And I should see "SomeDirective" in "_site/.htaccess"
131
-
132
- Scenario: File was replaced by a directory
133
- Given I have a "test" file that contains "some stuff"
134
- When I run jekyll build
135
- Then the _site directory should exist
136
- When I delete the file "test"
137
- Given I have a test directory
138
- And I have a "test/index.html" file that contains "some other stuff"
139
- When I run jekyll build
140
- Then the _site/test directory should exist
141
- And I should see "some other stuff" in "_site/test/index.html"
142
-
143
- Scenario: Basic site with unpublished page
144
- Given I have an "index.html" page with title "index" that contains "Published page"
145
- And I have a "public.html" page with published "true" that contains "Explicitly published page"
146
- And I have a "secret.html" page with published "false" that contains "Unpublished page"
147
-
148
- When I run jekyll build
149
- Then the _site directory should exist
150
- And the "_site/index.html" file should exist
151
- And the "_site/public.html" file should exist
152
- But the "_site/secret.html" file should not exist
153
-
154
- When I run jekyll build --unpublished
155
- Then the _site directory should exist
156
- And the "_site/index.html" file should exist
157
- And the "_site/public.html" file should exist
158
- And the "_site/secret.html" file should exist
@@ -1,105 +0,0 @@
1
- Feature: Data
2
- In order to use well-formatted data in my blog
3
- As a blog's user
4
- I want to use _data directory in my site
5
-
6
- Scenario: autoload *.yaml files in _data directory
7
- Given I have a _data directory
8
- And I have a "_data/products.yaml" file with content:
9
- """
10
- - name: sugar
11
- price: 5.3
12
- - name: salt
13
- price: 2.5
14
- """
15
- And I have an "index.html" page that contains "{% for product in site.data.products %}{{product.name}}{% endfor %}"
16
- When I run jekyll build
17
- Then the "_site/index.html" file should exist
18
- And I should see "sugar" in "_site/index.html"
19
- And I should see "salt" in "_site/index.html"
20
-
21
- Scenario: autoload *.yml files in _data directory
22
- Given I have a _data directory
23
- And I have a "_data/members.yml" file with content:
24
- """
25
- - name: Jack
26
- age: 28
27
- - name: Leon
28
- age: 34
29
- """
30
- And I have an "index.html" page that contains "{% for member in site.data.members %}{{member.name}}{% endfor %}"
31
- When I run jekyll build
32
- Then the "_site/index.html" file should exist
33
- And I should see "Jack" in "_site/index.html"
34
- And I should see "Leon" in "_site/index.html"
35
-
36
- Scenario: autoload *.json files in _data directory
37
- Given I have a _data directory
38
- And I have a "_data/members.json" file with content:
39
- """
40
- [{"name": "Jack", "age": 28},{"name": "Leon", "age": 34}]
41
- """
42
- And I have an "index.html" page that contains "{% for member in site.data.members %}{{member.name}}{% endfor %}"
43
- When I run jekyll build
44
- Then the "_site/index.html" file should exist
45
- And I should see "Jack" in "_site/index.html"
46
- And I should see "Leon" in "_site/index.html"
47
-
48
- Scenario: autoload *.yml files in _data directory with space in file name
49
- Given I have a _data directory
50
- And I have a "_data/team members.yml" file with content:
51
- """
52
- - name: Jack
53
- age: 28
54
- - name: Leon
55
- age: 34
56
- """
57
- And I have an "index.html" page that contains "{% for member in site.data.team_members %}{{member.name}}{% endfor %}"
58
- When I run jekyll build
59
- Then the "_site/index.html" file should exist
60
- And I should see "Jack" in "_site/index.html"
61
- And I should see "Leon" in "_site/index.html"
62
-
63
- Scenario: autoload *.yaml files in subdirectories in _data directory
64
- Given I have a _data directory
65
- And I have a _data/categories directory
66
- And I have a "_data/categories/dairy.yaml" file with content:
67
- """
68
- name: Dairy Products
69
- """
70
- And I have an "index.html" page that contains "{{ site.data.categories.dairy.name }}"
71
- When I run jekyll build
72
- Then the "_site/index.html" file should exist
73
- And I should see "Dairy Products" in "_site/index.html"
74
-
75
- Scenario: folders should have precedence over files with the same name
76
- Given I have a _data directory
77
- And I have a _data/categories directory
78
- And I have a "_data/categories/dairy.yaml" file with content:
79
- """
80
- name: Dairy Products
81
- """
82
- And I have a "_data/categories.yaml" file with content:
83
- """
84
- dairy:
85
- name: Should not display this
86
- """
87
- And I have an "index.html" page that contains "{{ site.data.categories.dairy.name }}"
88
- When I run jekyll build
89
- Then the "_site/index.html" file should exist
90
- And I should see "Dairy Products" in "_site/index.html"
91
-
92
- Scenario: should be backward compatible with site.data in _config.yml
93
- Given I have a "_config.yml" file with content:
94
- """
95
- data:
96
- - name: Jack
97
- age: 28
98
- - name: Leon
99
- age: 34
100
- """
101
- And I have an "index.html" page that contains "{% for member in site.data %}{{member.name}}{% endfor %}"
102
- When I run jekyll build
103
- Then the "_site/index.html" file should exist
104
- And I should see "Jack" in "_site/index.html"
105
- And I should see "Leon" in "_site/index.html"
@@ -1,46 +0,0 @@
1
- Feature: Draft Posts
2
- As a hacker who likes to blog
3
- I want to be able to preview drafts locally
4
- In order to see if they look alright before publishing
5
-
6
- Scenario: Preview a draft
7
- Given I have a configuration file with "permalink" set to "none"
8
- And I have a _drafts directory
9
- And I have the following draft:
10
- | title | date | layout | content |
11
- | Recipe | 2009-03-27 | default | Not baked yet. |
12
- When I run jekyll build --drafts
13
- Then the _site directory should exist
14
- And I should see "Not baked yet." in "_site/recipe.html"
15
-
16
- Scenario: Don't preview a draft
17
- Given I have a configuration file with "permalink" set to "none"
18
- And I have an "index.html" page that contains "Totally index"
19
- And I have a _drafts directory
20
- And I have the following draft:
21
- | title | date | layout | content |
22
- | Recipe | 2009-03-27 | default | Not baked yet. |
23
- When I run jekyll build
24
- Then the _site directory should exist
25
- And the "_site/recipe.html" file should not exist
26
-
27
- Scenario: Don't preview a draft that is not published
28
- Given I have a configuration file with "permalink" set to "none"
29
- And I have an "index.html" page that contains "Totally index"
30
- And I have a _drafts directory
31
- And I have the following draft:
32
- | title | date | layout | published | content |
33
- | Recipe | 2009-03-27 | default | false | Not baked yet. |
34
- When I run jekyll build --drafts
35
- Then the _site directory should exist
36
- And the "_site/recipe.html" file should not exist
37
-
38
- Scenario: Use page.path variable
39
- Given I have a configuration file with "permalink" set to "none"
40
- And I have a _drafts directory
41
- And I have the following draft:
42
- | title | date | layout | content |
43
- | Recipe | 2009-03-27 | simple | Post path: {{ page.path }} |
44
- When I run jekyll build --drafts
45
- Then the _site directory should exist
46
- And I should see "Post path: _drafts/recipe.textile" in "_site/recipe.html"
@@ -1,107 +0,0 @@
1
- Feature: Embed filters
2
- As a hacker who likes to blog
3
- I want to be able to transform text inside a post or page
4
- In order to perform cool stuff in my posts
5
-
6
- Scenario: Convert date to XML schema
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 | default | These aren't the droids you're looking for. |
12
- And I have a default layout that contains "{{ site.time | date_to_xmlschema }}"
13
- When I run jekyll build
14
- Then the _site directory should exist
15
- And I should see today's date in "_site/2009/03/27/star-wars.html"
16
-
17
- Scenario: Escape text for XML
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 | default | These aren't the droids you're looking for. |
23
-
24
-
25
- And I have a default layout that contains "{{ page.title | xml_escape }}"
26
- When I run jekyll build
27
- Then the _site directory should exist
28
- And I should see "Star &amp; Wars" in "_site/2009/03/27/star-wars.html"
29
-
30
- Scenario: Calculate number of words
31
- Given I have a _posts directory
32
- And I have a _layouts directory
33
- And I have the following post:
34
- | title | date | layout | content |
35
- | Star Wars | 2009-03-27 | default | These aren't the droids you're looking for. |
36
- And I have a default layout that contains "{{ content | xml_escape }}"
37
- When I run jekyll build
38
- Then the _site directory should exist
39
- And I should see "7" in "_site/2009/03/27/star-wars.html"
40
-
41
- Scenario: Convert an array into a sentence
42
- Given I have a _posts directory
43
- And I have a _layouts directory
44
- And I have the following post:
45
- | title | date | layout | tags | content |
46
- | Star Wars | 2009-03-27 | default | [scifi, movies, force] | These aren't the droids you're looking for. |
47
- And I have a default layout that contains "{{ page.tags | array_to_sentence_string }}"
48
- When I run jekyll build
49
- Then the _site directory should exist
50
- And I should see "scifi, movies, and force" in "_site/2009/03/27/star-wars.html"
51
-
52
- Scenario: Textilize a given string
53
- Given I have a _posts directory
54
- And I have a _layouts directory
55
- And I have the following post:
56
- | title | date | layout | content |
57
- | Star Wars | 2009-03-27 | default | These aren't the droids you're looking for. |
58
- And I have a default layout that contains "By {{ '_Obi-wan_' | textilize }}"
59
- When I run jekyll build
60
- Then the _site directory should exist
61
- And I should see "By <p><em>Obi-wan</em></p>" in "_site/2009/03/27/star-wars.html"
62
-
63
- Scenario: Sort by an arbitrary variable
64
- Given I have a _layouts directory
65
- And I have the following page:
66
- | title | layout | value | content |
67
- | Page-1 | default | 8 | Something |
68
- And I have the following page:
69
- | title | layout | value | content |
70
- | Page-2 | default | 6 | Something |
71
- And I have a default layout that contains "{{ site.pages | sort:'value' | map:'title' | join:', ' }}"
72
- When I run jekyll build
73
- Then the _site directory should exist
74
- And I should see exactly "Page-2, Page-1" in "_site/page-1.html"
75
- And I should see exactly "Page-2, Page-1" in "_site/page-2.html"
76
-
77
- Scenario: Sort pages by the title
78
- Given I have a _layouts directory
79
- And I have the following page:
80
- | title | layout | content |
81
- | Dog | default | Run |
82
- And I have the following page:
83
- | title | layout | content |
84
- | Bird | default | Fly |
85
- And I have the following page:
86
- | layout | content |
87
- | default | Jump |
88
- And I have a default layout that contains "{% assign sorted_pages = site.pages | sort: 'title' %}The rule of {{ sorted_pages.size }}: {% for p in sorted_pages %}{{ p.content | strip_html | strip_newlines }}, {% endfor %}"
89
- When I run jekyll build
90
- Then the _site directory should exist
91
- And I should see exactly "The rule of 3: Jump, Fly, Run," in "_site/bird.html"
92
-
93
- Scenario: Sort pages by the title ordering pages without title last
94
- Given I have a _layouts directory
95
- And I have the following page:
96
- | title | layout | content |
97
- | Dog | default | Run |
98
- And I have the following page:
99
- | title | layout | content |
100
- | Bird | default | Fly |
101
- And I have the following page:
102
- | layout | content |
103
- | default | Jump |
104
- And I have a default layout that contains "{% assign sorted_pages = site.pages | sort: 'title', 'last' %}The rule of {{ sorted_pages.size }}: {% for p in sorted_pages %}{{ p.content | strip_html | strip_newlines }}, {% endfor %}"
105
- When I run jekyll build
106
- Then the _site directory should exist
107
- And I should see exactly "The rule of 3: Fly, Run, Jump," in "_site/bird.html"
@@ -1,136 +0,0 @@
1
- Feature: frontmatter defaults
2
- Scenario: Use default for frontmatter variables internally
3
- Given I have a _layouts directory
4
- And I have a pretty layout that contains "THIS IS THE LAYOUT: {{content}}"
5
-
6
- And I have a _posts directory
7
- And I have the following post:
8
- | title | date | content |
9
- | default layout | 2013-09-11 | just some post |
10
- And I have an "index.html" page with title "some title" that contains "just some page"
11
-
12
- And I have a configuration file with "defaults" set to "[{scope: {path: ""}, values: {layout: "pretty"}}]"
13
-
14
- When I run jekyll build
15
- Then the _site directory should exist
16
- And I should see "THIS IS THE LAYOUT: <p>just some post</p>" in "_site/2013/09/11/default-layout.html"
17
- And I should see "THIS IS THE LAYOUT: just some page" in "_site/index.html"
18
-
19
- Scenario: Use default for frontmatter variables in Liquid
20
- Given I have a _posts directory
21
- And I have the following post:
22
- | title | date | content |
23
- | default data | 2013-09-11 | <p>{{page.custom}}</p><div>{{page.author}}</div> |
24
- And I have an "index.html" page that contains "just {{page.custom}} by {{page.author}}"
25
- And I have a configuration file with "defaults" set to "[{scope: {path: ""}, values: {custom: "some special data", author: "Ben"}}]"
26
- When I run jekyll build
27
- Then the _site directory should exist
28
- And I should see "<p>some special data</p><div>Ben</div>" in "_site/2013/09/11/default-data.html"
29
- And I should see "just some special data by Ben" in "_site/index.html"
30
-
31
- Scenario: Override frontmatter defaults by path
32
- Given I have a _layouts directory
33
- And I have a root layout that contains "root: {{ content }}"
34
- And I have a subfolder layout that contains "subfolder: {{ content }}"
35
-
36
- And I have a _posts directory
37
- And I have the following post:
38
- | title | date | content |
39
- | about | 2013-10-14 | info on {{page.description}} |
40
- And I have a special/_posts directory
41
- And I have the following post in "special":
42
- | title | date | path | content |
43
- | about | 2013-10-14 | local | info on {{page.description}} |
44
-
45
- And I have an "index.html" page with title "overview" that contains "Overview for {{page.description}}"
46
- And I have an "special/index.html" page with title "section overview" that contains "Overview for {{page.description}}"
47
-
48
- And I have a configuration file with "defaults" set to "[{scope: {path: "special"}, values: {layout: "subfolder", description: "the special section"}}, {scope: {path: ""}, values: {layout: "root", description: "the webpage"}}]"
49
-
50
- When I run jekyll build
51
- Then the _site directory should exist
52
- And I should see "root: <p>info on the webpage</p>" in "_site/2013/10/14/about.html"
53
- And I should see "subfolder: <p>info on the special section</p>" in "_site/special/2013/10/14/about.html"
54
- And I should see "root: Overview for the webpage" in "_site/index.html"
55
- And I should see "subfolder: Overview for the special section" in "_site/special/index.html"
56
-
57
- Scenario: Override frontmatter defaults by type
58
- Given I have a _posts directory
59
- And I have the following post:
60
- | title | date | content |
61
- | this is a post | 2013-10-14 | blabla |
62
- And I have an "index.html" page that contains "interesting stuff"
63
- And I have a configuration file with "defaults" set to "[{scope: {path: "", type: "post"}, values: {permalink: "/post.html"}}, {scope: {path: "", type: "page"}, values: {permalink: "/page.html"}}, {scope: {path: ""}, values: {permalink: "/perma.html"}}]"
64
- When I run jekyll build
65
- Then I should see "blabla" in "_site/post.html"
66
- And I should see "interesting stuff" in "_site/page.html"
67
- But the "_site/perma.html" file should not exist
68
-
69
- Scenario: Actual frontmatter overrides defaults
70
- Given I have a _posts directory
71
- And I have the following post:
72
- | title | date | permalink | author | content |
73
- | override | 2013-10-14 | /frontmatter.html | some guy | a blog by {{page.author}} |
74
- And I have an "index.html" page with permalink "override.html" that contains "nothing"
75
- And I have a configuration file with "defaults" set to "[{scope: {path: ""}, values: {permalink: "/perma.html", author: "Chris"}}]"
76
- When I run jekyll build
77
- Then I should see "a blog by some guy" in "_site/frontmatter.html"
78
- And I should see "nothing" in "_site/override.html"
79
- But the "_site/perma.html" file should not exist
80
-
81
- Scenario: Use frontmatter defaults in collections
82
- Given I have a _slides directory
83
- And I have a "index.html" file that contains "nothing"
84
- And I have a "_slides/slide1.html" file with content:
85
- """
86
- Value: {{ page.myval }}
87
- """
88
- And I have a "_config.yml" file with content:
89
- """
90
- collections:
91
- slides:
92
- output: true
93
- defaults:
94
- -
95
- scope:
96
- path: ""
97
- type: slides
98
- values:
99
- myval: "Test"
100
- """
101
- When I run jekyll build
102
- Then the _site directory should exist
103
- And I should see "Value: Test" in "_site/slides/slide1.html"
104
-
105
- Scenario: Override frontmatter defaults inside a collection
106
- Given I have a _slides directory
107
- And I have a "index.html" file that contains "nothing"
108
- And I have a "_slides/slide2.html" file with content:
109
- """
110
- ---
111
- myval: Override
112
- ---
113
- Value: {{ page.myval }}
114
- """
115
- And I have a "_config.yml" file with content:
116
- """
117
- collections:
118
- slides:
119
- output: true
120
- defaults:
121
- -
122
- scope:
123
- path: ""
124
- type: slides
125
- values:
126
- myval: "Test"
127
- """
128
- When I run jekyll build
129
- Then the _site directory should exist
130
- And I should see "Value: Override" in "_site/slides/slide2.html"
131
-
132
- Scenario: Deep merge frontmatter defaults
133
- Given I have an "index.html" page with fruit "{orange: 1}" that contains "Fruits: {{ page.fruit.orange | plus: page.fruit.apple }}"
134
- And I have a configuration file with "defaults" set to "[{scope: {path: ""}, values: {fruit: {apple: 2}}}]"
135
- When I run jekyll build
136
- Then I should see "Fruits: 3" in "_site/index.html"