jekyll 3.8.7 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +71 -62
- data/LICENSE +1 -1
- data/README.markdown +46 -17
- data/lib/blank_template/_config.yml +3 -0
- data/lib/blank_template/_layouts/default.html +12 -0
- data/lib/blank_template/_sass/main.scss +9 -0
- data/lib/blank_template/assets/css/main.scss +4 -0
- data/lib/blank_template/index.md +8 -0
- data/lib/jekyll.rb +10 -1
- data/lib/jekyll/cache.rb +190 -0
- data/lib/jekyll/cleaner.rb +5 -4
- data/lib/jekyll/collection.rb +82 -10
- data/lib/jekyll/command.rb +33 -6
- data/lib/jekyll/commands/build.rb +11 -20
- data/lib/jekyll/commands/clean.rb +2 -0
- data/lib/jekyll/commands/doctor.rb +15 -8
- data/lib/jekyll/commands/help.rb +1 -1
- data/lib/jekyll/commands/new.rb +37 -35
- data/lib/jekyll/commands/new_theme.rb +30 -28
- data/lib/jekyll/commands/serve.rb +55 -81
- data/lib/jekyll/commands/serve/live_reload_reactor.rb +6 -10
- data/lib/jekyll/commands/serve/servlet.rb +22 -25
- data/lib/jekyll/commands/serve/websockets.rb +1 -1
- data/lib/jekyll/configuration.rb +61 -149
- data/lib/jekyll/converters/identity.rb +18 -0
- data/lib/jekyll/converters/markdown.rb +49 -40
- data/lib/jekyll/converters/markdown/kramdown_parser.rb +84 -11
- data/lib/jekyll/converters/smartypants.rb +34 -14
- data/lib/jekyll/convertible.rb +30 -31
- data/lib/jekyll/deprecator.rb +1 -3
- data/lib/jekyll/document.rb +89 -61
- data/lib/jekyll/drops/collection_drop.rb +2 -3
- data/lib/jekyll/drops/document_drop.rb +14 -1
- data/lib/jekyll/drops/drop.rb +17 -14
- data/lib/jekyll/drops/excerpt_drop.rb +4 -0
- data/lib/jekyll/drops/page_drop.rb +18 -0
- data/lib/jekyll/drops/site_drop.rb +6 -5
- data/lib/jekyll/drops/unified_payload_drop.rb +1 -0
- data/lib/jekyll/drops/url_drop.rb +53 -1
- data/lib/jekyll/entry_filter.rb +42 -45
- data/lib/jekyll/excerpt.rb +45 -34
- data/lib/jekyll/external.rb +10 -5
- data/lib/jekyll/filters.rb +200 -40
- data/lib/jekyll/filters/date_filters.rb +6 -3
- data/lib/jekyll/filters/grouping_filters.rb +1 -2
- data/lib/jekyll/filters/url_filters.rb +46 -14
- data/lib/jekyll/frontmatter_defaults.rb +46 -35
- data/lib/jekyll/hooks.rb +4 -8
- data/lib/jekyll/inclusion.rb +32 -0
- data/lib/jekyll/liquid_extensions.rb +0 -2
- data/lib/jekyll/liquid_renderer.rb +31 -16
- data/lib/jekyll/liquid_renderer/file.rb +24 -3
- data/lib/jekyll/liquid_renderer/table.rb +36 -77
- data/lib/jekyll/log_adapter.rb +5 -1
- data/lib/jekyll/mime.types +53 -11
- data/lib/jekyll/page.rb +54 -12
- data/lib/jekyll/page_excerpt.rb +26 -0
- data/lib/jekyll/page_without_a_file.rb +0 -4
- data/lib/jekyll/path_manager.rb +31 -0
- data/lib/jekyll/plugin.rb +5 -11
- data/lib/jekyll/plugin_manager.rb +2 -0
- data/lib/jekyll/profiler.rb +58 -0
- data/lib/jekyll/reader.rb +42 -9
- data/lib/jekyll/readers/collection_reader.rb +1 -0
- data/lib/jekyll/readers/data_reader.rb +8 -9
- data/lib/jekyll/readers/layout_reader.rb +3 -12
- data/lib/jekyll/readers/page_reader.rb +5 -5
- data/lib/jekyll/readers/post_reader.rb +31 -18
- data/lib/jekyll/readers/static_file_reader.rb +4 -4
- data/lib/jekyll/readers/theme_assets_reader.rb +8 -5
- data/lib/jekyll/regenerator.rb +4 -12
- data/lib/jekyll/renderer.rb +23 -40
- data/lib/jekyll/site.rb +91 -38
- data/lib/jekyll/static_file.rb +62 -21
- data/lib/jekyll/stevenson.rb +2 -3
- data/lib/jekyll/tags/highlight.rb +19 -51
- data/lib/jekyll/tags/include.rb +82 -42
- data/lib/jekyll/tags/link.rb +11 -7
- data/lib/jekyll/tags/post_url.rb +25 -21
- data/lib/jekyll/theme.rb +16 -18
- data/lib/jekyll/theme_builder.rb +91 -89
- data/lib/jekyll/url.rb +10 -5
- data/lib/jekyll/utils.rb +18 -21
- data/lib/jekyll/utils/ansi.rb +1 -1
- data/lib/jekyll/utils/exec.rb +0 -1
- data/lib/jekyll/utils/internet.rb +2 -4
- data/lib/jekyll/utils/platforms.rb +8 -8
- data/lib/jekyll/utils/thread_event.rb +1 -5
- data/lib/jekyll/utils/win_tz.rb +2 -2
- data/lib/jekyll/version.rb +1 -1
- data/lib/site_template/.gitignore +2 -0
- data/lib/site_template/404.html +1 -0
- data/lib/site_template/_config.yml +17 -5
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +5 -1
- data/lib/site_template/{about.md → about.markdown} +0 -0
- data/lib/site_template/{index.md → index.markdown} +0 -0
- data/lib/theme_template/gitignore.erb +1 -0
- data/lib/theme_template/theme.gemspec.erb +1 -4
- data/rubocop/jekyll/assert_equal_literal_actual.rb +149 -0
- metadata +69 -31
- data/lib/jekyll/converters/markdown/rdiscount_parser.rb +0 -37
- data/lib/jekyll/converters/markdown/redcarpet_parser.rb +0 -112
- data/lib/jekyll/utils/rouge.rb +0 -22
metadata
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tom Preston-Werner
|
|
8
|
+
- Parker Moore
|
|
9
|
+
- Matt Rogers
|
|
8
10
|
autorequire:
|
|
9
11
|
bindir: exe
|
|
10
12
|
cert_chain: []
|
|
11
|
-
date: 2020-05-
|
|
13
|
+
date: 2020-05-27 00:00:00.000000000 Z
|
|
12
14
|
dependencies:
|
|
13
15
|
- !ruby/object:Gem::Dependency
|
|
14
16
|
name: addressable
|
|
@@ -58,28 +60,28 @@ dependencies:
|
|
|
58
60
|
requirements:
|
|
59
61
|
- - "~>"
|
|
60
62
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0
|
|
63
|
+
version: '1.0'
|
|
62
64
|
type: :runtime
|
|
63
65
|
prerelease: false
|
|
64
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
67
|
requirements:
|
|
66
68
|
- - "~>"
|
|
67
69
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0
|
|
70
|
+
version: '1.0'
|
|
69
71
|
- !ruby/object:Gem::Dependency
|
|
70
72
|
name: jekyll-sass-converter
|
|
71
73
|
requirement: !ruby/object:Gem::Requirement
|
|
72
74
|
requirements:
|
|
73
75
|
- - "~>"
|
|
74
76
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
77
|
+
version: '2.0'
|
|
76
78
|
type: :runtime
|
|
77
79
|
prerelease: false
|
|
78
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
81
|
requirements:
|
|
80
82
|
- - "~>"
|
|
81
83
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
84
|
+
version: '2.0'
|
|
83
85
|
- !ruby/object:Gem::Dependency
|
|
84
86
|
name: jekyll-watch
|
|
85
87
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,14 +102,28 @@ dependencies:
|
|
|
100
102
|
requirements:
|
|
101
103
|
- - "~>"
|
|
102
104
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '1
|
|
105
|
+
version: '2.1'
|
|
106
|
+
type: :runtime
|
|
107
|
+
prerelease: false
|
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
109
|
+
requirements:
|
|
110
|
+
- - "~>"
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: '2.1'
|
|
113
|
+
- !ruby/object:Gem::Dependency
|
|
114
|
+
name: kramdown-parser-gfm
|
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - "~>"
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: '1.0'
|
|
104
120
|
type: :runtime
|
|
105
121
|
prerelease: false
|
|
106
122
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
123
|
requirements:
|
|
108
124
|
- - "~>"
|
|
109
125
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '1.
|
|
126
|
+
version: '1.0'
|
|
111
127
|
- !ruby/object:Gem::Dependency
|
|
112
128
|
name: liquid
|
|
113
129
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -128,14 +144,14 @@ dependencies:
|
|
|
128
144
|
requirements:
|
|
129
145
|
- - "~>"
|
|
130
146
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 0.
|
|
147
|
+
version: 0.4.0
|
|
132
148
|
type: :runtime
|
|
133
149
|
prerelease: false
|
|
134
150
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
151
|
requirements:
|
|
136
152
|
- - "~>"
|
|
137
153
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 0.
|
|
154
|
+
version: 0.4.0
|
|
139
155
|
- !ruby/object:Gem::Dependency
|
|
140
156
|
name: pathutil
|
|
141
157
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,22 +170,16 @@ dependencies:
|
|
|
154
170
|
name: rouge
|
|
155
171
|
requirement: !ruby/object:Gem::Requirement
|
|
156
172
|
requirements:
|
|
157
|
-
- - "
|
|
158
|
-
- !ruby/object:Gem::Version
|
|
159
|
-
version: '1.7'
|
|
160
|
-
- - "<"
|
|
173
|
+
- - "~>"
|
|
161
174
|
- !ruby/object:Gem::Version
|
|
162
|
-
version: '
|
|
175
|
+
version: '3.0'
|
|
163
176
|
type: :runtime
|
|
164
177
|
prerelease: false
|
|
165
178
|
version_requirements: !ruby/object:Gem::Requirement
|
|
166
179
|
requirements:
|
|
167
|
-
- - "
|
|
168
|
-
- !ruby/object:Gem::Version
|
|
169
|
-
version: '1.7'
|
|
170
|
-
- - "<"
|
|
180
|
+
- - "~>"
|
|
171
181
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
182
|
+
version: '3.0'
|
|
173
183
|
- !ruby/object:Gem::Dependency
|
|
174
184
|
name: safe_yaml
|
|
175
185
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -184,8 +194,23 @@ dependencies:
|
|
|
184
194
|
- - "~>"
|
|
185
195
|
- !ruby/object:Gem::Version
|
|
186
196
|
version: '1.0'
|
|
197
|
+
- !ruby/object:Gem::Dependency
|
|
198
|
+
name: terminal-table
|
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
|
200
|
+
requirements:
|
|
201
|
+
- - "~>"
|
|
202
|
+
- !ruby/object:Gem::Version
|
|
203
|
+
version: '1.8'
|
|
204
|
+
type: :runtime
|
|
205
|
+
prerelease: false
|
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
207
|
+
requirements:
|
|
208
|
+
- - "~>"
|
|
209
|
+
- !ruby/object:Gem::Version
|
|
210
|
+
version: '1.8'
|
|
187
211
|
description: Jekyll is a simple, blog aware, static site generator.
|
|
188
|
-
email:
|
|
212
|
+
email:
|
|
213
|
+
- maintainers@jekyllrb.com
|
|
189
214
|
executables:
|
|
190
215
|
- jekyll
|
|
191
216
|
extensions: []
|
|
@@ -197,7 +222,13 @@ files:
|
|
|
197
222
|
- LICENSE
|
|
198
223
|
- README.markdown
|
|
199
224
|
- exe/jekyll
|
|
225
|
+
- lib/blank_template/_config.yml
|
|
226
|
+
- lib/blank_template/_layouts/default.html
|
|
227
|
+
- lib/blank_template/_sass/main.scss
|
|
228
|
+
- lib/blank_template/assets/css/main.scss
|
|
229
|
+
- lib/blank_template/index.md
|
|
200
230
|
- lib/jekyll.rb
|
|
231
|
+
- lib/jekyll/cache.rb
|
|
201
232
|
- lib/jekyll/cleaner.rb
|
|
202
233
|
- lib/jekyll/collection.rb
|
|
203
234
|
- lib/jekyll/command.rb
|
|
@@ -217,8 +248,6 @@ files:
|
|
|
217
248
|
- lib/jekyll/converters/identity.rb
|
|
218
249
|
- lib/jekyll/converters/markdown.rb
|
|
219
250
|
- lib/jekyll/converters/markdown/kramdown_parser.rb
|
|
220
|
-
- lib/jekyll/converters/markdown/rdiscount_parser.rb
|
|
221
|
-
- lib/jekyll/converters/markdown/redcarpet_parser.rb
|
|
222
251
|
- lib/jekyll/converters/smartypants.rb
|
|
223
252
|
- lib/jekyll/convertible.rb
|
|
224
253
|
- lib/jekyll/deprecator.rb
|
|
@@ -228,6 +257,7 @@ files:
|
|
|
228
257
|
- lib/jekyll/drops/drop.rb
|
|
229
258
|
- lib/jekyll/drops/excerpt_drop.rb
|
|
230
259
|
- lib/jekyll/drops/jekyll_drop.rb
|
|
260
|
+
- lib/jekyll/drops/page_drop.rb
|
|
231
261
|
- lib/jekyll/drops/site_drop.rb
|
|
232
262
|
- lib/jekyll/drops/static_file_drop.rb
|
|
233
263
|
- lib/jekyll/drops/unified_payload_drop.rb
|
|
@@ -243,6 +273,7 @@ files:
|
|
|
243
273
|
- lib/jekyll/frontmatter_defaults.rb
|
|
244
274
|
- lib/jekyll/generator.rb
|
|
245
275
|
- lib/jekyll/hooks.rb
|
|
276
|
+
- lib/jekyll/inclusion.rb
|
|
246
277
|
- lib/jekyll/layout.rb
|
|
247
278
|
- lib/jekyll/liquid_extensions.rb
|
|
248
279
|
- lib/jekyll/liquid_renderer.rb
|
|
@@ -251,9 +282,12 @@ files:
|
|
|
251
282
|
- lib/jekyll/log_adapter.rb
|
|
252
283
|
- lib/jekyll/mime.types
|
|
253
284
|
- lib/jekyll/page.rb
|
|
285
|
+
- lib/jekyll/page_excerpt.rb
|
|
254
286
|
- lib/jekyll/page_without_a_file.rb
|
|
287
|
+
- lib/jekyll/path_manager.rb
|
|
255
288
|
- lib/jekyll/plugin.rb
|
|
256
289
|
- lib/jekyll/plugin_manager.rb
|
|
290
|
+
- lib/jekyll/profiler.rb
|
|
257
291
|
- lib/jekyll/publisher.rb
|
|
258
292
|
- lib/jekyll/reader.rb
|
|
259
293
|
- lib/jekyll/readers/collection_reader.rb
|
|
@@ -281,7 +315,6 @@ files:
|
|
|
281
315
|
- lib/jekyll/utils/exec.rb
|
|
282
316
|
- lib/jekyll/utils/internet.rb
|
|
283
317
|
- lib/jekyll/utils/platforms.rb
|
|
284
|
-
- lib/jekyll/utils/rouge.rb
|
|
285
318
|
- lib/jekyll/utils/thread_event.rb
|
|
286
319
|
- lib/jekyll/utils/win_tz.rb
|
|
287
320
|
- lib/jekyll/version.rb
|
|
@@ -289,8 +322,8 @@ files:
|
|
|
289
322
|
- lib/site_template/404.html
|
|
290
323
|
- lib/site_template/_config.yml
|
|
291
324
|
- lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb
|
|
292
|
-
- lib/site_template/about.
|
|
293
|
-
- lib/site_template/index.
|
|
325
|
+
- lib/site_template/about.markdown
|
|
326
|
+
- lib/site_template/index.markdown
|
|
294
327
|
- lib/theme_template/CODE_OF_CONDUCT.md.erb
|
|
295
328
|
- lib/theme_template/Gemfile
|
|
296
329
|
- lib/theme_template/LICENSE.txt.erb
|
|
@@ -305,12 +338,17 @@ files:
|
|
|
305
338
|
- lib/theme_template/gitignore.erb
|
|
306
339
|
- lib/theme_template/theme.gemspec.erb
|
|
307
340
|
- rubocop/jekyll.rb
|
|
341
|
+
- rubocop/jekyll/assert_equal_literal_actual.rb
|
|
308
342
|
- rubocop/jekyll/no_p_allowed.rb
|
|
309
343
|
- rubocop/jekyll/no_puts_allowed.rb
|
|
310
|
-
homepage: https://
|
|
344
|
+
homepage: https://jekyllrb.com
|
|
311
345
|
licenses:
|
|
312
346
|
- MIT
|
|
313
|
-
metadata:
|
|
347
|
+
metadata:
|
|
348
|
+
source_code_uri: https://github.com/jekyll/jekyll
|
|
349
|
+
bug_tracker_uri: https://github.com/jekyll/jekyll/issues
|
|
350
|
+
changelog_uri: https://github.com/jekyll/jekyll/releases
|
|
351
|
+
homepage_uri: https://jekyllrb.com
|
|
314
352
|
post_install_message:
|
|
315
353
|
rdoc_options:
|
|
316
354
|
- "--charset=UTF-8"
|
|
@@ -320,15 +358,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
320
358
|
requirements:
|
|
321
359
|
- - ">="
|
|
322
360
|
- !ruby/object:Gem::Version
|
|
323
|
-
version: 2.
|
|
361
|
+
version: 2.4.0
|
|
324
362
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
325
363
|
requirements:
|
|
326
364
|
- - ">="
|
|
327
365
|
- !ruby/object:Gem::Version
|
|
328
|
-
version:
|
|
366
|
+
version: 2.7.0
|
|
329
367
|
requirements: []
|
|
330
368
|
rubygems_version: 3.1.2
|
|
331
369
|
signing_key:
|
|
332
|
-
specification_version:
|
|
370
|
+
specification_version: 4
|
|
333
371
|
summary: A simple, blog aware, static site generator.
|
|
334
372
|
test_files: []
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Jekyll
|
|
4
|
-
module Converters
|
|
5
|
-
class Markdown
|
|
6
|
-
class RDiscountParser
|
|
7
|
-
def initialize(config)
|
|
8
|
-
unless defined?(RDiscount)
|
|
9
|
-
Jekyll::External.require_with_graceful_fail "rdiscount"
|
|
10
|
-
end
|
|
11
|
-
@config = config
|
|
12
|
-
@rdiscount_extensions = @config["rdiscount"]["extensions"].map(&:to_sym)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def convert(content)
|
|
16
|
-
rd = RDiscount.new(content, *@rdiscount_extensions)
|
|
17
|
-
html = rd.to_html
|
|
18
|
-
if @config["rdiscount"]["toc_token"]
|
|
19
|
-
html = replace_generated_toc(rd, html, @config["rdiscount"]["toc_token"])
|
|
20
|
-
end
|
|
21
|
-
html
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
def replace_generated_toc(rd_instance, html, toc_token)
|
|
26
|
-
if rd_instance.generate_toc && html.include?(toc_token)
|
|
27
|
-
utf8_toc = rd_instance.toc_content
|
|
28
|
-
utf8_toc.force_encoding("utf-8") if utf8_toc.respond_to?(:force_encoding)
|
|
29
|
-
html.gsub(toc_token, utf8_toc)
|
|
30
|
-
else
|
|
31
|
-
html
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
class Jekyll::Converters::Markdown::RedcarpetParser
|
|
4
|
-
module CommonMethods
|
|
5
|
-
def add_code_tags(code, lang)
|
|
6
|
-
code = code.to_s
|
|
7
|
-
code = code.sub(
|
|
8
|
-
%r!<pre>!,
|
|
9
|
-
"<pre><code class=\"language-#{lang}\" data-lang=\"#{lang}\">"
|
|
10
|
-
)
|
|
11
|
-
code = code.sub(%r!</pre>!, "</code></pre>")
|
|
12
|
-
code
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
module WithPygments
|
|
17
|
-
include CommonMethods
|
|
18
|
-
def block_code(code, lang)
|
|
19
|
-
unless defined?(Pygments)
|
|
20
|
-
Jekyll::External.require_with_graceful_fail("pygments")
|
|
21
|
-
end
|
|
22
|
-
lang = lang && lang.split.first || "text"
|
|
23
|
-
add_code_tags(
|
|
24
|
-
Pygments.highlight(
|
|
25
|
-
code,
|
|
26
|
-
{
|
|
27
|
-
:lexer => lang,
|
|
28
|
-
:options => { :encoding => "utf-8" },
|
|
29
|
-
}
|
|
30
|
-
),
|
|
31
|
-
lang
|
|
32
|
-
)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
module WithoutHighlighting
|
|
37
|
-
require "cgi"
|
|
38
|
-
|
|
39
|
-
include CommonMethods
|
|
40
|
-
|
|
41
|
-
def code_wrap(code)
|
|
42
|
-
"<figure class=\"highlight\"><pre>#{CGI.escapeHTML(code)}</pre></figure>"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def block_code(code, lang)
|
|
46
|
-
lang = lang && lang.split.first || "text"
|
|
47
|
-
add_code_tags(code_wrap(code), lang)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
module WithRouge
|
|
52
|
-
def block_code(_code, lang)
|
|
53
|
-
code = "<pre>#{super}</pre>"
|
|
54
|
-
|
|
55
|
-
"<div class=\"highlight\">#{add_code_tags(code, lang)}</div>"
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
protected
|
|
59
|
-
def rouge_formatter(_lexer)
|
|
60
|
-
Jekyll::Utils::Rouge.html_formatter(:wrap => false)
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def initialize(config)
|
|
65
|
-
unless defined?(Redcarpet)
|
|
66
|
-
Jekyll::External.require_with_graceful_fail("redcarpet")
|
|
67
|
-
end
|
|
68
|
-
@config = config
|
|
69
|
-
@redcarpet_extensions = {}
|
|
70
|
-
@config["redcarpet"]["extensions"].each do |e|
|
|
71
|
-
@redcarpet_extensions[e.to_sym] = true
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
@renderer ||= class_with_proper_highlighter(@config["highlighter"])
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def class_with_proper_highlighter(highlighter)
|
|
78
|
-
Class.new(Redcarpet::Render::HTML) do
|
|
79
|
-
case highlighter
|
|
80
|
-
when "pygments"
|
|
81
|
-
include WithPygments
|
|
82
|
-
when "rouge"
|
|
83
|
-
Jekyll::External.require_with_graceful_fail(%w(
|
|
84
|
-
rouge rouge/plugins/redcarpet
|
|
85
|
-
))
|
|
86
|
-
|
|
87
|
-
unless Gem::Version.new(Rouge.version) > Gem::Version.new("1.3.0")
|
|
88
|
-
abort "Please install Rouge 1.3.0 or greater and try running Jekyll again."
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
include Rouge::Plugins::Redcarpet
|
|
92
|
-
include CommonMethods
|
|
93
|
-
include WithRouge
|
|
94
|
-
else
|
|
95
|
-
include WithoutHighlighting
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def convert(content)
|
|
101
|
-
@redcarpet_extensions[:fenced_code_blocks] = \
|
|
102
|
-
!@redcarpet_extensions[:no_fenced_code_blocks]
|
|
103
|
-
if @redcarpet_extensions[:smart]
|
|
104
|
-
@renderer.send :include, Redcarpet::Render::SmartyPants
|
|
105
|
-
end
|
|
106
|
-
markdown = Redcarpet::Markdown.new(
|
|
107
|
-
@renderer.new(@redcarpet_extensions),
|
|
108
|
-
@redcarpet_extensions
|
|
109
|
-
)
|
|
110
|
-
markdown.render(content)
|
|
111
|
-
end
|
|
112
|
-
end
|
data/lib/jekyll/utils/rouge.rb
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
Jekyll::External.require_with_graceful_fail("rouge")
|
|
4
|
-
|
|
5
|
-
module Jekyll
|
|
6
|
-
module Utils
|
|
7
|
-
module Rouge
|
|
8
|
-
|
|
9
|
-
def self.html_formatter(*args)
|
|
10
|
-
if old_api?
|
|
11
|
-
::Rouge::Formatters::HTML.new(*args)
|
|
12
|
-
else
|
|
13
|
-
::Rouge::Formatters::HTMLLegacy.new(*args)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def self.old_api?
|
|
18
|
-
::Rouge.version.to_s < "2"
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|