jekyll 1.0.4 → 1.1.1

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 (90) hide show
  1. checksums.yaml +14 -6
  2. data/{CONTRIBUTING.md → CONTRIBUTING.markdown} +19 -1
  3. data/History.markdown +172 -85
  4. data/README.markdown +45 -0
  5. data/Rakefile +43 -18
  6. data/bin/jekyll +31 -1
  7. data/features/create_sites.feature +18 -0
  8. data/features/include_tag.feature +35 -0
  9. data/features/pagination.feature +28 -0
  10. data/features/post_excerpts.feature +50 -0
  11. data/features/step_definitions/jekyll_steps.rb +27 -11
  12. data/features/support/env.rb +9 -0
  13. data/jekyll.gemspec +32 -7
  14. data/lib/jekyll.rb +2 -1
  15. data/lib/jekyll/commands/new.rb +15 -3
  16. data/lib/jekyll/configuration.rb +23 -22
  17. data/lib/jekyll/converters/markdown/kramdown_parser.rb +4 -15
  18. data/lib/jekyll/convertible.rb +4 -0
  19. data/lib/jekyll/core_ext.rb +11 -0
  20. data/lib/jekyll/excerpt.rb +113 -0
  21. data/lib/jekyll/generators/pagination.rb +93 -23
  22. data/lib/jekyll/page.rb +1 -3
  23. data/lib/jekyll/post.rb +15 -55
  24. data/lib/jekyll/related_posts.rb +2 -1
  25. data/lib/jekyll/site.rb +33 -41
  26. data/lib/jekyll/stevenson.rb +25 -4
  27. data/lib/jekyll/tags/include.rb +46 -2
  28. data/lib/site_template/_config.yml +1 -0
  29. data/lib/site_template/css/main.css +0 -5
  30. data/site/_config.yml +1 -0
  31. data/site/_includes/docs_contents.html +12 -3
  32. data/site/_includes/docs_contents_mobile.html +7 -1
  33. data/site/_includes/news_contents.html +23 -0
  34. data/site/_includes/news_contents_mobile.html +11 -0
  35. data/site/_includes/news_item.html +24 -0
  36. data/site/_includes/primary-nav-items.html +4 -1
  37. data/site/_includes/top.html +2 -0
  38. data/site/_layouts/news.html +19 -0
  39. data/site/_layouts/news_item.html +27 -0
  40. data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +23 -0
  41. data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +27 -0
  42. data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +28 -0
  43. data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +25 -0
  44. data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +27 -0
  45. data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +31 -0
  46. data/site/css/style.css +125 -17
  47. data/site/docs/configuration.md +10 -1
  48. data/site/docs/contributing.md +21 -3
  49. data/site/docs/deployment-methods.md +2 -2
  50. data/site/docs/drafts.md +20 -0
  51. data/site/docs/extras.md +24 -3
  52. data/site/docs/github-pages.md +25 -0
  53. data/site/docs/history.md +150 -85
  54. data/site/docs/index.md +1 -17
  55. data/site/docs/installation.md +3 -2
  56. data/site/docs/migrations.md +2 -2
  57. data/site/docs/pagination.md +12 -0
  58. data/site/docs/plugins.md +97 -76
  59. data/site/docs/quickstart.md +32 -0
  60. data/site/docs/resources.md +0 -1
  61. data/site/docs/structure.md +15 -0
  62. data/site/docs/templates.md +26 -4
  63. data/site/docs/troubleshooting.md +22 -7
  64. data/site/docs/upgrading.md +6 -1
  65. data/site/docs/variables.md +12 -2
  66. data/site/feed.xml +36 -0
  67. data/site/freenode.txt +1 -0
  68. data/site/img/article-footer.png +0 -0
  69. data/site/img/footer-arrow.png +0 -0
  70. data/site/img/footer-logo.png +0 -0
  71. data/site/img/logo-2x.png +0 -0
  72. data/site/img/octojekyll.png +0 -0
  73. data/site/img/tube.png +0 -0
  74. data/site/img/tube1x.png +0 -0
  75. data/site/index.html +1 -1
  76. data/site/news/index.md +10 -0
  77. data/site/news/releases/index.md +10 -0
  78. data/test/source/+/foo.md +7 -0
  79. data/test/source/_includes/params.html +7 -0
  80. data/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown +23 -0
  81. data/test/test_configuration.rb +9 -0
  82. data/test/test_excerpt.rb +62 -0
  83. data/test/test_generated_site.rb +1 -1
  84. data/test/test_page.rb +9 -0
  85. data/test/test_pager.rb +31 -37
  86. data/test/test_post.rb +2 -1
  87. data/test/test_related_posts.rb +6 -1
  88. data/test/test_tags.rb +90 -0
  89. metadata +62 -23
  90. data/README.textile +0 -45
