jekyll 1.5.1 → 2.0.0.alpha.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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.markdown +6 -6
- data/History.markdown +99 -23
- data/README.markdown +7 -3
- data/Rakefile +5 -5
- data/bin/jekyll +101 -116
- data/features/embed_filters.feature +13 -0
- data/features/include_tag.feature +11 -0
- data/features/markdown.feature +3 -3
- data/features/site_configuration.feature +34 -3
- data/features/step_definitions/jekyll_steps.rb +47 -34
- data/features/support/env.rb +25 -28
- data/jekyll.gemspec +38 -18
- data/lib/jekyll.rb +7 -15
- data/lib/jekyll/commands/build.rb +2 -0
- data/lib/jekyll/commands/serve.rb +11 -1
- data/lib/jekyll/configuration.rb +22 -6
- data/lib/jekyll/converter.rb +16 -16
- data/lib/jekyll/converters/markdown.rb +30 -15
- data/lib/jekyll/converters/markdown/maruku_parser.rb +4 -5
- data/lib/jekyll/converters/markdown/redcarpet_parser.rb +34 -3
- data/lib/jekyll/converters/sass.rb +58 -0
- data/lib/jekyll/converters/textile.rb +2 -2
- data/lib/jekyll/convertible.rb +25 -6
- data/lib/jekyll/core_ext.rb +0 -35
- data/lib/jekyll/deprecator.rb +2 -2
- data/lib/jekyll/entry_filter.rb +61 -25
- data/lib/jekyll/excerpt.rb +8 -6
- data/lib/jekyll/filters.rb +46 -2
- data/lib/jekyll/layout_reader.rb +40 -0
- data/lib/jekyll/mime.types +19 -9
- data/lib/jekyll/page.rb +6 -4
- data/lib/jekyll/post.rb +11 -18
- data/lib/jekyll/site.rb +34 -32
- data/lib/jekyll/tags/highlight.rb +26 -4
- data/lib/jekyll/tags/include.rb +29 -17
- data/lib/jekyll/tags/post_url.rb +10 -1
- data/lib/jekyll/url.rb +0 -2
- data/lib/site_template/_config.yml +1 -1
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +1 -1
- data/lib/site_template/css/main.css +8 -1
- data/script/bootstrap +2 -0
- data/script/branding +11 -0
- data/script/cibuild +5 -0
- data/script/rebund +140 -0
- data/site/_config.yml +2 -2
- data/site/_data/docs.yml +44 -0
- data/site/{css → _includes/css}/gridism.css +0 -0
- data/site/_includes/css/normalize.css +1 -0
- data/site/{css → _includes/css}/pygments.css +2 -0
- data/site/{css → _includes/css}/style.css +10 -0
- data/site/_includes/docs_contents.html +4 -12
- data/site/_includes/docs_contents_mobile.html +4 -17
- data/site/_includes/docs_option.html +1 -1
- data/site/_includes/docs_ul.html +2 -2
- data/site/_includes/footer.html +1 -1
- data/site/_includes/top.html +1 -4
- data/site/_layouts/news_item.html +2 -2
- data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +4 -4
- data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +1 -1
- data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +1 -1
- data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +20 -0
- data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +1 -2
- data/site/css/screen.css +27 -0
- data/site/docs/assets.md +46 -0
- data/site/docs/configuration.md +18 -4
- data/site/docs/contributing.md +2 -2
- data/site/docs/datafiles.md +6 -6
- data/site/docs/deployment-methods.md +5 -0
- data/site/docs/extras.md +38 -2
- data/site/docs/frontmatter.md +2 -1
- data/site/docs/history.md +0 -22
- data/site/docs/installation.md +7 -7
- data/site/docs/migrations.md +1 -1
- data/site/docs/plugins.md +11 -2
- data/site/docs/posts.md +25 -4
- data/site/docs/sites.md +1 -1
- data/site/docs/structure.md +1 -1
- data/site/docs/templates.md +13 -8
- data/site/docs/troubleshooting.md +8 -5
- data/site/docs/usage.md +11 -0
- data/site/docs/variables.md +18 -0
- data/site/docs/windows.md +44 -0
- data/test/helper.rb +5 -8
- data/test/source/_includes/include.html +1 -0
- data/test/source/_includes/sig.markdown +2 -2
- data/test/source/_posts/2013-12-17-include-variable-filters.markdown +21 -0
- data/test/source/_posts/2013-12-20-properties.text +11 -0
- data/test/source/_sass/_grid.scss +1 -0
- data/test/source/css/main.scss +4 -0
- data/test/source/js/coffeescript.coffee +10 -0
- data/test/source/properties.html +8 -0
- data/test/source/unpublished.html +7 -0
- data/test/test_coffeescript.rb +49 -0
- data/test/test_configuration.rb +29 -18
- data/test/test_convertible.rb +7 -9
- data/test/test_core_ext.rb +0 -22
- data/test/test_entry_filter.rb +36 -2
- data/test/test_excerpt.rb +43 -1
- data/test/test_filters.rb +44 -5
- data/test/test_generated_site.rb +5 -1
- data/test/test_layout_reader.rb +17 -0
- data/test/test_page.rb +28 -10
- data/test/test_post.rb +32 -15
- data/test/test_redcarpet.rb +19 -3
- data/test/test_sass.rb +122 -0
- data/test/test_site.rb +56 -7
- data/test/test_tags.rb +102 -51
- metadata +154 -80
- 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/css/normalize.css +0 -1
- data/test/source/_posts/2014-01-06-permalink-traversal.md +0 -5
- data/test/source/exploit.md +0 -5
- data/test/test_path_sanitization.rb +0 -18
@@ -58,3 +58,16 @@ Feature: Embed filters
|
|
58
58
|
Then the _site directory should exist
|
59
59
|
And I should see "By <p><em>Obi-wan</em></p>" in "_site/2009/03/27/star-wars.html"
|
60
60
|
|
61
|
+
Scenario: Sort by an arbitrary variable
|
62
|
+
Given I have a _layouts directory
|
63
|
+
And I have the following page:
|
64
|
+
| title | layout | value | content |
|
65
|
+
| Page-1 | default | 8 | Something |
|
66
|
+
And I have the following page:
|
67
|
+
| title | layout | value | content |
|
68
|
+
| Page-2 | default | 6 | Something |
|
69
|
+
And I have a default layout that contains "{{ site.pages | sort:'value' | map:'title' | join:', ' }}"
|
70
|
+
When I run jekyll
|
71
|
+
Then the _site directory should exist
|
72
|
+
And I should see exactly "Page-2, Page-1" in "_site/page-1.html"
|
73
|
+
And I should see exactly "Page-2, Page-1" in "_site/page-2.html"
|
@@ -55,3 +55,14 @@ Feature: Include tags
|
|
55
55
|
When I run jekyll
|
56
56
|
Then the _site directory should exist
|
57
57
|
And I should see "one two" in "_site/index.html"
|
58
|
+
|
59
|
+
Scenario: Include a file with variables and filters
|
60
|
+
Given I have an _includes directory
|
61
|
+
And I have an "_includes/one.html" file that contains "one included"
|
62
|
+
And I have a configuration file with:
|
63
|
+
| key | value |
|
64
|
+
| include_file | one |
|
65
|
+
And I have an "index.html" page that contains "{% include {{ site.include_file | append: '.html' }} %}"
|
66
|
+
When I run jekyll
|
67
|
+
Then the _site directory should exist
|
68
|
+
And I should see "one included" in "_site/index.html"
|
data/features/markdown.feature
CHANGED
@@ -13,8 +13,8 @@ Feature: Markdown
|
|
13
13
|
When I run jekyll
|
14
14
|
Then the _site directory should exist
|
15
15
|
And I should see "Index" in "_site/index.html"
|
16
|
-
And I should see "<h1 id=\"
|
17
|
-
And I should see "<h1 id=\"
|
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
18
|
|
19
19
|
Scenario: Markdown in pagination on index
|
20
20
|
Given I have a configuration file with "paginate" set to "5"
|
@@ -26,7 +26,7 @@ Feature: Markdown
|
|
26
26
|
When I run jekyll
|
27
27
|
Then the _site directory should exist
|
28
28
|
And I should see "Index" in "_site/index.html"
|
29
|
-
And I should see "<h1 id=\"
|
29
|
+
And I should see "<h1 id=\"my-title\">My Title</h1>" in "_site/index.html"
|
30
30
|
|
31
31
|
Scenario: Maruku fenced codeblocks
|
32
32
|
Given I have a configuration file with "markdown" set to "maruku"
|
@@ -91,11 +91,19 @@ Feature: Site configuration
|
|
91
91
|
And I should see "<a href=\"http://google.com\">Google</a>" in "_site/index.html"
|
92
92
|
|
93
93
|
Scenario: Highlight code with pygments
|
94
|
-
Given I have an "index.html"
|
95
|
-
And I have a configuration file with "pygments" set to "true"
|
94
|
+
Given I have an "index.html" page that contains "{% highlight ruby %} puts 'Hello world!' {% endhighlight %}"
|
96
95
|
When I run jekyll
|
97
96
|
Then the _site directory should exist
|
98
|
-
And I should see "
|
97
|
+
And I should see "Hello world!" in "_site/index.html"
|
98
|
+
And I should see "class=\"highlight\"" in "_site/index.html"
|
99
|
+
|
100
|
+
Scenario: Highlight code with rouge
|
101
|
+
Given I have an "index.html" page that contains "{% highlight ruby %} puts 'Hello world!' {% endhighlight %}"
|
102
|
+
And I have a configuration file with "highlighter" set to "rouge"
|
103
|
+
When I run jekyll
|
104
|
+
Then the _site directory should exist
|
105
|
+
And I should see "Hello world!" in "_site/index.html"
|
106
|
+
And I should see "class=\"highlight\"" in "_site/index.html"
|
99
107
|
|
100
108
|
Scenario: Set time and no future dated posts
|
101
109
|
Given I have a _layouts directory
|
@@ -233,3 +241,26 @@ Feature: Site configuration
|
|
233
241
|
Then the _site directory should exist
|
234
242
|
And I should see "Whatever" in "_site/index.html"
|
235
243
|
And I should see "this is a test" in "_site/test.txt"
|
244
|
+
|
245
|
+
Scenario: Add an empty whitelist to restrict all gems
|
246
|
+
Given I have an "index.html" file that contains "Whatever"
|
247
|
+
And I have a configuration file with:
|
248
|
+
| key | value |
|
249
|
+
| gems | [jekyll_test_plugin] |
|
250
|
+
| whitelist | [] |
|
251
|
+
When I run jekyll in safe mode
|
252
|
+
Then the _site directory should exist
|
253
|
+
And I should see "Whatever" in "_site/index.html"
|
254
|
+
And the "_site/test.txt" file should not exist
|
255
|
+
|
256
|
+
Scenario: Add a whitelist to restrict some gems but allow others
|
257
|
+
Given I have an "index.html" file that contains "Whatever"
|
258
|
+
And I have a configuration file with:
|
259
|
+
| key | value |
|
260
|
+
| gems | [jekyll_test_plugin, jekyll_test_plugin_malicious] |
|
261
|
+
| whitelist | [jekyll_test_plugin] |
|
262
|
+
When I run jekyll in safe mode
|
263
|
+
Then the _site directory should exist
|
264
|
+
And I should see "Whatever" in "_site/index.html"
|
265
|
+
And the "_site/test.txt" file should exist
|
266
|
+
And I should see "this is a test" in "_site/test.txt"
|
@@ -1,9 +1,32 @@
|
|
1
|
+
def file_content_from_hash(input_hash)
|
2
|
+
matter_hash = input_hash.reject { |k, v| k == "content" }
|
3
|
+
matter = matter_hash.map { |k, v| "#{k}: #{v}\n" }.join.chomp
|
4
|
+
|
5
|
+
content = if input_hash['input'] && input_hash['filter']
|
6
|
+
"{{ #{input_hash['input']} | #{input_hash['filter']} }}"
|
7
|
+
else
|
8
|
+
input_hash['content']
|
9
|
+
end
|
10
|
+
|
11
|
+
<<EOF
|
12
|
+
---
|
13
|
+
#{matter}
|
14
|
+
---
|
15
|
+
#{content}
|
16
|
+
EOF
|
17
|
+
end
|
18
|
+
|
19
|
+
|
1
20
|
Before do
|
2
|
-
FileUtils.rm_rf(TEST_DIR)
|
3
21
|
FileUtils.mkdir(TEST_DIR)
|
4
22
|
Dir.chdir(TEST_DIR)
|
5
23
|
end
|
6
24
|
|
25
|
+
After do
|
26
|
+
FileUtils.rm_rf(TEST_DIR)
|
27
|
+
FileUtils.rm_rf(JEKYLL_COMMAND_OUTPUT_FILE)
|
28
|
+
end
|
29
|
+
|
7
30
|
World(Test::Unit::Assertions)
|
8
31
|
|
9
32
|
Given /^I have a blank site in "(.*)"$/ do |path|
|
@@ -58,42 +81,28 @@ Given /^I have an? (.*) directory$/ do |dir|
|
|
58
81
|
FileUtils.mkdir_p(dir)
|
59
82
|
end
|
60
83
|
|
61
|
-
Given /^I have the following (draft|post)s?(?: (in|under) "([^"]+)")?:$/ do |status, direction, folder, table|
|
62
|
-
table.hashes.each do |
|
63
|
-
title = slug(
|
64
|
-
ext =
|
84
|
+
Given /^I have the following (draft|page|post)s?(?: (in|under) "([^"]+)")?:$/ do |status, direction, folder, table|
|
85
|
+
table.hashes.each do |input_hash|
|
86
|
+
title = slug(input_hash['title'])
|
87
|
+
ext = input_hash['type'] || 'textile'
|
65
88
|
before, after = location(folder, direction)
|
66
89
|
|
67
|
-
|
68
|
-
|
90
|
+
case status
|
91
|
+
when "draft"
|
92
|
+
dest_folder = '_drafts'
|
93
|
+
filename = "#{title}.#{ext}"
|
94
|
+
when "page"
|
95
|
+
dest_folder = ''
|
69
96
|
filename = "#{title}.#{ext}"
|
70
|
-
|
71
|
-
parsed_date = Time.xmlschema(
|
72
|
-
|
97
|
+
when "post"
|
98
|
+
parsed_date = Time.xmlschema(input_hash['date']) rescue Time.parse(input_hash['date'])
|
99
|
+
dest_folder = '_posts'
|
73
100
|
filename = "#{parsed_date.strftime('%Y-%m-%d')}-#{title}.#{ext}"
|
74
101
|
end
|
75
102
|
|
76
|
-
path = File.join(before,
|
77
|
-
|
78
|
-
matter_hash = {}
|
79
|
-
%w(title layout tag tags category categories published author path date permalink).each do |key|
|
80
|
-
matter_hash[key] = post[key] if post[key]
|
81
|
-
end
|
82
|
-
matter = matter_hash.map { |k, v| "#{k}: #{v}\n" }.join.chomp
|
83
|
-
|
84
|
-
content = if post['input'] && post['filter']
|
85
|
-
"{{ #{post['input']} | #{post['filter']} }}"
|
86
|
-
else
|
87
|
-
post['content']
|
88
|
-
end
|
89
|
-
|
103
|
+
path = File.join(before, dest_folder, after, filename)
|
90
104
|
File.open(path, 'w') do |f|
|
91
|
-
f.write
|
92
|
-
---
|
93
|
-
#{matter}
|
94
|
-
---
|
95
|
-
#{content}
|
96
|
-
EOF
|
105
|
+
f.write file_content_from_hash(input_hash)
|
97
106
|
end
|
98
107
|
end
|
99
108
|
end
|
@@ -123,19 +132,23 @@ end
|
|
123
132
|
|
124
133
|
|
125
134
|
When /^I run jekyll$/ do
|
126
|
-
|
135
|
+
run_jekyll_build
|
136
|
+
end
|
137
|
+
|
138
|
+
When /^I run jekyll in safe mode$/ do
|
139
|
+
run_jekyll_build("--safe")
|
127
140
|
end
|
128
141
|
|
129
142
|
When /^I run jekyll with drafts$/ do
|
130
|
-
|
143
|
+
run_jekyll_build("--drafts")
|
131
144
|
end
|
132
145
|
|
133
146
|
When /^I call jekyll new with test_blank --blank$/ do
|
134
|
-
|
147
|
+
run_jekyll_new("test_blank --blank")
|
135
148
|
end
|
136
149
|
|
137
150
|
When /^I debug jekyll$/ do
|
138
|
-
|
151
|
+
run_jekyll_build("--verbose")
|
139
152
|
end
|
140
153
|
|
141
154
|
When /^I change "(.*)" to contain "(.*)"$/ do |file, text|
|
data/features/support/env.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
Coveralls.wear_merged!
|
4
|
-
end
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear_merged!
|
5
3
|
|
6
4
|
require 'fileutils'
|
7
5
|
require 'rr'
|
@@ -10,24 +8,33 @@ require 'time'
|
|
10
8
|
|
11
9
|
TEST_DIR = File.join('/', 'tmp', 'jekyll')
|
12
10
|
JEKYLL_PATH = File.join(File.dirname(__FILE__), '..', '..', 'bin', 'jekyll')
|
11
|
+
JEKYLL_COMMAND_OUTPUT_FILE = File.join('/', 'tmp', 'jekyll_output.txt')
|
13
12
|
|
14
|
-
def
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
def jekyll_output_file
|
14
|
+
JEKYLL_COMMAND_OUTPUT_FILE
|
15
|
+
end
|
16
|
+
|
17
|
+
def jekyll_run_output
|
18
|
+
File.read(jekyll_output_file)
|
20
19
|
end
|
21
20
|
|
22
|
-
def
|
23
|
-
command = JEKYLL_PATH
|
24
|
-
command << " new --trace"
|
25
|
-
command << " #{opts[:path]}" if opts[:path]
|
26
|
-
command << " --blank" if opts[:blank]
|
27
|
-
command << " >> /dev/null 2>&1" if opts[:debug].nil?
|
21
|
+
def run_jekyll(args, output_file)
|
22
|
+
command = "#{JEKYLL_PATH} #{args} > #{jekyll_output_file} 2>&1"
|
28
23
|
system command
|
29
24
|
end
|
30
25
|
|
26
|
+
def run_jekyll_build(build_args = "")
|
27
|
+
if !run_jekyll("build #{build_args}", jekyll_output_file) || build_args.eql?("--verbose")
|
28
|
+
puts jekyll_run_output
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def run_jekyll_new(new_args = "")
|
33
|
+
unless run_jekyll("new #{new_args}", jekyll_output_file)
|
34
|
+
puts jekyll_run_output
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
31
38
|
def slug(title)
|
32
39
|
title.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-')
|
33
40
|
end
|
@@ -47,15 +54,8 @@ def file_contents(path)
|
|
47
54
|
end
|
48
55
|
|
49
56
|
def seconds_agnostic_datetime(datetime = Time.now)
|
50
|
-
|
51
|
-
|
52
|
-
date = pieces[0..2].join(" ")
|
53
|
-
time = seconds_agnostic_time(pieces[3])
|
54
|
-
zone = pieces[4..5].join(" ")
|
55
|
-
else # Ruby 1.9.1 or greater
|
56
|
-
date, time, zone = pieces
|
57
|
-
time = seconds_agnostic_time(time)
|
58
|
-
end
|
57
|
+
date, time, zone = datetime.to_s.split(" ")
|
58
|
+
time = seconds_agnostic_time(time)
|
59
59
|
[
|
60
60
|
Regexp.escape(date),
|
61
61
|
"#{time}:\\d{2}",
|
@@ -70,6 +70,3 @@ def seconds_agnostic_time(time)
|
|
70
70
|
hour, minutes, _ = time.split(":")
|
71
71
|
"#{hour}:#{minutes}"
|
72
72
|
end
|
73
|
-
|
74
|
-
# work around "invalid option: --format" cucumber bug (see #296)
|
75
|
-
Test::Unit.run = true if RUBY_VERSION < '1.9'
|
data/jekyll.gemspec
CHANGED
@@ -2,11 +2,12 @@ Gem::Specification.new do |s|
|
|
2
2
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
3
3
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
|
+
s.required_ruby_version = '>= 1.9.2'
|
5
6
|
|
6
7
|
s.name = 'jekyll'
|
7
|
-
s.version = '
|
8
|
+
s.version = '2.0.0.alpha.1'
|
8
9
|
s.license = 'MIT'
|
9
|
-
s.date = '2014-
|
10
|
+
s.date = '2014-02-13'
|
10
11
|
s.rubyforge_project = 'jekyll'
|
11
12
|
|
12
13
|
s.summary = "A simple, blog aware, static site generator."
|
@@ -14,7 +15,7 @@ Gem::Specification.new do |s|
|
|
14
15
|
|
15
16
|
s.authors = ["Tom Preston-Werner"]
|
16
17
|
s.email = 'tom@mojombo.com'
|
17
|
-
s.homepage = 'http://github.com/
|
18
|
+
s.homepage = 'http://github.com/jekyll/jekyll'
|
18
19
|
|
19
20
|
s.require_paths = %w[lib]
|
20
21
|
|
@@ -28,20 +29,22 @@ Gem::Specification.new do |s|
|
|
28
29
|
s.add_runtime_dependency('listen', "~> 1.3")
|
29
30
|
s.add_runtime_dependency('maruku', "0.7.0")
|
30
31
|
s.add_runtime_dependency('pygments.rb', "~> 0.5.0")
|
31
|
-
s.add_runtime_dependency('
|
32
|
+
s.add_runtime_dependency('mercenary', "~> 0.2.0")
|
32
33
|
s.add_runtime_dependency('safe_yaml', "~> 1.0")
|
33
34
|
s.add_runtime_dependency('colorator', "~> 0.1")
|
34
|
-
s.add_runtime_dependency('redcarpet', "~>
|
35
|
+
s.add_runtime_dependency('redcarpet', "~> 3.0")
|
35
36
|
s.add_runtime_dependency('toml', '~> 0.1.0')
|
37
|
+
s.add_runtime_dependency('sass', '~> 3.2')
|
38
|
+
s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0')
|
36
39
|
|
37
40
|
s.add_development_dependency('rake', "~> 10.1")
|
38
41
|
s.add_development_dependency('rdoc', "~> 3.11")
|
39
42
|
s.add_development_dependency('redgreen', "~> 1.2")
|
40
|
-
s.add_development_dependency('shoulda', "~> 3.
|
43
|
+
s.add_development_dependency('shoulda', "~> 3.5")
|
41
44
|
s.add_development_dependency('rr', "~> 1.1")
|
42
|
-
s.add_development_dependency('cucumber', "1.3
|
45
|
+
s.add_development_dependency('cucumber', "~> 1.3")
|
43
46
|
s.add_development_dependency('RedCloth', "~> 4.2")
|
44
|
-
s.add_development_dependency('kramdown', "~> 1.
|
47
|
+
s.add_development_dependency('kramdown', "~> 1.3")
|
45
48
|
s.add_development_dependency('rdiscount', "~> 1.6")
|
46
49
|
s.add_development_dependency('launchy', "~> 2.3")
|
47
50
|
s.add_development_dependency('simplecov', "~> 0.7")
|
@@ -50,6 +53,8 @@ Gem::Specification.new do |s|
|
|
50
53
|
s.add_development_dependency('mime-types', "~> 1.5")
|
51
54
|
s.add_development_dependency('activesupport', '~> 3.2.13')
|
52
55
|
s.add_development_dependency('jekyll_test_plugin')
|
56
|
+
s.add_development_dependency('jekyll_test_plugin_malicious')
|
57
|
+
s.add_development_dependency('rouge', '~> 1.3')
|
53
58
|
|
54
59
|
# = MANIFEST =
|
55
60
|
s.files = %w[
|
@@ -91,6 +96,7 @@ Gem::Specification.new do |s|
|
|
91
96
|
lib/jekyll/converters/markdown/maruku_parser.rb
|
92
97
|
lib/jekyll/converters/markdown/rdiscount_parser.rb
|
93
98
|
lib/jekyll/converters/markdown/redcarpet_parser.rb
|
99
|
+
lib/jekyll/converters/sass.rb
|
94
100
|
lib/jekyll/converters/textile.rb
|
95
101
|
lib/jekyll/convertible.rb
|
96
102
|
lib/jekyll/core_ext.rb
|
@@ -103,6 +109,7 @@ Gem::Specification.new do |s|
|
|
103
109
|
lib/jekyll/generator.rb
|
104
110
|
lib/jekyll/generators/pagination.rb
|
105
111
|
lib/jekyll/layout.rb
|
112
|
+
lib/jekyll/layout_reader.rb
|
106
113
|
lib/jekyll/mime.types
|
107
114
|
lib/jekyll/page.rb
|
108
115
|
lib/jekyll/plugin.rb
|
@@ -125,11 +132,19 @@ Gem::Specification.new do |s|
|
|
125
132
|
lib/site_template/css/syntax.css
|
126
133
|
lib/site_template/index.html
|
127
134
|
script/bootstrap
|
135
|
+
script/branding
|
136
|
+
script/cibuild
|
137
|
+
script/rebund
|
128
138
|
site/.gitignore
|
129
139
|
site/CNAME
|
130
140
|
site/README
|
131
141
|
site/_config.yml
|
142
|
+
site/_data/docs.yml
|
132
143
|
site/_includes/analytics.html
|
144
|
+
site/_includes/css/gridism.css
|
145
|
+
site/_includes/css/normalize.css
|
146
|
+
site/_includes/css/pygments.css
|
147
|
+
site/_includes/css/style.css
|
133
148
|
site/_includes/docs_contents.html
|
134
149
|
site/_includes/docs_contents_mobile.html
|
135
150
|
site/_includes/docs_option.html
|
@@ -160,14 +175,11 @@ Gem::Specification.new do |s|
|
|
160
175
|
site/_posts/2013-11-04-jekyll-1-3-0-released.markdown
|
161
176
|
site/_posts/2013-11-26-jekyll-1-3-1-released.markdown
|
162
177
|
site/_posts/2013-12-07-jekyll-1-4-0-released.markdown
|
178
|
+
site/_posts/2013-12-09-jekyll-1-4-1-released.markdown
|
163
179
|
site/_posts/2013-12-16-jekyll-1-4-2-released.markdown
|
164
180
|
site/_posts/2014-01-13-jekyll-1-4-3-released.markdown
|
165
|
-
site/
|
166
|
-
site/
|
167
|
-
site/css/gridism.css
|
168
|
-
site/css/normalize.css
|
169
|
-
site/css/pygments.css
|
170
|
-
site/css/style.css
|
181
|
+
site/css/screen.css
|
182
|
+
site/docs/assets.md
|
171
183
|
site/docs/configuration.md
|
172
184
|
site/docs/contributing.md
|
173
185
|
site/docs/datafiles.md
|
@@ -195,6 +207,7 @@ Gem::Specification.new do |s|
|
|
195
207
|
site/docs/upgrading.md
|
196
208
|
site/docs/usage.md
|
197
209
|
site/docs/variables.md
|
210
|
+
site/docs/windows.md
|
198
211
|
site/favicon.png
|
199
212
|
site/feed.xml
|
200
213
|
site/freenode.txt
|
@@ -221,9 +234,9 @@ Gem::Specification.new do |s|
|
|
221
234
|
test/source/_data/languages.yml
|
222
235
|
test/source/_data/members.yaml
|
223
236
|
test/source/_data/products.yml
|
237
|
+
test/source/_includes/include.html
|
224
238
|
test/source/_includes/params.html
|
225
239
|
test/source/_includes/sig.markdown
|
226
|
-
test/source/_includes/tmp
|
227
240
|
test/source/_layouts/default.html
|
228
241
|
test/source/_layouts/post/simple.html
|
229
242
|
test/source/_layouts/simple.html
|
@@ -261,26 +274,32 @@ Gem::Specification.new do |s|
|
|
261
274
|
test/source/_posts/2013-05-10-number-category.textile
|
262
275
|
test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
|
263
276
|
test/source/_posts/2013-08-01-mkdn-extension.mkdn
|
264
|
-
test/source/_posts/
|
277
|
+
test/source/_posts/2013-12-17-include-variable-filters.markdown
|
278
|
+
test/source/_posts/2013-12-20-properties.text
|
265
279
|
test/source/_posts/es/2008-11-21-nested.textile
|
280
|
+
test/source/_sass/_grid.scss
|
266
281
|
test/source/about.html
|
267
282
|
test/source/category/_posts/2008-9-23-categories.textile
|
268
283
|
test/source/contacts.html
|
269
284
|
test/source/contacts/bar.html
|
270
285
|
test/source/contacts/index.html
|
286
|
+
test/source/css/main.scss
|
271
287
|
test/source/css/screen.css
|
272
288
|
test/source/deal.with.dots.html
|
273
|
-
test/source/exploit.md
|
274
289
|
test/source/foo/_posts/bar/2008-12-12-topical-post.textile
|
275
290
|
test/source/index.html
|
291
|
+
test/source/js/coffeescript.coffee
|
276
292
|
test/source/products.yml
|
293
|
+
test/source/properties.html
|
277
294
|
test/source/sitemap.xml
|
278
295
|
test/source/symlink-test/_data
|
279
296
|
test/source/symlink-test/symlinked-dir
|
280
297
|
test/source/symlink-test/symlinked-file
|
298
|
+
test/source/unpublished.html
|
281
299
|
test/source/win/_posts/2009-05-24-yaml-linebreak.markdown
|
282
300
|
test/source/z_category/_posts/2008-9-23-categories.textile
|
283
301
|
test/suite.rb
|
302
|
+
test/test_coffeescript.rb
|
284
303
|
test/test_command.rb
|
285
304
|
test/test_configuration.rb
|
286
305
|
test/test_convertible.rb
|
@@ -290,15 +309,16 @@ Gem::Specification.new do |s|
|
|
290
309
|
test/test_filters.rb
|
291
310
|
test/test_generated_site.rb
|
292
311
|
test/test_kramdown.rb
|
312
|
+
test/test_layout_reader.rb
|
293
313
|
test/test_new_command.rb
|
294
314
|
test/test_page.rb
|
295
315
|
test/test_pager.rb
|
296
|
-
test/test_path_sanitization.rb
|
297
316
|
test/test_post.rb
|
298
317
|
test/test_rdiscount.rb
|
299
318
|
test/test_redcarpet.rb
|
300
319
|
test/test_redcloth.rb
|
301
320
|
test/test_related_posts.rb
|
321
|
+
test/test_sass.rb
|
302
322
|
test/test_site.rb
|
303
323
|
test/test_tags.rb
|
304
324
|
test/test_url.rb
|