nirvdrum-jekyll 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +45 -0
- data/README.textile +15 -8
- data/Rakefile +1 -0
- data/VERSION.yml +3 -2
- data/bin/jekyll +5 -1
- data/features/create_sites.feature +50 -2
- data/features/embed_filters.feature +3 -3
- data/features/markdown.feature +30 -0
- data/features/pagination.feature +12 -25
- data/features/post_data.feature +18 -18
- data/features/step_definitions/jekyll_steps.rb +8 -8
- data/jekyll.gemspec +4 -9
- data/lib/jekyll.rb +4 -3
- data/lib/jekyll/convertible.rb +6 -2
- data/lib/jekyll/core_ext.rb +22 -0
- data/lib/jekyll/page.rb +5 -1
- data/lib/jekyll/pager.rb +1 -1
- data/lib/jekyll/post.rb +13 -25
- data/lib/jekyll/site.rb +94 -81
- data/lib/jekyll/static_file.rb +28 -0
- data/lib/jekyll/tags/highlight.rb +14 -8
- data/test/helper.rb +1 -1
- data/test/source/_posts/2009-01-27-empty-categories.textile +7 -0
- data/test/source/_posts/2009-01-27-empty-category.textile +7 -0
- data/test/source/_posts/2009-05-18-empty-tag.textile +6 -0
- data/test/source/_posts/2009-05-18-empty-tags.textile +6 -0
- data/test/source/_posts/2010-01-08-triple-dash.markdown +5 -0
- data/test/source/_posts/2010-01-09-date-override.textile +5 -0
- data/test/source/_posts/2010-01-09-time-override.textile +5 -0
- data/test/test_configuration.rb +5 -5
- data/test/test_core_ext.rb +66 -0
- data/test/test_generated_site.rb +4 -0
- data/test/test_pager.rb +92 -26
- data/test/test_post.rb +46 -3
- data/test/test_site.rb +10 -2
- data/test/test_tags.rb +2 -2
- metadata +13 -2
data/History.txt
CHANGED
@@ -1,3 +1,48 @@
|
|
1
|
+
== Edge
|
2
|
+
* Bug Fixes
|
3
|
+
* Render highlighted code for non markdown/textile pages (#116)
|
4
|
+
* Expand source to full path so includes work anywhere (#101)
|
5
|
+
* Fix highlighting on Ruby 1.9 (#65)
|
6
|
+
* Fix extension munging when pretty permalinks are enabled (#64)
|
7
|
+
* Stop sorting categories (#33)
|
8
|
+
|
9
|
+
== 0.5.7 / 2010-01-12
|
10
|
+
* Minor Enhancements
|
11
|
+
* Allow overriding of post date in the front matter (#62, #38)
|
12
|
+
* Bug Fixes
|
13
|
+
* Categories isn't always an array (#73)
|
14
|
+
* Empty tags causes error in read_posts (#84)
|
15
|
+
* Fix pagination to adhere to read/render/write paradigm
|
16
|
+
* Test Enhancement
|
17
|
+
* cucumber features no longer use site.ports.first where a better alternative is available
|
18
|
+
|
19
|
+
== 0.5.6 / 2010-01-08
|
20
|
+
* Bug Fixes
|
21
|
+
* Require redcloth >= 4.2.1 in tests (#92)
|
22
|
+
* Don't break on triple dashes in yaml frontmatter (#93)
|
23
|
+
* Minor Enhancements
|
24
|
+
* Allow .mkd as markdown extension
|
25
|
+
* Use $stdout/err instead of constants (#99)
|
26
|
+
* Properly wrap code blocks (#91)
|
27
|
+
* Add javascript mime type for webrick (#98)
|
28
|
+
|
29
|
+
== 0.5.5 / 2010-01-08
|
30
|
+
* Bug Fixes
|
31
|
+
* Fix pagination % 0 bug (#78)
|
32
|
+
* Ensure all posts are processed first (#71)
|
33
|
+
|
34
|
+
== NOTE
|
35
|
+
* After this point I will no longer be giving credit in the history;
|
36
|
+
that is what the commit log is for.
|
37
|
+
|
38
|
+
== 0.5.4 / 2009-08-23
|
39
|
+
* Bug Fixes
|
40
|
+
* Do not allow symlinks (security vulnerability)
|
41
|
+
|
42
|
+
== 0.5.3 / 2009-07-14
|
43
|
+
* Bug Fixes
|
44
|
+
* Solving the permalink bug where non-html files wouldn't work [github.com/jeffrydegrande]
|
45
|
+
|
1
46
|
== 0.5.2 / 2009-06-24
|
2
47
|
* Enhancements
|
3
48
|
* Added --paginate option to the executable along with a paginator object for the payload [github.com/calavera]
|
data/README.textile
CHANGED
@@ -20,14 +20,21 @@ h2. Diving In
|
|
20
20
|
* Customize the "Permalinks":http://wiki.github.com/mojombo/jekyll/permalinks your posts are generated with
|
21
21
|
* Use the built-in "Liquid Extensions":http://wiki.github.com/mojombo/jekyll/liquid-extensions to make your life easier
|
22
22
|
|
23
|
-
h2. Dependencies
|
24
|
-
|
25
|
-
* RedCloth: Textile support
|
26
|
-
* Liquid: Templating system
|
27
|
-
* Classifier: Generating related posts
|
28
|
-
* Maruku: Default markdown engine
|
29
|
-
* Directory Watcher: Auto-regeneration of sites
|
30
|
-
* Open4: Talking to pygments for syntax highlighting
|
23
|
+
h2. Runtime Dependencies
|
24
|
+
|
25
|
+
* RedCloth: Textile support (Ruby)
|
26
|
+
* Liquid: Templating system (Ruby)
|
27
|
+
* Classifier: Generating related posts (Ruby)
|
28
|
+
* Maruku: Default markdown engine (Ruby)
|
29
|
+
* Directory Watcher: Auto-regeneration of sites (Ruby)
|
30
|
+
* Open4: Talking to pygments for syntax highlighting (Ruby)
|
31
|
+
* Pygments: Syntax highlighting (Python)
|
32
|
+
|
33
|
+
h2. Developer Dependencies
|
34
|
+
|
35
|
+
* Shoulda: Test framework (Ruby)
|
36
|
+
* RR: Mocking (Ruby)
|
37
|
+
* RedGreen: Nicer test output (Ruby)
|
31
38
|
|
32
39
|
h2. License
|
33
40
|
|
data/Rakefile
CHANGED
@@ -22,6 +22,7 @@ begin
|
|
22
22
|
s.add_dependency('directory_watcher', '>= 1.1.1')
|
23
23
|
s.add_dependency('open4', '>= 0.9.6')
|
24
24
|
end
|
25
|
+
Jeweler::GemcutterTasks.new
|
25
26
|
rescue LoadError
|
26
27
|
puts "Jeweler not available. Install it with: sudo gem install jeweler --version '>= 0.11.0'"
|
27
28
|
exit(1)
|
data/VERSION.yml
CHANGED
data/bin/jekyll
CHANGED
@@ -137,9 +137,13 @@ if options['server']
|
|
137
137
|
|
138
138
|
FileUtils.mkdir_p(destination)
|
139
139
|
|
140
|
+
mime_types = WEBrick::HTTPUtils::DefaultMimeTypes
|
141
|
+
mime_types.store 'js', 'application/javascript'
|
142
|
+
|
140
143
|
s = HTTPServer.new(
|
141
144
|
:Port => options['server_port'],
|
142
|
-
:DocumentRoot => destination
|
145
|
+
:DocumentRoot => destination,
|
146
|
+
:MimeTypes => mime_types
|
143
147
|
)
|
144
148
|
t = Thread.new {
|
145
149
|
s.start
|
@@ -29,7 +29,7 @@ Feature: Create sites
|
|
29
29
|
Scenario: Basic site with layout and a post
|
30
30
|
Given I have a _layouts directory
|
31
31
|
And I have a _posts directory
|
32
|
-
And I have the following
|
32
|
+
And I have the following posts:
|
33
33
|
| title | date | layout | content |
|
34
34
|
| Wargames | 3/27/2009 | default | The only winning move is not to play. |
|
35
35
|
And I have a default layout that contains "Post Layout: {{ content }}"
|
@@ -37,6 +37,36 @@ Feature: Create sites
|
|
37
37
|
Then the _site directory should exist
|
38
38
|
And I should see "Post Layout: <p>The only winning move is not to play.</p>" in "_site/2009/03/27/wargames.html"
|
39
39
|
|
40
|
+
Scenario: Basic site with layouts, pages, posts and files
|
41
|
+
Given I have a _layouts directory
|
42
|
+
And I have a page layout that contains "Page Layout: {{ site.posts.size }}"
|
43
|
+
And I have a post layout that contains "Post Layout: {{ content }}"
|
44
|
+
And I have an "index.html" page with layout "page" that contains "site index page"
|
45
|
+
And I have a blog directory
|
46
|
+
And I have a "blog/index.html" page with layout "page" that contains "category index page"
|
47
|
+
And I have an "about.html" file that contains "No replacement {{ site.posts.size }}"
|
48
|
+
And I have an "another_file" file that contains ""
|
49
|
+
And I have a _posts directory
|
50
|
+
And I have the following posts:
|
51
|
+
| title | date | layout | content |
|
52
|
+
| entry1 | 3/27/2009 | post | content for entry1. |
|
53
|
+
| entry2 | 4/27/2009 | post | content for entry2. |
|
54
|
+
And I have a category/_posts directory
|
55
|
+
And I have the following posts in "category":
|
56
|
+
| title | date | layout | content |
|
57
|
+
| entry3 | 5/27/2009 | post | content for entry3. |
|
58
|
+
| entry4 | 6/27/2009 | post | content for entry4. |
|
59
|
+
When I run jekyll
|
60
|
+
Then the _site directory should exist
|
61
|
+
And I should see "Page Layout: 4" in "_site/index.html"
|
62
|
+
And I should see "No replacement \{\{ site.posts.size \}\}" in "_site/about.html"
|
63
|
+
And I should see "" in "_site/another_file"
|
64
|
+
And I should see "Page Layout: 4" in "_site/blog/index.html"
|
65
|
+
And I should see "Post Layout: <p>content for entry1.</p>" in "_site/2009/03/27/entry1.html"
|
66
|
+
And I should see "Post Layout: <p>content for entry2.</p>" in "_site/2009/04/27/entry2.html"
|
67
|
+
And I should see "Post Layout: <p>content for entry3.</p>" in "_site/category/2009/05/27/entry3.html"
|
68
|
+
And I should see "Post Layout: <p>content for entry4.</p>" in "_site/category/2009/06/27/entry4.html"
|
69
|
+
|
40
70
|
Scenario: Basic site with include tag
|
41
71
|
Given I have a _includes directory
|
42
72
|
And I have an "index.html" page that contains "Basic Site with include tag: {% include about.textile %}"
|
@@ -57,4 +87,22 @@ Feature: Create sites
|
|
57
87
|
And I have an "_stylesheets/simple.css" file that contains "div { width: 1 + 1 }"
|
58
88
|
When I run jekyll
|
59
89
|
Then the _site directory should exist
|
60
|
-
And I should see "div { width: 1 + 1 }" in "_site/css/simple.css"
|
90
|
+
And I should see "div { width: 1 + 1 }" in "_site/css/simple.css"
|
91
|
+
|
92
|
+
Scenario: Basic site with subdir include tag
|
93
|
+
Given I have a _includes directory
|
94
|
+
And I have an "_includes/about.textile" file that contains "Generated by Jekyll"
|
95
|
+
And I have an info directory
|
96
|
+
And I have an "info/index.html" page that contains "Basic Site with subdir include tag: {% include about.textile %}"
|
97
|
+
When I run jekyll
|
98
|
+
Then the _site directory should exist
|
99
|
+
And I should see "Basic Site with subdir include tag: Generated by Jekyll" in "_site/info/index.html"
|
100
|
+
|
101
|
+
Scenario: Basic site with nested include tag
|
102
|
+
Given I have a _includes directory
|
103
|
+
And I have an "_includes/about.textile" file that contains "Generated by {% include jekyll.textile %}"
|
104
|
+
And I have an "_includes/jekyll.textile" file that contains "Jekyll"
|
105
|
+
And I have an "index.html" page that contains "Basic Site with include tag: {% include about.textile %}"
|
106
|
+
When I run jekyll
|
107
|
+
Then the _site directory should exist
|
108
|
+
And I should see "Basic Site with include tag: Generated by Jekyll" in "_site/index.html"
|
@@ -20,7 +20,7 @@ Feature: Embed filters
|
|
20
20
|
And I have the following post:
|
21
21
|
| title | date | layout | content |
|
22
22
|
| Star & Wars | 3/27/2009 | default | These aren't the droids you're looking for. |
|
23
|
-
And I have a default layout that contains "{{
|
23
|
+
And I have a default layout that contains "{{ page.title | xml_escape }}"
|
24
24
|
When I run jekyll
|
25
25
|
Then the _site directory should exist
|
26
26
|
And I should see "Star & Wars" in "_site/2009/03/27/star-wars.html"
|
@@ -31,7 +31,7 @@ Feature: Embed filters
|
|
31
31
|
And I have the following post:
|
32
32
|
| title | date | layout | content |
|
33
33
|
| Star Wars | 3/27/2009 | default | These aren't the droids you're looking for. |
|
34
|
-
And I have a default layout that contains "{{
|
34
|
+
And I have a default layout that contains "{{ content | xml_escape }}"
|
35
35
|
When I run jekyll
|
36
36
|
Then the _site directory should exist
|
37
37
|
And I should see "7" in "_site/2009/03/27/star-wars.html"
|
@@ -42,7 +42,7 @@ Feature: Embed filters
|
|
42
42
|
And I have the following post:
|
43
43
|
| title | date | layout | tags | content |
|
44
44
|
| Star Wars | 3/27/2009 | default | [scifi, movies, force] | These aren't the droids you're looking for. |
|
45
|
-
And I have a default layout that contains "{{
|
45
|
+
And I have a default layout that contains "{{ page.tags | array_to_sentence_string }}"
|
46
46
|
When I run jekyll
|
47
47
|
Then the _site directory should exist
|
48
48
|
And I should see "scifi, movies, and force" in "_site/2009/03/27/star-wars.html"
|
@@ -0,0 +1,30 @@
|
|
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 | 3/27/2009 | # My Title | markdown |
|
13
|
+
When I run jekyll
|
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 | 3/27/2009 | # My Title | markdown |
|
26
|
+
When I run jekyll
|
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
|
+
|
data/features/pagination.feature
CHANGED
@@ -6,35 +6,22 @@ Feature: Site pagination
|
|
6
6
|
Scenario Outline: Paginate with N posts per page
|
7
7
|
Given I have a configuration file with "paginate" set to "<num>"
|
8
8
|
And I have a _layouts directory
|
9
|
-
And I have an "index.html"
|
9
|
+
And I have an "index.html" page that contains "{{ paginator.posts.size }}"
|
10
10
|
And I have a _posts directory
|
11
11
|
And I have the following post:
|
12
12
|
| title | date | layout | content |
|
13
13
|
| Wargames | 3/27/2009 | default | The only winning move is not to play. |
|
14
14
|
| Wargames2 | 4/27/2009 | default | The only winning move is not to play2. |
|
15
|
-
| Wargames3 | 5/27/2009 | default | The only winning move is not to
|
15
|
+
| Wargames3 | 5/27/2009 | default | The only winning move is not to play3. |
|
16
|
+
| Wargames4 | 6/27/2009 | default | The only winning move is not to play4. |
|
16
17
|
When I run jekyll
|
17
|
-
Then the _site/
|
18
|
-
And the _site/
|
19
|
-
|
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
|
+
|
20
23
|
Examples:
|
21
|
-
| num |
|
22
|
-
| 1 |
|
23
|
-
| 2 |
|
24
|
-
|
25
|
-
Scenario: Correct liquid paginator replacements
|
26
|
-
Given I have a configuration file with "paginate" set to "1"
|
27
|
-
And I have a _layouts directory
|
28
|
-
And I have an "index.html" file that contains "{{ paginator.page }}"
|
29
|
-
And I have a _posts directory
|
30
|
-
And I have the following post:
|
31
|
-
| title | date | layout | content |
|
32
|
-
| Wargames | 3/27/2009 | default | The only winning move is not to play. |
|
33
|
-
| Wargames2 | 4/27/2009 | default | The only winning move is not to play2. |
|
34
|
-
When I run jekyll
|
35
|
-
Then the _site/index.html file should exist
|
36
|
-
And I should see "1" in "_site/index.html"
|
37
|
-
Then the _site/page2 directory should exist
|
38
|
-
And the _site/page2/index.html file should exist
|
39
|
-
And I should see "2" in "_site/page2/index.html"
|
40
|
-
|
24
|
+
| num | exist | posts | not_exist |
|
25
|
+
| 1 | 4 | 1 | 5 |
|
26
|
+
| 2 | 2 | 2 | 3 |
|
27
|
+
| 3 | 2 | 1 | 3 |
|
data/features/post_data.feature
CHANGED
@@ -9,7 +9,7 @@ Feature: Post data
|
|
9
9
|
And I have the following post:
|
10
10
|
| title | date | layout | content |
|
11
11
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
12
|
-
And I have a simple layout that contains "Post title: {{
|
12
|
+
And I have a simple layout that contains "Post title: {{ page.title }}"
|
13
13
|
When I run jekyll
|
14
14
|
Then the _site directory should exist
|
15
15
|
And I should see "Post title: Star Wars" in "_site/2009/03/27/star-wars.html"
|
@@ -20,7 +20,7 @@ Feature: Post data
|
|
20
20
|
And I have the following post:
|
21
21
|
| title | date | layout | content |
|
22
22
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
23
|
-
And I have a simple layout that contains "Post url: {{
|
23
|
+
And I have a simple layout that contains "Post url: {{ page.url }}"
|
24
24
|
When I run jekyll
|
25
25
|
Then the _site directory should exist
|
26
26
|
And I should see "Post url: /2009/03/27/star-wars.html" in "_site/2009/03/27/star-wars.html"
|
@@ -31,7 +31,7 @@ Feature: Post data
|
|
31
31
|
And I have the following post:
|
32
32
|
| title | date | layout | content |
|
33
33
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
34
|
-
And I have a simple layout that contains "Post date: {{
|
34
|
+
And I have a simple layout that contains "Post date: {{ page.date }}"
|
35
35
|
When I run jekyll
|
36
36
|
Then the _site directory should exist
|
37
37
|
And I should see "Post date: Fri Mar 27" in "_site/2009/03/27/star-wars.html"
|
@@ -42,7 +42,7 @@ Feature: Post data
|
|
42
42
|
And I have the following post:
|
43
43
|
| title | date | layout | content |
|
44
44
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
45
|
-
And I have a simple layout that contains "Post id: {{
|
45
|
+
And I have a simple layout that contains "Post id: {{ page.id }}"
|
46
46
|
When I run jekyll
|
47
47
|
Then the _site directory should exist
|
48
48
|
And I should see "Post id: /2009/03/27/star-wars" in "_site/2009/03/27/star-wars.html"
|
@@ -53,7 +53,7 @@ Feature: Post data
|
|
53
53
|
And I have the following post:
|
54
54
|
| title | date | layout | content |
|
55
55
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
56
|
-
And I have a simple layout that contains "Post content: {{
|
56
|
+
And I have a simple layout that contains "Post content: {{ content }}"
|
57
57
|
When I run jekyll
|
58
58
|
Then the _site directory should exist
|
59
59
|
And I should see "Post content: <p>Luke, I am your father.</p>" in "_site/2009/03/27/star-wars.html"
|
@@ -65,7 +65,7 @@ Feature: Post data
|
|
65
65
|
And I have the following post in "movies":
|
66
66
|
| title | date | layout | content |
|
67
67
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
68
|
-
And I have a simple layout that contains "Post category: {{
|
68
|
+
And I have a simple layout that contains "Post category: {{ page.categories }}"
|
69
69
|
When I run jekyll
|
70
70
|
Then the _site directory should exist
|
71
71
|
And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
|
@@ -76,23 +76,23 @@ Feature: Post data
|
|
76
76
|
And I have the following post:
|
77
77
|
| title | date | layout | tag | content |
|
78
78
|
| Star Wars | 5/18/2009 | simple | twist | Luke, I am your father. |
|
79
|
-
And I have a simple layout that contains "Post tags: {{
|
79
|
+
And I have a simple layout that contains "Post tags: {{ page.tags }}"
|
80
80
|
When I run jekyll
|
81
81
|
Then the _site directory should exist
|
82
82
|
And I should see "Post tags: twist" in "_site/2009/05/18/star-wars.html"
|
83
83
|
|
84
84
|
Scenario: Use post.categories variable when categories are in folders
|
85
|
-
Given I have a
|
86
|
-
And I have a movies
|
87
|
-
And I have a movies/
|
85
|
+
Given I have a scifi directory
|
86
|
+
And I have a scifi/movies directory
|
87
|
+
And I have a scifi/movies/_posts directory
|
88
88
|
And I have a _layouts directory
|
89
|
-
And I have the following post in "movies
|
89
|
+
And I have the following post in "scifi/movies":
|
90
90
|
| title | date | layout | content |
|
91
91
|
| Star Wars | 3/27/2009 | simple | Luke, I am your father. |
|
92
|
-
And I have a simple layout that contains "Post categories: {{
|
92
|
+
And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
|
93
93
|
When I run jekyll
|
94
94
|
Then the _site directory should exist
|
95
|
-
And I should see "Post categories:
|
95
|
+
And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
|
96
96
|
|
97
97
|
Scenario: Use post.categories variable when category is in YAML
|
98
98
|
Given I have a _posts directory
|
@@ -100,7 +100,7 @@ Feature: Post data
|
|
100
100
|
And I have the following post:
|
101
101
|
| title | date | layout | category | content |
|
102
102
|
| Star Wars | 3/27/2009 | simple | movies | Luke, I am your father. |
|
103
|
-
And I have a simple layout that contains "Post category: {{
|
103
|
+
And I have a simple layout that contains "Post category: {{ page.categories }}"
|
104
104
|
When I run jekyll
|
105
105
|
Then the _site directory should exist
|
106
106
|
And I should see "Post category: movies" in "_site/movies/2009/03/27/star-wars.html"
|
@@ -110,11 +110,11 @@ Feature: Post data
|
|
110
110
|
And I have a _layouts directory
|
111
111
|
And I have the following post:
|
112
112
|
| title | date | layout | categories | content |
|
113
|
-
| Star Wars | 3/27/2009 | simple | ['
|
114
|
-
And I have a simple layout that contains "Post categories: {{
|
113
|
+
| Star Wars | 3/27/2009 | simple | ['scifi', 'movies'] | Luke, I am your father. |
|
114
|
+
And I have a simple layout that contains "Post categories: {{ page.categories | array_to_sentence_string }}"
|
115
115
|
When I run jekyll
|
116
116
|
Then the _site directory should exist
|
117
|
-
And I should see "Post categories:
|
117
|
+
And I should see "Post categories: scifi and movies" in "_site/scifi/movies/2009/03/27/star-wars.html"
|
118
118
|
|
119
119
|
Scenario: Disable a post from being published
|
120
120
|
Given I have a _posts directory
|
@@ -133,7 +133,7 @@ Feature: Post data
|
|
133
133
|
And I have the following post:
|
134
134
|
| title | date | layout | author | content |
|
135
135
|
| Star Wars | 3/27/2009 | simple | Darth Vader | Luke, I am your father. |
|
136
|
-
And I have a simple layout that contains "Post author: {{
|
136
|
+
And I have a simple layout that contains "Post author: {{ page.author }}"
|
137
137
|
When I run jekyll
|
138
138
|
Then the _site directory should exist
|
139
139
|
And I should see "Post author: Darth Vader" in "_site/2009/03/27/star-wars.html"
|
@@ -13,7 +13,7 @@ Given /^I have a blank site in "(.*)"$/ do |path|
|
|
13
13
|
end
|
14
14
|
|
15
15
|
# Like "I have a foo file" but gives a yaml front matter so jekyll actually processes it
|
16
|
-
Given /^I have an "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
|
16
|
+
Given /^I have an? "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
|
17
17
|
File.open(file, 'w') do |f|
|
18
18
|
f.write <<EOF
|
19
19
|
---
|
@@ -25,7 +25,7 @@ EOF
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
Given /^I have an "(.*)" file that contains "(.*)"$/ do |file, text|
|
28
|
+
Given /^I have an? "(.*)" file that contains "(.*)"$/ do |file, text|
|
29
29
|
File.open(file, 'w') do |f|
|
30
30
|
f.write(text)
|
31
31
|
f.close
|
@@ -39,8 +39,8 @@ Given /^I have a (.*) layout that contains "(.*)"$/ do |layout, text|
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
Given /^I have
|
43
|
-
FileUtils.
|
42
|
+
Given /^I have an? (.*) directory$/ do |dir|
|
43
|
+
FileUtils.mkdir_p(dir)
|
44
44
|
end
|
45
45
|
|
46
46
|
Given /^I have the following posts?(?: (.*) "(.*)")?:$/ do |direction, folder, table|
|
@@ -115,14 +115,14 @@ Then /^the (.*) directory should exist$/ do |dir|
|
|
115
115
|
assert File.directory?(dir)
|
116
116
|
end
|
117
117
|
|
118
|
-
Then /^the (.*) file should exist$/ do |file|
|
119
|
-
assert File.file?(file)
|
120
|
-
end
|
121
|
-
|
122
118
|
Then /^I should see "(.*)" in "(.*)"$/ do |text, file|
|
123
119
|
assert_match Regexp.new(Regexp.escape(text)), File.open(file).readlines.join
|
124
120
|
end
|
125
121
|
|
122
|
+
Then /^the "(.*)" file should exist$/ do |file|
|
123
|
+
assert File.file?(file)
|
124
|
+
end
|
125
|
+
|
126
126
|
Then /^the "(.*)" file should not exist$/ do |file|
|
127
127
|
assert !File.exists?(file)
|
128
128
|
end
|