jekyll 3.5.2 → 3.6.0.pre.beta1

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -0
  3. data/README.markdown +5 -3
  4. data/exe/jekyll +3 -1
  5. data/lib/jekyll.rb +7 -4
  6. data/lib/jekyll/cleaner.rb +2 -0
  7. data/lib/jekyll/collection.rb +2 -0
  8. data/lib/jekyll/command.rb +2 -0
  9. data/lib/jekyll/commands/build.rb +2 -0
  10. data/lib/jekyll/commands/clean.rb +2 -0
  11. data/lib/jekyll/commands/doctor.rb +37 -0
  12. data/lib/jekyll/commands/help.rb +2 -0
  13. data/lib/jekyll/commands/new.rb +5 -3
  14. data/lib/jekyll/commands/new_theme.rb +2 -0
  15. data/lib/jekyll/commands/serve.rb +3 -1
  16. data/lib/jekyll/commands/serve/servlet.rb +3 -1
  17. data/lib/jekyll/configuration.rb +2 -1
  18. data/lib/jekyll/converter.rb +2 -0
  19. data/lib/jekyll/converters/identity.rb +2 -0
  20. data/lib/jekyll/converters/markdown.rb +2 -0
  21. data/lib/jekyll/converters/markdown/rdiscount_parser.rb +2 -0
  22. data/lib/jekyll/converters/markdown/redcarpet_parser.rb +4 -4
  23. data/lib/jekyll/converters/smartypants.rb +2 -0
  24. data/lib/jekyll/convertible.rb +1 -0
  25. data/lib/jekyll/deprecator.rb +3 -2
  26. data/lib/jekyll/document.rb +1 -0
  27. data/lib/jekyll/drops/collection_drop.rb +1 -0
  28. data/lib/jekyll/drops/document_drop.rb +1 -0
  29. data/lib/jekyll/drops/drop.rb +1 -0
  30. data/lib/jekyll/drops/excerpt_drop.rb +1 -0
  31. data/lib/jekyll/drops/jekyll_drop.rb +1 -0
  32. data/lib/jekyll/drops/site_drop.rb +4 -0
  33. data/lib/jekyll/drops/static_file_drop.rb +2 -0
  34. data/lib/jekyll/drops/unified_payload_drop.rb +1 -0
  35. data/lib/jekyll/drops/url_drop.rb +1 -0
  36. data/lib/jekyll/entry_filter.rb +2 -0
  37. data/lib/jekyll/errors.rb +2 -0
  38. data/lib/jekyll/excerpt.rb +3 -1
  39. data/lib/jekyll/external.rb +2 -0
  40. data/lib/jekyll/filters.rb +2 -0
  41. data/lib/jekyll/filters/grouping_filters.rb +2 -0
  42. data/lib/jekyll/filters/url_filters.rb +3 -1
  43. data/lib/jekyll/frontmatter_defaults.rb +2 -0
  44. data/lib/jekyll/generator.rb +2 -0
  45. data/lib/jekyll/hooks.rb +2 -0
  46. data/lib/jekyll/layout.rb +2 -0
  47. data/lib/jekyll/liquid_extensions.rb +2 -0
  48. data/lib/jekyll/liquid_renderer.rb +2 -3
  49. data/lib/jekyll/liquid_renderer/file.rb +2 -0
  50. data/lib/jekyll/liquid_renderer/table.rb +5 -3
  51. data/lib/jekyll/log_adapter.rb +49 -17
  52. data/lib/jekyll/page.rb +2 -0
  53. data/lib/jekyll/plugin.rb +2 -0
  54. data/lib/jekyll/plugin_manager.rb +2 -0
  55. data/lib/jekyll/publisher.rb +2 -0
  56. data/lib/jekyll/reader.rb +1 -0
  57. data/lib/jekyll/readers/collection_reader.rb +2 -0
  58. data/lib/jekyll/readers/data_reader.rb +4 -2
  59. data/lib/jekyll/readers/layout_reader.rb +2 -0
  60. data/lib/jekyll/readers/page_reader.rb +2 -0
  61. data/lib/jekyll/readers/post_reader.rb +2 -0
  62. data/lib/jekyll/readers/static_file_reader.rb +2 -0
  63. data/lib/jekyll/readers/theme_assets_reader.rb +2 -0
  64. data/lib/jekyll/regenerator.rb +2 -0
  65. data/lib/jekyll/related_posts.rb +2 -0
  66. data/lib/jekyll/renderer.rb +1 -0
  67. data/lib/jekyll/site.rb +3 -4
  68. data/lib/jekyll/static_file.rb +2 -0
  69. data/lib/jekyll/stevenson.rb +2 -0
  70. data/lib/jekyll/tags/highlight.rb +7 -3
  71. data/lib/jekyll/tags/include.rb +12 -3
  72. data/lib/jekyll/tags/link.rb +2 -0
  73. data/lib/jekyll/tags/post_url.rb +2 -0
  74. data/lib/jekyll/theme.rb +2 -0
  75. data/lib/jekyll/theme_builder.rb +2 -0
  76. data/lib/jekyll/url.rb +3 -1
  77. data/lib/jekyll/utils.rb +7 -1
  78. data/lib/jekyll/utils/exec.rb +2 -0
  79. data/lib/jekyll/utils/platforms.rb +2 -0
  80. data/lib/jekyll/utils/rouge.rb +21 -0
  81. data/lib/jekyll/utils/win_tz.rb +2 -0
  82. data/lib/jekyll/version.rb +3 -1
  83. data/lib/site_template/_config.yml +1 -1
  84. data/lib/theme_template/Gemfile +2 -0
  85. data/lib/theme_template/README.md.erb +7 -3
  86. metadata +16 -9