data/Rakefile CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rdoc'
4
4
  require 'date'
5
+ require 'yaml'
5
6
 
6
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), *%w[lib]))
7
8
 
@@ -44,6 +45,39 @@ def replace_header(head, header_name)
44
45
  head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
45
46
  end
46
47
 
48
+ def normalize_bullets(markdown)
49
+ markdown.gsub(/\s{2}\*{1}/, "-")
50
+ end
51
+
52
+ def linkify_prs(markdown)
53
+ markdown.gsub(/#(\d+)/) do |word|
54
+ "[#{word}](https://github.com/mojombo/jekyll/issues/#{word.delete("#")})"
55
+ end
56
+ end
57
+
58
+ def linkify_users(markdown)
59
+ markdown.gsub(/(@\w+)/) do |username|
60
+ "[#{username}](https://github.com/#{username.delete("@")})"
61
+ end
62
+ end
63
+
64
+ def linkify(markdown)
65
+ linkify_users(linkify_prs(markdown))
66
+ end
67
+
68
+ def liquid_escape(markdown)
69
+ markdown.gsub(/(`{[{%].+[}%]}`)/, "{% raw %}\\1{% endraw %}")
70
+ end
71
+
72
+ def remove_head_from_history(markdown)
73
+ index = markdown =~ /^##\s+\d+\.\d+\.\d+/
74
+ markdown[index..-1]
75
+ end
76
+
77
+ def converted_history(markdown)
78
+ remove_head_from_history(liquid_escape(linkify(normalize_bullets(markdown))))
79
+ end
80
+
47
81
  #############################################################################
48
82
  #
49
83
  # Standard tasks
@@ -150,32 +184,23 @@ namespace :site do
150
184
 
151
185
  desc "Create a nicely formatted history page for the jekyll site based on the repo history."
152
186
  task :history do
153
- # First lets go ahead and format the file correctly (mainly bullet points)
154
- puts "Generating the History doc"
155
- # Checking to make sure the History file exists in the root of the repo
156
187
  if File.exist?("History.markdown")
157
- # Read the file and save to a variable so we can do the replacements
158
- file_time = File.read("History.markdown")
159
- # Replacing the contents of the file for the markdown bullets & issue links
160
- rep_bullets = file_time.gsub(/\s{2}\*{1}/, "-")
161
- rep_links = rep_bullets.gsub(/#(\d+)/) do |word|
162
- "[#{word}](https://github.com/mojombo/jekyll/issues/#{word.delete("#")})"
163
- end
164
- # Create a hash for the front matter that is to be included
165
- front_matter = {"layout" => "docs", "title" => "History",
166
- "permalink" => "/docs/history/",
167
- "prev_section" => "upgrading"}
168
- # Finally we need to copy the file to the /history directory
188
+ history_file = File.read("History.markdown")
189
+ front_matter = {
190
+ "layout" => "docs",
191
+ "title" => "History",
192
+ "permalink" => "/docs/history/",
193
+ "prev_section" => "contributing"
194
+ }
169
195
  Dir.chdir('site/docs/') do
170
196
  File.open("history.md", "w") do |file|
171
197
  file.write("#{front_matter.to_yaml}---\n\n")
172
- file.write(rep_links)
198
+ file.write(converted_history(history_file))
173
199
  end
174
200
  end
175
201
  else
176
- puts "Something went wrong"
202
+ abort "You seem to have misplaced your History.markdown file. I can haz?"
177
203
  end
178
- puts "Done"
179
204
  end
180
205
  end
181
206
 
data/bin/jekyll CHANGED
@@ -12,7 +12,7 @@ program :name, 'jekyll'
12
12
  program :version, Jekyll::VERSION
13
13
  program :description, 'Jekyll is a blog-aware, static site generator in Ruby'
14
14
 
15
- default_command :help
15
+ default_command :default
16
16
 
17
17
  global_option '-s', '--source [DIR]', 'Source directory (defaults to ./)'
18
18
  global_option '-d', '--destination [DIR]', 'Destination directory (defaults to ./_site)'
@@ -33,11 +33,22 @@ def normalize_options(options)
33
33
  options
34
34
  end
35
35
 
36
+ command :default do |c|
37
+ c.action do |args, options|
38
+ if args.empty?
39
+ command(:help).run
40
+ else
41
+ Jekyll.logger.abort_with "Invalid command. Use --help for more information"
42
+ end
43
+ end
44
+ end
45
+
36
46
  command :new do |c|
37
47
  c.syntax = 'jekyll new PATH'
38
48
  c.description = 'Creates a new Jekyll site scaffold in PATH'
39
49
 
40
50
  c.option '--force', 'Force creation even if PATH already exists'
51
+ c.option '--blank', 'Creates scaffolding but with empty files'
41
52
 
42
53
  c.action do |args, options|
43
54
  Jekyll::Commands::New.process(args, options.__hash__)
@@ -102,6 +113,25 @@ command :doctor do |c|
102
113
  end
103
114
  alias_command :hyde, :doctor
104
115
 
116
+ command :docs do |c|
117
+ c.syntax = 'jekyll docs'
118
+ c.description = "Launch local server with docs for Jekyll v#{Jekyll::VERSION}"
119
+
120
+ c.option '-p', '--port [PORT]', 'Port to listen on'
121
+ c.option '-u', '--host [HOST]', 'Host to bind to'
122
+
123
+ c.action do |args, options|
124
+ options = normalize_options(options.__hash__)
125
+ options = Jekyll.configuration(options).merge({
126
+ 'source' => File.expand_path("../site", File.dirname(__FILE__)),
127
+ 'destination' => File.expand_path("../site/_site", File.dirname(__FILE__))
128
+ })
129
+ puts options
130
+ Jekyll::Commands::Build.process(options)
131
+ Jekyll::Commands::Serve.process(options)
132
+ end
133
+ end
134
+
105
135
  command :import do |c|
106
136
  c.syntax = 'jekyll import <platform> [options]'
107
137
  c.description = 'Import your old blog to Jekyll'
@@ -3,6 +3,13 @@ Feature: Create sites
3
3
  I want to be able to make a static site
4
4
  In order to share my awesome ideas with the interwebs
5
5
 
6
+ Scenario: Blank site
7
+ Given I do not have a "test_blank" directory
8
+ When I call jekyll new with 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
+
6
13
  Scenario: Basic site
7
14
  Given I have an "index.html" file that contains "Basic Site"
8
15
  When I run jekyll
@@ -110,3 +117,14 @@ Feature: Create sites
110
117
  When I run jekyll
111
118
  Then the _site directory should exist
112
119
  And I should see "SomeDirective" in "_site/.htaccess"
120
+
121
+ Scenario: File was replaced by a directory
122
+ Given I have a "test" file that contains "some stuff"
123
+ When I run jekyll
124
+ Then the _site directory should exist
125
+ When I delete the file "test"
126
+ Given I have a test directory
127
+ And I have a "test/index.html" file that contains "some other stuff"
128
+ When I run jekyll
129
+ Then the _site/test directory should exist
130
+ And I should see "some other stuff" in "_site/test/index.html"
@@ -0,0 +1,35 @@
1
+ Feature: Include tags
2
+ In order to share their content across several pages
3
+ As a hacker who likes to blog
4
+ I want to be able to include files in my blog posts
5
+
6
+ Scenario: Include a file with parameters
7
+ Given I have an _includes directory
8
+ And I have an "_includes/header.html" file that contains "<header>My awesome blog header: {{include.param}}</header>"
9
+ And I have an "_includes/params.html" file that contains "Parameters:<ul>{% for param in include %}<li>{{param[0]}} = {{param[1]}}</li>{% endfor %}</ul>"
10
+ And I have an "_includes/ignore.html" file that contains "<footer>My blog footer</footer>"
11
+ And I have a _posts directory
12
+ And I have the following post:
13
+ | title | date | layout | content |
14
+ | Include Files | 2013-03-21 | default | {% include header.html param="myparam" %} |
15
+ | Ignore params if unused | 2013-03-21 | default | {% include ignore.html date="today" %} |
16
+ | List multiple parameters | 2013-03-21 | default | {% include params.html date="today" start="tomorrow" %} |
17
+ | Dont keep parameters | 2013-03-21 | default | {% include ignore.html param="test" %}\n{% include header.html %} |
18
+ | Allow params with spaces and quotes | 2013-04-07 | default | {% include params.html cool="param with spaces" super="\"quoted\"" single='has "quotes"' escaped='\'single\' quotes' %} |
19
+ | Parameter syntax | 2013-04-12 | default | {% include params.html param1_or_2="value" %} |
20
+ | Pass a variable | 2013-06-22 | default | {% assign var = 'some text' %}{% include params.html local=var layout=page.layout %} |
21
+ When I run jekyll
22
+ Then the _site directory should exist
23
+ And I should see "<header>My awesome blog header: myparam</header>" in "_site/2013/03/21/include-files.html"
24
+ And I should not see "myparam" in "_site/2013/03/21/ignore-params-if-unused.html"
25
+ And I should see "<li>date = today</li>" in "_site/2013/03/21/list-multiple-parameters.html"
26
+ And I should see "<li>start = tomorrow</li>" in "_site/2013/03/21/list-multiple-parameters.html"
27
+ And I should not see "<header>My awesome blog header: myparam</header>" in "_site/2013/03/21/dont-keep-parameters.html"
28
+ But I should see "<header>My awesome blog header: </header>" in "_site/2013/03/21/dont-keep-parameters.html"
29
+ And I should see "<li>cool = param with spaces</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
30
+ And I should see "<li>super = &#8220;quoted&#8221;</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
31
+ And I should see "<li>single = has &#8220;quotes&#8221;</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
32
+ And I should see "<li>escaped = &#8216;single&#8217; quotes</li>" in "_site/2013/04/07/allow-params-with-spaces-and-quotes.html"
33
+ And I should see "<li>param1_or_2 = value</li>" in "_site/2013/04/12/parameter-syntax.html"
34
+ And I should see "<li>local = some text</li>" in "_site/2013/06/22/pass-a-variable.html"
35
+ And I should see "<li>layout = default</li>" in "_site/2013/06/22/pass-a-variable.html"
@@ -52,3 +52,31 @@ Feature: Site pagination
52
52
  | 2 | 1 | 5 |
53
53
  | 3 | 1 | 6 |
54
54
  | 4 | 1 | 7 |
55
+
56
+ Scenario Outline: Setting a custom pagination path without an index.html in it
57
+ Given I have a configuration file with:
58
+ | key | value |
59
+ | paginate | 1 |
60
+ | paginate_path | /blog/page/:num |
61
+ | permalink | /blog/:year/:month/:day/:title |
62
+ And I have a blog directory
63
+ And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}"
64
+ And I have an "index.html" page that contains "Don't pick me!"
65
+ And I have a _posts directory
66
+ And I have the following posts:
67
+ | title | date | layout | content |
68
+ | Wargames | 2009-03-27 | default | The only winning move is not to play. |
69
+ | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
70
+ | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
71
+ | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
72
+ When I run jekyll
73
+ Then the _site/blog/page/<exist> directory should exist
74
+ And the "_site/blog/page/<exist>/index.html" file should exist
75
+ And I should see "<posts>" in "_site/blog/page/<exist>/index.html"
76
+ And the "_site/blog/page/<not_exist>/index.html" file should not exist
77
+
78
+ Examples:
79
+ | exist | posts | not_exist |
80
+ | 2 | 1 | 5 |
81
+ | 3 | 1 | 6 |
82
+ | 4 | 1 | 7 |
@@ -0,0 +1,50 @@
1
+ Feature: Post excerpts
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
+ But some people can only focus for a few moments
6
+ So just give them a taste
7
+
8
+ Scenario: An excerpt without a layout
9
+ Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
10
+ And I have a _posts directory
11
+ And I have the following posts:
12
+ | title | date | layout | content |
13
+ | entry1 | 2007-12-31 | post | content for entry1. |
14
+ When I run jekyll
15
+ Then the _site directory should exist
16
+ And I should see exactly "<p>content for entry1.</p>" in "_site/index.html"
17
+
18
+ Scenario: An excerpt from a post with a layout
19
+ Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
20
+ And I have a _posts directory
21
+ And I have a _layouts directory
22
+ And I have a post layout that contains "{{ page.excerpt }}"
23
+ And I have the following posts:
24
+ | title | date | layout | content |
25
+ | entry1 | 2007-12-31 | post | content for entry1. |
26
+ When I run jekyll
27
+ Then the _site directory should exist
28
+ And the _site/2007 directory should exist
29
+ And the _site/2007/12 directory should exist
30
+ And the _site/2007/12/31 directory should exist
31
+ And the "_site/2007/12/31/entry1.html" file should exist
32
+ And I should see exactly "<p>content for entry1.</p>" in "_site/2007/12/31/entry1.html"
33
+ And I should see exactly "<p>content for entry1.</p>" in "_site/index.html"
34
+
35
+ Scenario: An excerpt from a post with a layout which has context
36
+ Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
37
+ And I have a _posts directory
38
+ And I have a _layouts directory
39
+ And I have a post layout that contains "<html><head></head><body>{{ page.excerpt }}</body></html>"
40
+ And I have the following posts:
41
+ | title | date | layout | content |
42
+ | entry1 | 2007-12-31 | post | content for entry1. |
43
+ When I run jekyll
44
+ Then the _site directory should exist
45
+ And the _site/2007 directory should exist
46
+ And the _site/2007/12 directory should exist
47
+ And the _site/2007/12/31 directory should exist
48
+ And the "_site/2007/12/31/entry1.html" file should exist
49
+ And I should see exactly "<p>content for entry1.</p>" in "_site/index.html"
50
+ And I should see exactly "<html><head></head><body><p>content for entry1.</p></body></html>" in "_site/2007/12/31/entry1.html"
@@ -4,15 +4,16 @@ Before do
4
4
  Dir.chdir(TEST_DIR)
5
5
  end
6
6
 
7
- After do
8
- Dir.chdir(File.expand_path("..", TEST_DIR))
9
- FileUtils.rm_rf(TEST_DIR)
10
- end
7
+ World(Test::Unit::Assertions)
11
8
 
12
9
  Given /^I have a blank site in "(.*)"$/ do |path|
13
10
  FileUtils.mkdir(path)
14
11
  end
15
12
 
13
+ Given /^I do not have a "(.*)" directory$/ do |path|
14
+ File.directory?("#{TEST_DIR}/#{path}")
15
+ end
16
+
16
17
  # Like "I have a foo file" but gives a yaml front matter so jekyll actually processes it
17
18
  Given /^I have an? "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
18
19
  File.open(file, 'w') do |f|
@@ -31,14 +32,13 @@ Given /^I have an? "(.*)" file that contains "(.*)"$/ do |file, text|
31
32
  end
32
33
  end
33
34
 
34
- Given /^I have a (.*) layout that contains "(.*)"$/ do |layout, text|
35
- File.open(File.join('_layouts', layout + '.html'), 'w') do |f|
36
- f.write(text)
35
+ Given /^I have an? (.*) (layout|theme) that contains "(.*)"$/ do |name, type, text|
36
+ folder = if type == 'layout'
37
+ '_layouts'
38
+ else
39
+ '_theme'
37
40
  end
38
- end
39
-
40
- Given /^I have a (.*) theme that contains "(.*)"$/ do |layout, text|
41
- File.open(File.join('_theme', layout + '.html'), 'w') do |f|
41
+ File.open(File.join(folder, name + '.html'), 'w') do |f|
42
42
  f.write(text)
43
43
  end
44
44
  end
@@ -119,6 +119,10 @@ When /^I run jekyll with drafts$/ do
119
119
  run_jekyll(:drafts => true)
120
120
  end
121
121
 
122
+ When /^I call jekyll new with test_blank --blank$/ do
123
+ call_jekyll_new(:path => "test_blank", :blank => true)
124
+ end
125
+
122
126
  When /^I debug jekyll$/ do
123
127
  run_jekyll(:debug => true)
124
128
  end
@@ -129,6 +133,10 @@ When /^I change "(.*)" to contain "(.*)"$/ do |file, text|
129
133
  end
130
134
  end
131
135
 
136
+ When /^I delete the file "(.*)"$/ do |file|
137
+ File.delete(file)
138
+ end
139
+
132
140
  Then /^the (.*) directory should exist$/ do |dir|
133
141
  assert File.directory?(dir), "The directory \"#{dir}\" does not exist"
134
142
  end
@@ -137,6 +145,14 @@ Then /^I should see "(.*)" in "(.*)"$/ do |text, file|
137
145
  assert Regexp.new(text).match(File.open(file).readlines.join)
138
146
  end
139
147
 
148
+ Then /^I should see exactly "(.*)" in "(.*)"$/ do |text, file|
149
+ assert_equal text, File.open(file).readlines.join.strip
150
+ end
151
+
152
+ Then /^I should not see "(.*)" in "(.*)"$/ do |text, file|
153
+ assert_no_match Regexp.new(text), File.read(file)
154
+ end
155
+
140
156
  Then /^I should see escaped "(.*)" in "(.*)"$/ do |text, file|
141
157
  assert Regexp.new(Regexp.escape(text)).match(File.open(file).readlines.join)
142
158
  end
@@ -14,6 +14,15 @@ def run_jekyll(opts = {})
14
14
  system command
15
15
  end
16
16
 
17
+ def call_jekyll_new(opts = {})
18
+ command = JEKYLL_PATH.clone
19
+ command << " new"
20
+ command << " #{opts[:path]}" if opts[:path]
21
+ command << " --blank" if opts[:blank]
22
+ command << " >> /dev/null 2>&1" if opts[:debug].nil?
23
+ system command
24
+ end
25
+
17
26
  def slug(title)
18
27
  title.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-')
19
28
  end
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
 
6
6
  s.name = 'jekyll'
7
- s.version = '1.0.4'
7
+ s.version = '1.1.1'
8
8
  s.license = 'MIT'
9
- s.date = '2013-07-25'
9
+ s.date = '2013-07-24'
10
10
  s.rubyforge_project = 'jekyll'
11
11
 
12
12
  s.summary = "A simple, blog aware, static site generator."
@@ -21,9 +21,9 @@ Gem::Specification.new do |s|
21
21
  s.executables = ["jekyll"]
22
22
 
23
23
  s.rdoc_options = ["--charset=UTF-8"]
24
- s.extra_rdoc_files = %w[README.textile LICENSE]
24
+ s.extra_rdoc_files = %w[README.markdown LICENSE]
25
25
 
26
- s.add_runtime_dependency('liquid', "~> 2.5.1")
26
+ s.add_runtime_dependency('liquid', "~> 2.3")
27
27
  s.add_runtime_dependency('classifier', "~> 1.3")
28
28
  s.add_runtime_dependency('directory_watcher', "~> 1.4.1")
29
29
  s.add_runtime_dependency('maruku', "~> 0.5")
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_runtime_dependency('commander', "~> 4.1.3")
33
33
  s.add_runtime_dependency('safe_yaml', "~> 0.7.0")
34
34
  s.add_runtime_dependency('colorator', "~> 0.1")
35
+ s.add_runtime_dependency('redcarpet', "~> 2.2.2")
35
36
 
36
37
  s.add_development_dependency('rake', "~> 10.0.3")
37
38
  s.add_development_dependency('rdoc', "~> 3.11")
@@ -41,28 +42,30 @@ Gem::Specification.new do |s|
41
42
  s.add_development_dependency('cucumber', "~> 1.2.1", '!= 1.2.4')
42
43
  s.add_development_dependency('RedCloth', "~> 4.2")
43
44
  s.add_development_dependency('rdiscount', "~> 1.6")
44
- s.add_development_dependency('redcarpet', "~> 2.2.2")
45
45
  s.add_development_dependency('launchy', "~> 2.1.2")
46
46
  s.add_development_dependency('simplecov', "~> 0.7")
47
47
  s.add_development_dependency('simplecov-gem-adapter', "~> 1.0.1")
48
+ s.add_development_dependency('activesupport', '~> 3.2.13')
48
49
 
49
50
  # = MANIFEST =
50
51
  s.files = %w[
51
- CONTRIBUTING.md
52
+ CONTRIBUTING.markdown
52
53
  Gemfile
53
54
  History.markdown
54
55
  LICENSE
55
- README.textile
56
+ README.markdown
56
57
  Rakefile
57
58
  bin/jekyll
58
59
  cucumber.yml
59
60
  features/create_sites.feature
60
61
  features/drafts.feature
61
62
  features/embed_filters.feature
63
+ features/include_tag.feature
62
64
  features/markdown.feature
63
65
  features/pagination.feature
64
66
  features/permalinks.feature
65
67
  features/post_data.feature
68
+ features/post_excerpts.feature
66
69
  features/site_configuration.feature
67
70
  features/site_data.feature
68
71
  features/step_definitions/jekyll_steps.rb
@@ -88,6 +91,7 @@ Gem::Specification.new do |s|
88
91
  lib/jekyll/deprecator.rb
89
92
  lib/jekyll/draft.rb
90
93
  lib/jekyll/errors.rb
94
+ lib/jekyll/excerpt.rb
91
95
  lib/jekyll/filters.rb
92
96
  lib/jekyll/generator.rb
93
97
  lib/jekyll/generators/pagination.rb
@@ -122,11 +126,22 @@ Gem::Specification.new do |s|
122
126
  site/_includes/docs_contents_mobile.html
123
127
  site/_includes/footer.html
124
128
  site/_includes/header.html
129
+ site/_includes/news_contents.html
130
+ site/_includes/news_contents_mobile.html
131
+ site/_includes/news_item.html
125
132
  site/_includes/primary-nav-items.html
126
133
  site/_includes/section_nav.html
127
134
  site/_includes/top.html
128
135
  site/_layouts/default.html
129
136
  site/_layouts/docs.html
137
+ site/_layouts/news.html
138
+ site/_layouts/news_item.html
139
+ site/_posts/2013-05-06-jekyll-1-0-0-released.markdown
140
+ site/_posts/2013-05-08-jekyll-1-0-1-released.markdown
141
+ site/_posts/2013-05-12-jekyll-1-0-2-released.markdown
142
+ site/_posts/2013-06-07-jekyll-1-0-3-released.markdown
143
+ site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
144
+ site/_posts/2013-07-24-jekyll-1-1-1-released.markdown
130
145
  site/css/gridism.css
131
146
  site/css/normalize.css
132
147
  site/css/pygments.css
@@ -134,6 +149,7 @@ Gem::Specification.new do |s|
134
149
  site/docs/configuration.md
135
150
  site/docs/contributing.md
136
151
  site/docs/deployment-methods.md
152
+ site/docs/drafts.md
137
153
  site/docs/extras.md
138
154
  site/docs/frontmatter.md
139
155
  site/docs/github-pages.md
@@ -147,6 +163,7 @@ Gem::Specification.new do |s|
147
163
  site/docs/permalinks.md
148
164
  site/docs/plugins.md
149
165
  site/docs/posts.md
166
+ site/docs/quickstart.md
150
167
  site/docs/resources.md
151
168
  site/docs/sites.md
152
169
  site/docs/structure.md
@@ -156,6 +173,8 @@ Gem::Specification.new do |s|
156
173
  site/docs/usage.md
157
174
  site/docs/variables.md
158
175
  site/favicon.png
176
+ site/feed.xml
177
+ site/freenode.txt
159
178
  site/img/article-footer.png
160
179
  site/img/footer-arrow.png
161
180
  site/img/footer-logo.png
@@ -165,13 +184,17 @@ Gem::Specification.new do |s|
165
184
  site/img/tube1x.png
166
185
  site/index.html
167
186
  site/js/modernizr-2.5.3.min.js
187
+ site/news/index.md
188
+ site/news/releases/index.md
168
189
  test/fixtures/broken_front_matter1.erb
169
190
  test/fixtures/broken_front_matter2.erb
170
191
  test/fixtures/broken_front_matter3.erb
171
192
  test/fixtures/exploit_front_matter.erb
172
193
  test/fixtures/front_matter.erb
173
194
  test/helper.rb
195
+ test/source/+/foo.md
174
196
  test/source/.htaccess
197
+ test/source/_includes/params.html
175
198
  test/source/_includes/sig.markdown
176
199
  test/source/_layouts/default.html
177
200
  test/source/_layouts/simple.html
@@ -207,6 +230,7 @@ Gem::Specification.new do |s|
207
230
  test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep
208
231
  test/source/_posts/2013-04-11-custom-excerpt.markdown
209
232
  test/source/_posts/2013-05-10-number-category.textile
233
+ test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
210
234
  test/source/_posts/es/2008-11-21-nested.textile
211
235
  test/source/about.html
212
236
  test/source/category/_posts/2008-9-23-categories.textile
@@ -227,6 +251,7 @@ Gem::Specification.new do |s|
227
251
  test/test_configuration.rb
228
252
  test/test_convertible.rb
229
253
  test/test_core_ext.rb
254
+ test/test_excerpt.rb
230
255
  test/test_filters.rb
231
256
  test/test_generated_site.rb
232
257
  test/test_kramdown.rb