jekyll-spaceship 0.4.0 → 0.4.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94ea2a0d155352226a30c7eaa7be0f87e92b752fe476b70ce13a801e22c169ae
|
4
|
+
data.tar.gz: dcab68c9f4fb6a26a71184e2334ff05582b37a3c8df6c3fd4c5667bb0a42304a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfaba56224f643f69e3cd63690bb0c3c669d0a4c3db1cdf5bd04d21a4daea64f690fc47891ed617333bcde3bc305c4b433040d7c39816ccf4d7e8624dea2c99b
|
7
|
+
data.tar.gz: e471ed629819a3fc6ffbb783d2d9a22ee271c0510e1d3b9f1d5c6bc62053dc1fadbbf3af5abacfe907c35cb7682ed0b2514208e7e0e074957c278dce83ad7ac7
|
@@ -7,6 +7,7 @@ module Jekyll::Spaceship
|
|
7
7
|
@@_hooks = {}
|
8
8
|
@@_registers = []
|
9
9
|
@@_processers = []
|
10
|
+
@@_exclusions = []
|
10
11
|
@@_priority = nil
|
11
12
|
|
12
13
|
attr_accessor :priority
|
@@ -40,6 +41,7 @@ module Jekyll::Spaceship
|
|
40
41
|
def initialize()
|
41
42
|
self.initialize_priority
|
42
43
|
self.initialize_register
|
44
|
+
self.initialize_exclusions
|
43
45
|
end
|
44
46
|
|
45
47
|
def initialize_priority
|
@@ -71,6 +73,14 @@ module Jekyll::Spaceship
|
|
71
73
|
@@_registers.clear
|
72
74
|
end
|
73
75
|
|
76
|
+
def initialize_exclusions
|
77
|
+
if @@_exclusions.size.zero?
|
78
|
+
self.class.exclude :code, :block_quotes
|
79
|
+
end
|
80
|
+
@_exclusions = @@_exclusions.uniq
|
81
|
+
@@_exclusions.clear
|
82
|
+
end
|
83
|
+
|
74
84
|
def self.priority(value)
|
75
85
|
value = value.to_sym
|
76
86
|
if PRIORITY_MAP.has_key? value
|
@@ -145,7 +155,9 @@ module Jekyll::Spaceship
|
|
145
155
|
end
|
146
156
|
|
147
157
|
if self.respond_to? method
|
158
|
+
@page.content = self.pre_exclude @page.content
|
148
159
|
@page.content = self.send method, @page.content
|
160
|
+
@page.content = self.after_exclude @page.content
|
149
161
|
end
|
150
162
|
else
|
151
163
|
if html? output_ext
|
@@ -162,6 +174,10 @@ module Jekyll::Spaceship
|
|
162
174
|
end
|
163
175
|
end
|
164
176
|
|
177
|
+
def self.exclude(*types)
|
178
|
+
@@_exclusions = types
|
179
|
+
end
|
180
|
+
|
165
181
|
def html?(_ext)
|
166
182
|
self.class.html? _ext
|
167
183
|
end
|
@@ -217,6 +233,34 @@ module Jekyll::Spaceship
|
|
217
233
|
html?(output_ext) or markdown?(ext)
|
218
234
|
end
|
219
235
|
|
236
|
+
def pre_exclude(content)
|
237
|
+
@_exclusion_store = []
|
238
|
+
@_exclusions.each do |type|
|
239
|
+
regex = nil
|
240
|
+
if type == :code
|
241
|
+
regex = /(`{3}\s*(\w*)((?:.|\n)*?)`{3})/
|
242
|
+
end
|
243
|
+
next if regex.nil?
|
244
|
+
content.scan(regex) do |match_data|
|
245
|
+
match = match_data[0]
|
246
|
+
id = @_exclusion_store.size
|
247
|
+
content = content.gsub(match, "[//]: JEKYLL_EXCLUDE_##{id}")
|
248
|
+
@_exclusion_store.push match
|
249
|
+
end
|
250
|
+
end
|
251
|
+
content
|
252
|
+
end
|
253
|
+
|
254
|
+
def after_exclude(content)
|
255
|
+
while @_exclusion_store.size > 0
|
256
|
+
match = @_exclusion_store.pop
|
257
|
+
id = @_exclusion_store.size
|
258
|
+
content = content.gsub("[//]: JEKYLL_EXCLUDE_##{id}", match)
|
259
|
+
end
|
260
|
+
@_exclusion_store = []
|
261
|
+
content
|
262
|
+
end
|
263
|
+
|
220
264
|
def on_handled
|
221
265
|
processor = self.class.name.split('::').last
|
222
266
|
file = page.path.gsub(/.*_posts\//, '')
|
@@ -251,7 +295,9 @@ module Jekyll::Spaceship
|
|
251
295
|
|
252
296
|
# dispatch to other handlers
|
253
297
|
if processor.respond_to? method
|
298
|
+
blk_content = processor.pre_exclude blk_content
|
254
299
|
blk_content = processor.send method, blk_content
|
300
|
+
blk_content = processor.after_exclude blk_content
|
255
301
|
end
|
256
302
|
end
|
257
303
|
|
@@ -75,6 +75,7 @@ module Jekyll::Spaceship
|
|
75
75
|
|
76
76
|
data[:width] = 600 if data[:width].nil?
|
77
77
|
data[:height] = 400 if data[:height].nil?
|
78
|
+
style = "max-width: 100%" if width.nil?
|
78
79
|
width = data[:width] if width.nil?
|
79
80
|
height = data[:height] if height.nil?
|
80
81
|
|
@@ -84,6 +85,7 @@ module Jekyll::Spaceship
|
|
84
85
|
title=\"#{title}\" \
|
85
86
|
width=\"#{width}\" \
|
86
87
|
height=\"#{height}\" \
|
88
|
+
style=\"#{style}\" \
|
87
89
|
frameborder=\"0\" \
|
88
90
|
allowfullscreen=\"\">\
|
89
91
|
</iframe>"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-spaceship
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jeffreytse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|