@@ -1,4 +1,5 @@
1
1
  # encoding: UTF-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Jekyll
4
5
  module Tags
@@ -135,7 +136,13 @@ eos
135
136
 
136
137
  context.stack do
137
138
  context["include"] = parse_params(context) if @params
138
- partial.render!(context)
139
+ begin
140
+ partial.render!(context)
141
+ rescue Liquid::Error => e
142
+ e.template_name = path
143
+ e.markup_context = "included " if e.markup_context.nil?
144
+ raise e
145
+ end
139
146
  end
140
147
  end
141
148
 
@@ -160,8 +167,10 @@ eos
160
167
  .file(path)
161
168
  begin
162
169
  cached_partial[path] = unparsed_file.parse(read_file(path, context))
163
- rescue Liquid::SyntaxError => ex
164
- raise IncludeTagError.new(ex.message, path)
170
+ rescue Liquid::Error => e
171
+ e.template_name = path
172
+ e.markup_context = "included " if e.markup_context.nil?
173
+ raise e
165
174
  end
166
175
  end
167
176
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Tags
3
5
  class Link < Liquid::Tag
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Tags
3
5
  class PostComparer
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  class Theme
3
5
  extend Forwardable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Jekyll::ThemeBuilder
2
4
  SCAFFOLD_DIRECTORIES = %w(
3
5
  assets _layouts _includes _sass
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "addressable/uri"
2
4
 
3
5
  # Public: Methods that generate a URL for a resource such as a Post or a Page.
@@ -93,7 +95,7 @@ module Jekyll
93
95
 
94
96
  def generate_url_from_drop(template)
95
97
  template.gsub(%r!:([a-z_]+)!) do |match|
96
- pool = possible_keys(match.sub(":".freeze, "".freeze))
98
+ pool = possible_keys(match.sub(":", ""))
97
99
 
98
100
  winner = pool.find { |key| @placeholders.key?(key) }
99
101
  if winner.nil?
@@ -1,10 +1,13 @@
1
1
 
2
+ # frozen_string_literal: true
3
+
2
4
  module Jekyll
3
5
  module Utils
4
6
  extend self
5
7
  autoload :Ansi, "jekyll/utils/ansi"
6
8
  autoload :Exec, "jekyll/utils/exec"
7
9
  autoload :Platforms, "jekyll/utils/platforms"
10
+ autoload :Rouge, "jekyll/utils/rouge"
8
11
  autoload :WinTZ, "jekyll/utils/win_tz"
9
12
 
10
13
  # Constants for use in #slugify
@@ -247,6 +250,8 @@ module Jekyll
247
250
  #
248
251
  # Returns the updated permalink template
249
252
  def add_permalink_suffix(template, permalink_style)
253
+ template = template.dup
254
+
250
255
  case permalink_style
251
256
  when :pretty
252
257
  template << "/"
@@ -256,6 +261,7 @@ module Jekyll
256
261
  template << "/" if permalink_style.to_s.end_with?("/")
257
262
  template << ":output_ext" if permalink_style.to_s.end_with?(":output_ext")
258
263
  end
264
+
259
265
  template
260
266
  end
261
267
 
@@ -296,7 +302,7 @@ module Jekyll
296
302
  def merged_file_read_opts(site, opts)
297
303
  merged = (site ? site.file_read_opts : {}).merge(opts)
298
304
  if merged["encoding"] && !merged["encoding"].start_with?("bom|")
299
- merged["encoding"].insert(0, "bom|")
305
+ merged["encoding"] = "bom|#{merged["encoding"]}"
300
306
  end
301
307
  merged
302
308
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "open3"
2
4
 
3
5
  module Jekyll
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Utils
3
5
  module Platforms
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Jekyll
4
+ module Utils
5
+ module Rouge
6
+
7
+ def self.html_formatter(*args)
8
+ Jekyll::External.require_with_graceful_fail("rouge")
9
+ if old_api?
10
+ ::Rouge::Formatters::HTML.new(*args)
11
+ else
12
+ ::Rouge::Formatters::HTMLLegacy.new(*args)
13
+ end
14
+ end
15
+
16
+ def self.old_api?
17
+ ::Rouge.version.to_s < "2"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Utils
3
5
  module WinTZ
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
- VERSION = "3.5.2".freeze
4
+ VERSION = "3.6.0.pre.beta1".freeze
3
5
  end
@@ -15,7 +15,7 @@
15
15
  # in the templates via {{ site.myvariable }}.
16
16
  title: Your awesome title
17
17
  email: your-email@example.com
18
- description: > # this means to ignore newlines until "baseurl:"
18
+ description: >- # this means to ignore newlines until "baseurl:"
19
19
  Write an awesome description for your new site here. You can edit this
20
20
  line in _config.yml. It will appear in your document head meta (for
21
21
  Google search results) and in your feed.xml site description.
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
  gemspec
@@ -1,9 +1,12 @@
1
1
  # <%= theme_name %>
2
2
 
3
- Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes` and your sass in `_sass`. To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
3
+ Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
4
+
5
+ To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
4
6
 
5
7
  TODO: Delete this and the text above, and describe your gem
6
8
 
9
+
7
10
  ## Installation
8
11
 
9
12
  Add this line to your Jekyll site's `Gemfile`:
@@ -28,7 +31,7 @@ Or install it yourself as:
28
31
 
29
32
  ## Usage
30
33
 
31
- TODO: Write usage instructions here. Describe your available layouts, includes, and/or sass.
34
+ TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
32
35
 
33
36
  ## Contributing
34
37
 
@@ -40,7 +43,8 @@ To set up your environment to develop this theme, run `bundle install`.
40
43
 
41
44
  Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
42
45
 
43
- When your theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.
46
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
47
+ To add a custom directory to your theme-gem, please edit the regexp in `<%= theme_name %>.gemspec` accordingly.
44
48
 
45
49
  ## License
46
50
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.2
4
+ version: 3.6.0.pre.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Preston-Werner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-12 00:00:00.000000000 Z
11
+ date: 2017-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.3'
75
+ version: '1.14'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.3'
82
+ version: '1.14'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: liquid
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -126,16 +126,22 @@ dependencies:
126
126
  name: rouge
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '1.7'
132
+ - - "<"
133
+ - !ruby/object:Gem::Version
134
+ version: '3'
132
135
  type: :runtime
133
136
  prerelease: false
134
137
  version_requirements: !ruby/object:Gem::Requirement
135
138
  requirements:
136
- - - "~>"
139
+ - - ">="
137
140
  - !ruby/object:Gem::Version
138
141
  version: '1.7'
142
+ - - "<"
143
+ - !ruby/object:Gem::Version
144
+ version: '3'
139
145
  - !ruby/object:Gem::Dependency
140
146
  name: safe_yaml
141
147
  requirement: !ruby/object:Gem::Requirement
@@ -241,6 +247,7 @@ files:
241
247
  - lib/jekyll/utils/ansi.rb
242
248
  - lib/jekyll/utils/exec.rb
243
249
  - lib/jekyll/utils/platforms.rb
250
+ - lib/jekyll/utils/rouge.rb
244
251
  - lib/jekyll/utils/win_tz.rb
245
252
  - lib/jekyll/version.rb
246
253
  - lib/site_template/.gitignore
@@ -275,12 +282,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
275
282
  requirements:
276
283
  - - ">="
277
284
  - !ruby/object:Gem::Version
278
- version: 2.0.0
285
+ version: 2.1.0
279
286
  required_rubygems_version: !ruby/object:Gem::Requirement
280
287
  requirements:
281
- - - ">="
288
+ - - ">"
282
289
  - !ruby/object:Gem::Version
283
- version: '0'
290
+ version: 1.3.1
284
291
  requirements: []
285
292
  rubyforge_project:
286
293
  rubygems_version: 2.6.11