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.
- checksums.yaml +4 -4
- data/README.markdown +1 -1
- data/lib/jekyll.rb +0 -1
- data/lib/jekyll/collection.rb +18 -3
- data/lib/jekyll/command.rb +0 -25
- data/lib/jekyll/commands/build.rb +7 -2
- data/lib/jekyll/commands/help.rb +33 -0
- data/lib/jekyll/configuration.rb +36 -28
- data/lib/jekyll/converters/markdown/kramdown_parser.rb +1 -1
- data/lib/jekyll/convertible.rb +43 -20
- data/lib/jekyll/deprecator.rb +15 -8
- data/lib/jekyll/document.rb +21 -4
- data/lib/jekyll/filters.rb +27 -1
- data/lib/jekyll/frontmatter_defaults.rb +46 -12
- data/lib/jekyll/plugin.rb +10 -1
- data/lib/jekyll/post.rb +6 -13
- data/lib/jekyll/related_posts.rb +2 -2
- data/lib/jekyll/renderer.rb +7 -2
- data/lib/jekyll/site.rb +5 -7
- data/lib/jekyll/static_file.rb +24 -4
- data/lib/jekyll/tags/include.rb +3 -1
- data/lib/jekyll/tags/post_url.rb +2 -2
- data/lib/jekyll/utils.rb +88 -69
- data/lib/jekyll/version.rb +1 -1
- data/lib/site_template/_config.yml +6 -4
- data/lib/site_template/_includes/footer.html +43 -49
- data/lib/site_template/_includes/head.html +3 -4
- data/lib/site_template/_includes/header.html +9 -10
- data/lib/site_template/_layouts/default.html +6 -5
- data/lib/site_template/_layouts/page.html +3 -3
- data/lib/site_template/_layouts/post.html +4 -4
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +6 -5
- data/lib/site_template/_sass/_base.scss +203 -0
- data/lib/site_template/_sass/_layout.scss +236 -0
- data/lib/site_template/_sass/_syntax-highlighting.scss +67 -0
- data/lib/site_template/css/main.scss +49 -0
- data/lib/site_template/feed.xml +1 -1
- data/lib/site_template/index.html +7 -4
- metadata +24 -431
- data/.gitignore +0 -15
- data/.travis.yml +0 -27
- data/CONTRIBUTING.markdown +0 -91
- data/Gemfile +0 -2
- data/History.markdown +0 -1310
- data/Rakefile +0 -268
- data/cucumber.yml +0 -3
- data/docs/jp/CONTRIBUTING.jp.markdown +0 -93
- data/docs/jp/README.jp.markdown +0 -68
- data/features/collections.feature +0 -145
- data/features/create_sites.feature +0 -158
- data/features/data.feature +0 -105
- data/features/drafts.feature +0 -46
- data/features/embed_filters.feature +0 -107
- data/features/frontmatter_defaults.feature +0 -136
- data/features/include_tag.feature +0 -68
- data/features/markdown.feature +0 -67
- data/features/pagination.feature +0 -82
- data/features/permalinks.feature +0 -85
- data/features/post_data.feature +0 -261
- data/features/post_excerpts.feature +0 -50
- data/features/rendering.feature +0 -34
- data/features/site_configuration.feature +0 -283
- data/features/site_data.feature +0 -107
- data/features/step_definitions/jekyll_steps.rb +0 -201
- data/features/support/env.rb +0 -65
- data/jekyll.gemspec +0 -66
- data/lib/site_template/css/main.css +0 -410
- data/script/bootstrap +0 -4
- data/script/branding +0 -11
- data/script/cibuild +0 -7
- data/script/console +0 -38
- data/script/proof +0 -22
- data/script/rebund +0 -140
- data/script/test +0 -17
- data/site/.gitignore +0 -4
- data/site/CNAME +0 -1
- data/site/README +0 -1
- data/site/_config.yml +0 -9
- data/site/_data/docs.yml +0 -46
- data/site/_includes/analytics.html +0 -30
- data/site/_includes/anchor_links.html +0 -32
- data/site/_includes/css/font-awesome.css +0 -44
- data/site/_includes/css/gridism.css +0 -110
- data/site/_includes/css/normalize.css +0 -1
- data/site/_includes/css/pygments.css +0 -72
- data/site/_includes/css/style.css +0 -1045
- data/site/_includes/docs_contents.html +0 -8
- data/site/_includes/docs_contents_mobile.html +0 -10
- data/site/_includes/docs_option.html +0 -11
- data/site/_includes/docs_ul.html +0 -20
- data/site/_includes/footer.html +0 -15
- data/site/_includes/header.html +0 -18
- data/site/_includes/news_contents.html +0 -33
- data/site/_includes/news_contents_mobile.html +0 -11
- data/site/_includes/news_item.html +0 -24
- data/site/_includes/primary-nav-items.html +0 -17
- data/site/_includes/section_nav.html +0 -22
- data/site/_includes/top.html +0 -17
- data/site/_layouts/default.html +0 -13
- data/site/_layouts/docs.html +0 -23
- data/site/_layouts/news.html +0 -19
- data/site/_layouts/news_item.html +0 -27
- data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +0 -23
- data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +0 -27
- data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +0 -28
- data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +0 -25
- data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +0 -27
- data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +0 -31
- data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +0 -20
- data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +0 -20
- data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +0 -23
- data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +0 -19
- data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +0 -19
- data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +0 -43
- data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +0 -21
- data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +0 -30
- data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +0 -20
- data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +0 -18
- data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +0 -26
- data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +0 -19
- data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +0 -26
- data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +0 -31
- data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +0 -18
- data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +0 -19
- data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +0 -31
- data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +0 -30
- data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +0 -19
- data/site/css/screen.css +0 -31
- data/site/docs/assets.md +0 -66
- data/site/docs/collections.md +0 -259
- data/site/docs/configuration.md +0 -536
- data/site/docs/continuous-integration.md +0 -177
- data/site/docs/contributing.md +0 -133
- data/site/docs/datafiles.md +0 -108
- data/site/docs/deployment-methods.md +0 -127
- data/site/docs/drafts.md +0 -21
- data/site/docs/extras.md +0 -18
- data/site/docs/frontmatter.md +0 -191
- data/site/docs/github-pages.md +0 -91
- data/site/docs/history.md +0 -1514
- data/site/docs/index.md +0 -58
- data/site/docs/installation.md +0 -106
- data/site/docs/migrations.md +0 -11
- data/site/docs/pages.md +0 -86
- data/site/docs/pagination.md +0 -212
- data/site/docs/permalinks.md +0 -188
- data/site/docs/plugins.md +0 -561
- data/site/docs/posts.md +0 -211
- data/site/docs/quickstart.md +0 -26
- data/site/docs/resources.md +0 -43
- data/site/docs/sites.md +0 -29
- data/site/docs/structure.md +0 -190
- data/site/docs/templates.md +0 -376
- data/site/docs/troubleshooting.md +0 -147
- data/site/docs/upgrading.md +0 -146
- data/site/docs/usage.md +0 -74
- data/site/docs/variables.md +0 -382
- data/site/docs/windows.md +0 -44
- data/site/favicon.ico +0 -0
- data/site/feed.xml +0 -48
- data/site/fonts/FontAwesome.otf +0 -0
- data/site/fonts/fontawesome-webfont.eot +0 -0
- data/site/fonts/fontawesome-webfont.svg +0 -504
- data/site/fonts/fontawesome-webfont.ttf +0 -0
- data/site/fonts/fontawesome-webfont.woff +0 -0
- data/site/freenode.txt +0 -1
- data/site/img/article-footer.png +0 -0
- data/site/img/footer-arrow.png +0 -0
- data/site/img/footer-logo.png +0 -0
- data/site/img/jekyll-sticker.jpg +0 -0
- data/site/img/logo-2x.png +0 -0
- data/site/img/logo-rss.png +0 -0
- data/site/img/octojekyll.png +0 -0
- data/site/index.html +0 -90
- data/site/js/html5shiv.min.js +0 -4
- data/site/js/respond.min.js +0 -5
- data/site/news/index.html +0 -10
- data/site/news/releases/index.html +0 -10
- data/test/fixtures/broken_front_matter1.erb +0 -5
- data/test/fixtures/broken_front_matter2.erb +0 -4
- data/test/fixtures/broken_front_matter3.erb +0 -7
- data/test/fixtures/exploit_front_matter.erb +0 -4
- data/test/fixtures/front_matter.erb +0 -4
- data/test/helper.rb +0 -80
- data/test/source/+/%# +.md +0 -6
- data/test/source/+/foo.md +0 -7
- data/test/source/.htaccess +0 -8
- data/test/source/_config.dev.toml +0 -2
- data/test/source/_data/categories/dairy.yaml +0 -6
- data/test/source/_data/languages.yml +0 -2
- data/test/source/_data/members.json +0 -12
- data/test/source/_data/members.yaml +0 -7
- data/test/source/_data/products.yml +0 -4
- data/test/source/_drafts/draft-properties.text +0 -11
- data/test/source/_includes/include.html +0 -1
- data/test/source/_includes/params.html +0 -7
- data/test/source/_includes/sig.markdown +0 -3
- data/test/source/_layouts/default.html +0 -27
- data/test/source/_layouts/post/simple.html +0 -1
- data/test/source/_layouts/simple.html +0 -1
- data/test/source/_methods/_do_not_read_me.md +0 -5
- data/test/source/_methods/configuration.md +0 -8
- data/test/source/_methods/sanitized_path.md +0 -5
- data/test/source/_methods/site/_dont_include_me_either.md +0 -5
- data/test/source/_methods/site/generate.md +0 -6
- data/test/source/_methods/site/initialize.md +0 -4
- data/test/source/_methods/um_hi.md +0 -6
- data/test/source/_plugins/dummy.rb +0 -8
- data/test/source/_posts/2008-02-02-not-published.textile +0 -8
- data/test/source/_posts/2008-02-02-published.textile +0 -8
- data/test/source/_posts/2008-10-18-foo-bar.textile +0 -8
- data/test/source/_posts/2008-11-21-complex.textile +0 -8
- data/test/source/_posts/2008-12-03-permalinked-post.textile +0 -9
- data/test/source/_posts/2008-12-13-include.markdown +0 -8
- data/test/source/_posts/2009-01-27-array-categories.textile +0 -10
- data/test/source/_posts/2009-01-27-categories.textile +0 -7
- data/test/source/_posts/2009-01-27-category.textile +0 -7
- data/test/source/_posts/2009-01-27-empty-categories.textile +0 -7
- data/test/source/_posts/2009-01-27-empty-category.textile +0 -7
- data/test/source/_posts/2009-01-27-no-category.textile +0 -6
- data/test/source/_posts/2009-03-12-hash-#1.markdown +0 -6
- data/test/source/_posts/2009-05-18-empty-tag.textile +0 -6
- data/test/source/_posts/2009-05-18-empty-tags.textile +0 -6
- data/test/source/_posts/2009-05-18-tag.textile +0 -6
- data/test/source/_posts/2009-05-18-tags.textile +0 -9
- data/test/source/_posts/2009-06-22-empty-yaml.textile +0 -3
- data/test/source/_posts/2009-06-22-no-yaml.textile +0 -1
- data/test/source/_posts/2010-01-08-triple-dash.markdown +0 -5
- data/test/source/_posts/2010-01-09-date-override.textile +0 -7
- data/test/source/_posts/2010-01-09-time-override.textile +0 -7
- data/test/source/_posts/2010-01-09-timezone-override.textile +0 -7
- data/test/source/_posts/2010-01-16-override-data.textile +0 -4
- data/test/source/_posts/2011-04-12-md-extension.md +0 -7
- data/test/source/_posts/2011-04-12-text-extension.text +0 -0
- data/test/source/_posts/2013-01-02-post-excerpt.markdown +0 -14
- data/test/source/_posts/2013-01-12-nil-layout.textile +0 -6
- data/test/source/_posts/2013-01-12-no-layout.textile +0 -5
- data/test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep +0 -0
- data/test/source/_posts/2013-04-11-custom-excerpt.markdown +0 -10
- data/test/source/_posts/2013-05-10-number-category.textile +0 -7
- data/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown +0 -23
- data/test/source/_posts/2013-08-01-mkdn-extension.mkdn +0 -0
- data/test/source/_posts/2013-12-17-include-variable-filters.markdown +0 -21
- data/test/source/_posts/2013-12-20-properties.text +0 -11
- data/test/source/_posts/2014-01-06-permalink-traversal.md +0 -5
- data/test/source/_posts/2014-03-03-yaml-with-dots.md +0 -5
- data/test/source/_posts/2014-03-22-escape-+ %20[].markdown +0 -6
- data/test/source/_posts/es/2008-11-21-nested.textile +0 -8
- data/test/source/_sass/_grid.scss +0 -1
- data/test/source/_slides/example-slide-1.html +0 -4
- data/test/source/_slides/example-slide-2.html +0 -7
- data/test/source/_slides/example-slide-3.html +0 -5
- data/test/source/_with.dots/all.dots/2.4.0.md +0 -5
- data/test/source/_with.dots/file.with.dots.md +0 -0
- data/test/source/about.html +0 -6
- data/test/source/category/_posts/2008-9-23-categories.textile +0 -6
- data/test/source/contacts.html +0 -5
- data/test/source/contacts/bar.html +0 -5
- data/test/source/contacts/index.html +0 -5
- data/test/source/css/main.scss +0 -4
- data/test/source/css/screen.css +0 -76
- data/test/source/deal.with.dots.html +0 -7
- data/test/source/environment.html +0 -5
- data/test/source/exploit.md +0 -5
- data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +0 -8
- data/test/source/index.html +0 -22
- data/test/source/js/coffeescript.coffee +0 -10
- data/test/source/pgp.key +0 -2
- data/test/source/products.yml +0 -4
- data/test/source/properties.html +0 -8
- data/test/source/sitemap.xml +0 -32
- data/test/source/static_files.html +0 -4
- data/test/source/symlink-test/symlinked-file +0 -22
- data/test/source/unpublished.html +0 -7
- data/test/source/win/_posts/2009-05-24-yaml-linebreak.markdown +0 -7
- data/test/source/z_category/_posts/2008-9-23-categories.textile +0 -6
- data/test/suite.rb +0 -11
- data/test/test_cleaner.rb +0 -77
- data/test/test_coffeescript.rb +0 -49
- data/test/test_collections.rb +0 -224
- data/test/test_command.rb +0 -53
- data/test/test_configuration.rb +0 -201
- data/test/test_convertible.rb +0 -49
- data/test/test_document.rb +0 -193
- data/test/test_draft.rb +0 -56
- data/test/test_entry_filter.rb +0 -124
- data/test/test_excerpt.rb +0 -131
- data/test/test_filters.rb +0 -207
- data/test/test_generated_site.rb +0 -97
- data/test/test_kramdown.rb +0 -62
- data/test/test_layout_reader.rb +0 -34
- data/test/test_liquid_extensions.rb +0 -31
- data/test/test_log_adapter.rb +0 -59
- data/test/test_new_command.rb +0 -104
- data/test/test_page.rb +0 -254
- data/test/test_path_sanitization.rb +0 -18
- data/test/test_post.rb +0 -741
- data/test/test_rdiscount.rb +0 -22
- data/test/test_redcarpet.rb +0 -77
- data/test/test_redcloth.rb +0 -86
- data/test/test_related_posts.rb +0 -47
- data/test/test_sass.rb +0 -26
- data/test/test_site.rb +0 -452
- data/test/test_tags.rb +0 -509
- data/test/test_url.rb +0 -28
- 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
|
data/features/data.feature
DELETED
@@ -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"
|
data/features/drafts.feature
DELETED
@@ -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 & 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"
|