jekyll-pandoc-mermaid 1.0.2
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 +7 -0
- data/lib/jekyll-pandoc-mermaid.rb +71 -0
- metadata +105 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6aba17e8a43e1f92f3c18c2f9b15e80452c93bab1adfb6676111718de646da6a
|
4
|
+
data.tar.gz: 23f8be9f5cc20173a2cdcfe553e6c21410f563671eb7048a12f4aa7424df72f6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e6014e780b03cf828755f8cf8cdebda9b5d39190acc48546872a1a41a7a285d43c981a394e1ec6f5e787de15b511f33565a13744e7d3f1d6c3ded5484102b60b
|
7
|
+
data.tar.gz: e8b2a760042c2fb6ec19878868a6ef715c25f936c93bbef9762e5f9d5396384dc3fbd28c3335e5683c3d7b09378cdc12e21331dca5c6c375ce7c47c9891a7212
|
@@ -0,0 +1,71 @@
|
|
1
|
+
Jekyll::Hooks.register :documents, :pre_render do |doc|
|
2
|
+
next if not jekyll_pandoc_mermaid_is_enable(doc.site.config)
|
3
|
+
|
4
|
+
doc.content = replace_mermaid_format_to_html_entites_before_rendering(doc.content)
|
5
|
+
end
|
6
|
+
|
7
|
+
#
|
8
|
+
|
9
|
+
def replace_mermaid_format_to_html_entites_before_rendering(input_text)
|
10
|
+
regex = /{% mermaid %}([\w\W]*?){% endmermaid %}/
|
11
|
+
|
12
|
+
output_text = input_text.gsub(regex) { |_|
|
13
|
+
match = Regexp.last_match
|
14
|
+
mermaid_block_text = Regexp.last_match[0]
|
15
|
+
|
16
|
+
mermaid_block_text.gsub!(/\n/, ' ')
|
17
|
+
mermaid_block_text.gsub!(/-/, '-')
|
18
|
+
mermaid_block_text.gsub!(/"/, '\"')
|
19
|
+
|
20
|
+
mermaid_block_text
|
21
|
+
}
|
22
|
+
|
23
|
+
return output_text
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
|
28
|
+
# can modify not doc.content(unrendered content of the document),
|
29
|
+
# but doc.output(rendered output) after rendering
|
30
|
+
Jekyll::Hooks.register :documents, :post_render do |doc|
|
31
|
+
next if not jekyll_pandoc_mermaid_is_enable(doc.site.config)
|
32
|
+
|
33
|
+
doc.output = replace_html_entites_to_mermaid_format_after_rendering(doc.output)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
|
38
|
+
def replace_html_entites_to_mermaid_format_after_rendering(input_text)
|
39
|
+
|
40
|
+
regex = /<div class="mermaid">([\w\W]*?)<\/div>/
|
41
|
+
|
42
|
+
output_text = input_text.gsub(regex) { |_|
|
43
|
+
match = Regexp.last_match
|
44
|
+
mermaid_block_text = Regexp.last_match[0]
|
45
|
+
|
46
|
+
mermaid_block_text.gsub!(/‘/, "'")
|
47
|
+
mermaid_block_text.gsub!(/’/, "'")
|
48
|
+
mermaid_block_text.gsub!(/“/, '"')
|
49
|
+
mermaid_block_text.gsub!(/”/, '"')
|
50
|
+
|
51
|
+
mermaid_block_text
|
52
|
+
}
|
53
|
+
|
54
|
+
return output_text
|
55
|
+
end
|
56
|
+
|
57
|
+
#
|
58
|
+
|
59
|
+
def jekyll_pandoc_mermaid_is_enable(config)
|
60
|
+
Jekyll::External.require_with_graceful_fail "jekyll-pandoc"
|
61
|
+
Jekyll::External.require_with_graceful_fail "jekyll-mermaid"
|
62
|
+
|
63
|
+
if config['markdown'] != 'Pandoc'
|
64
|
+
return false
|
65
|
+
elsif config['mermaid'] == nil or config['mermaid']['src'] == nil
|
66
|
+
return false
|
67
|
+
end
|
68
|
+
|
69
|
+
return true
|
70
|
+
end
|
71
|
+
|
metadata
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jekyll-pandoc-mermaid
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jihoon Kim
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-01-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4.0'
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: jekyll-pandoc
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 2.0.1
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 2.0.1
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 2.0.1
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.0.1
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: jekyll-mermaid
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.0.0
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.0.0
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.0.0
|
70
|
+
- - "~>"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.0.0
|
73
|
+
description: jekyll-pandoc-mermaid can solve rendering issue that occures when using
|
74
|
+
jekyll-pandoc and jekyll-mermaid plugin together
|
75
|
+
email: hoonti06@gmail.com
|
76
|
+
executables: []
|
77
|
+
extensions: []
|
78
|
+
extra_rdoc_files: []
|
79
|
+
files:
|
80
|
+
- lib/jekyll-pandoc-mermaid.rb
|
81
|
+
homepage: https://github.com/hoonti06/jekyll-pandoc-mermaid
|
82
|
+
licenses:
|
83
|
+
- MIT
|
84
|
+
metadata: {}
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options: []
|
87
|
+
require_paths:
|
88
|
+
- lib
|
89
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubygems_version: 3.0.3
|
101
|
+
signing_key:
|
102
|
+
specification_version: 4
|
103
|
+
summary: jekyll-pandoc-mermaid can help to use jekyll-mermaid plugin when using jekyll-pandoc
|
104
|
+
plugin
|
105
|
+
test_files: []
|