jekyll-commonmark-ghpages 0.1.4 → 0.2.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/.github/CODEOWNERS +2 -0
- data/.github/workflows/cibuild.yaml +17 -0
- data/.gitignore +1 -0
- data/README.md +5 -4
- data/jekyll-commonmark-ghpages.gemspec +7 -7
- data/lib/jekyll-commonmark-ghpages.rb +20 -8
- data/script/cibuild +10 -0
- data/spec/test_spec.rb +3 -3
- metadata +39 -34
- data/.travis.yml +0 -24
- data/appveyor.yml +0 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8b6560d6d39742b63f7976d4b6df8dcc4f0cbf96cbfd72d786b2884f9623144a
|
|
4
|
+
data.tar.gz: d5f9045e89575c3b4a32690976e90a4c2783f970a78a068a79a5409aa8e99753
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3746a5a1699a22924cd92e8175dcd38f51a07208ac90e8730724964a48a1b56ecec41c0d7a0a619aac089dd6f9f3d586018746761e7240f7b28f3092d82e089d
|
|
7
|
+
data.tar.gz: 034d544a15c89930b5691ef68324f8a37857aacd0d21ee802c31f19703d61eae1c6fe4c71860a1dd547482d638512b95d52c1cca50363815e2e9e773c7535ee2
|
data/.github/CODEOWNERS
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
on: push
|
|
2
|
+
name: cibuild
|
|
3
|
+
jobs:
|
|
4
|
+
build:
|
|
5
|
+
name: Test
|
|
6
|
+
strategy:
|
|
7
|
+
matrix:
|
|
8
|
+
ruby: [2.6, 2.7]
|
|
9
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
- uses: ruby/setup-ruby@v1
|
|
14
|
+
with:
|
|
15
|
+
ruby-version: ${{ matrix.ruby }}
|
|
16
|
+
- name: script/cibuild
|
|
17
|
+
run: script/cibuild
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
*GitHub Flavored Markdown converter for Jekyll, based on [`jekyll-commonmark`](https://github.com/jekyll/jekyll-commonmark)*
|
|
4
4
|
|
|
5
5
|
[](https://rubygems.org/gems/jekyll-commonmark-ghpages)
|
|
6
|
-
[](https://ci.appveyor.com/project/github/jekyll-commonmark-ghpages)
|
|
6
|
+
[](https://github.com/github/jekyll-commonmark-ghpages/actions/workflows/cibuild.yaml)
|
|
8
7
|
|
|
9
8
|
Jekyll Markdown converter that uses [libcmark-gfm](https://github.com/github/cmark), GitHub's fork of [cmark](https://github.com/commonmark/cmark), the reference parser for CommonMark, with some additions to ensure compatibility with existing Kramdown-based sites.
|
|
10
9
|
|
|
@@ -30,6 +29,8 @@ To specify extensions and options for use in converting Markdown to HTML, supply
|
|
|
30
29
|
|
|
31
30
|
```yaml
|
|
32
31
|
commonmark:
|
|
33
|
-
options: ["SMART", "FOOTNOTES"]
|
|
34
|
-
extensions: ["strikethrough", "autolink", "
|
|
32
|
+
options: ["UNSAFE", "SMART", "FOOTNOTES"]
|
|
33
|
+
extensions: ["strikethrough", "autolink", "table", "tagfilter"]
|
|
35
34
|
```
|
|
35
|
+
|
|
36
|
+
⚠ The `UNSAFE` option is required for HTML rendering.
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = "jekyll-commonmark-ghpages"
|
|
5
5
|
spec.summary = "CommonMark generator for Jekyll"
|
|
6
|
-
spec.version = "0.
|
|
7
|
-
spec.authors = ["
|
|
8
|
-
spec.email = "
|
|
6
|
+
spec.version = "0.2.0"
|
|
7
|
+
spec.authors = ["GitHub, Inc."]
|
|
8
|
+
spec.email = "support@github.com"
|
|
9
9
|
spec.homepage = "https://github.com/github/jekyll-commonmark-ghpages"
|
|
10
10
|
spec.licenses = ["MIT"]
|
|
11
11
|
|
|
@@ -14,11 +14,11 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
15
15
|
spec.require_paths = ["lib"]
|
|
16
16
|
|
|
17
|
-
spec.add_runtime_dependency "jekyll
|
|
18
|
-
spec.add_runtime_dependency "
|
|
19
|
-
spec.add_runtime_dependency "
|
|
17
|
+
spec.add_runtime_dependency "jekyll", "~> 3.9.0"
|
|
18
|
+
spec.add_runtime_dependency "jekyll-commonmark", "~> 1.4.0"
|
|
19
|
+
spec.add_runtime_dependency "commonmarker", "~> 0.23.4"
|
|
20
|
+
spec.add_runtime_dependency "rouge", ">= 2.0", "< 4.0"
|
|
20
21
|
|
|
21
22
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
22
23
|
spec.add_development_dependency "rake"
|
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.6"
|
|
24
24
|
end
|
|
@@ -81,13 +81,9 @@ class Jekyll::Converters::Markdown
|
|
|
81
81
|
# final document.
|
|
82
82
|
class CommonMarkGhPages < CommonMark
|
|
83
83
|
def convert(content)
|
|
84
|
-
|
|
85
|
-
render_options = (Set.new(@options) & CommonMarker::Config::Render.keys).to_a
|
|
86
|
-
parse_options = :DEFAULT if parse_options.empty?
|
|
87
|
-
render_options = :DEFAULT if render_options.empty?
|
|
88
|
-
doc = CommonMarker.render_doc(content, parse_options, @extensions)
|
|
84
|
+
doc = CommonMarker.render_doc(content, @parse_options, @extensions)
|
|
89
85
|
html = JekyllCommonMarkCustomRenderer.new(
|
|
90
|
-
:options => render_options,
|
|
86
|
+
:options => @render_options,
|
|
91
87
|
:extensions => @extensions
|
|
92
88
|
).render(doc)
|
|
93
89
|
html.gsub(/<br data-jekyll-commonmark-ghpages>/, "\n")
|
|
@@ -97,9 +93,25 @@ end
|
|
|
97
93
|
|
|
98
94
|
class Jekyll::Tags::HighlightBlock
|
|
99
95
|
alias render_rouge_without_ghpages_hack render_rouge
|
|
96
|
+
alias render_without_ghpages_hack render
|
|
97
|
+
|
|
98
|
+
def render(context)
|
|
99
|
+
@render_ghpages_hack_context = context
|
|
100
|
+
render_without_ghpages_hack(context)
|
|
101
|
+
end
|
|
100
102
|
|
|
101
103
|
def render_rouge(context)
|
|
102
|
-
render_rouge_without_ghpages_hack(context)
|
|
103
|
-
|
|
104
|
+
rendered = render_rouge_without_ghpages_hack(context)
|
|
105
|
+
|
|
106
|
+
processor = @render_ghpages_hack_context
|
|
107
|
+
.registers[:site]
|
|
108
|
+
.find_converter_instance(Jekyll::Converters::Markdown)
|
|
109
|
+
.get_processor
|
|
110
|
+
|
|
111
|
+
if processor.is_a?(Jekyll::Converters::Markdown::CommonMarkGhPages)
|
|
112
|
+
rendered.gsub!(/\r?\n/, "<br data-jekyll-commonmark-ghpages>")
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
rendered
|
|
104
116
|
end
|
|
105
117
|
end
|
data/script/cibuild
CHANGED
data/spec/test_spec.rb
CHANGED
|
@@ -21,18 +21,18 @@ describe Jekyll::Converters::Markdown::CommonMarkGhPages do
|
|
|
21
21
|
let(:converter) { Jekyll::Converters::Markdown::CommonMarkGhPages.new(config) }
|
|
22
22
|
let(:config) {
|
|
23
23
|
{"commonmark" => {
|
|
24
|
-
"options" => ["SMART", "FOOTNOTES"],
|
|
24
|
+
"options" => ["UNSAFE", "SMART", "FOOTNOTES"],
|
|
25
25
|
"extensions" => ["tagfilter"],
|
|
26
26
|
}}
|
|
27
27
|
}
|
|
28
28
|
subject { converter.convert("### \"Hi\" <xmp>[^nb]\n\n[^nb]: Yes.\n") }
|
|
29
29
|
|
|
30
|
-
it { is_expected.to match %r{<h3 id="[^"]*">“Hi” <xmp><sup[^>]*><a href="#fn1"[^>]
|
|
30
|
+
it { is_expected.to match %r{<h3 id="[^"]*">“Hi” <xmp><sup[^>]*><a href="#fn1"[^>]*>1</a></sup></h3>\n<section class="footnotes">\n<ol>\n<li id="fn1">\n<p>Yes. <a href="#fnref1".*</a></p>} }
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
describe Jekyll::Renderer do
|
|
34
34
|
it "should not re-process markdown in a liquid tag" do
|
|
35
|
-
site = Jekyll::Site.new(Jekyll.configuration("markdown" => "CommonMarkGhPages"))
|
|
35
|
+
site = Jekyll::Site.new(Jekyll.configuration("markdown" => "CommonMarkGhPages", "commonmark" => { "options" => ["UNSAFE"] }))
|
|
36
36
|
collection = Jekyll::Collection.new(site, "pages")
|
|
37
37
|
document = Jekyll::Document.new("hello.md", site: site, collection: collection)
|
|
38
38
|
document.content = "**Hi**\n" \
|
metadata
CHANGED
|
@@ -1,57 +1,77 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-commonmark-ghpages
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
8
|
-
autorequire:
|
|
7
|
+
- GitHub, Inc.
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-03-03 00:00:00.000000000 Z
|
|
12
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: 3.9.0
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 3.9.0
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: jekyll-commonmark
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
16
30
|
requirements:
|
|
17
31
|
- - "~>"
|
|
18
32
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
33
|
+
version: 1.4.0
|
|
20
34
|
type: :runtime
|
|
21
35
|
prerelease: false
|
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
37
|
requirements:
|
|
24
38
|
- - "~>"
|
|
25
39
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
40
|
+
version: 1.4.0
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: commonmarker
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
30
44
|
requirements:
|
|
31
45
|
- - "~>"
|
|
32
46
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
47
|
+
version: 0.23.4
|
|
34
48
|
type: :runtime
|
|
35
49
|
prerelease: false
|
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
51
|
requirements:
|
|
38
52
|
- - "~>"
|
|
39
53
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
54
|
+
version: 0.23.4
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: rouge
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
44
58
|
requirements:
|
|
45
|
-
- - "
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '2.0'
|
|
62
|
+
- - "<"
|
|
46
63
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
64
|
+
version: '4.0'
|
|
48
65
|
type: :runtime
|
|
49
66
|
prerelease: false
|
|
50
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
68
|
requirements:
|
|
52
|
-
- - "
|
|
69
|
+
- - ">="
|
|
53
70
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '2'
|
|
71
|
+
version: '2.0'
|
|
72
|
+
- - "<"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '4.0'
|
|
55
75
|
- !ruby/object:Gem::Dependency
|
|
56
76
|
name: rspec
|
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,33 +100,19 @@ dependencies:
|
|
|
80
100
|
- - ">="
|
|
81
101
|
- !ruby/object:Gem::Version
|
|
82
102
|
version: '0'
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '1.6'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '1.6'
|
|
97
|
-
description:
|
|
98
|
-
email: kivikakk@github.com
|
|
103
|
+
description:
|
|
104
|
+
email: support@github.com
|
|
99
105
|
executables: []
|
|
100
106
|
extensions: []
|
|
101
107
|
extra_rdoc_files: []
|
|
102
108
|
files:
|
|
109
|
+
- ".github/CODEOWNERS"
|
|
110
|
+
- ".github/workflows/cibuild.yaml"
|
|
103
111
|
- ".gitignore"
|
|
104
|
-
- ".travis.yml"
|
|
105
112
|
- Gemfile
|
|
106
113
|
- LICENSE
|
|
107
114
|
- README.md
|
|
108
115
|
- Rakefile
|
|
109
|
-
- appveyor.yml
|
|
110
116
|
- jekyll-commonmark-ghpages.gemspec
|
|
111
117
|
- lib/jekyll-commonmark-ghpages.rb
|
|
112
118
|
- script/cibuild
|
|
@@ -116,7 +122,7 @@ homepage: https://github.com/github/jekyll-commonmark-ghpages
|
|
|
116
122
|
licenses:
|
|
117
123
|
- MIT
|
|
118
124
|
metadata: {}
|
|
119
|
-
post_install_message:
|
|
125
|
+
post_install_message:
|
|
120
126
|
rdoc_options: []
|
|
121
127
|
require_paths:
|
|
122
128
|
- lib
|
|
@@ -131,9 +137,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
131
137
|
- !ruby/object:Gem::Version
|
|
132
138
|
version: '0'
|
|
133
139
|
requirements: []
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
signing_key:
|
|
140
|
+
rubygems_version: 3.1.6
|
|
141
|
+
signing_key:
|
|
137
142
|
specification_version: 4
|
|
138
143
|
summary: CommonMark generator for Jekyll
|
|
139
144
|
test_files:
|
data/.travis.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
cache: bundler
|
|
3
|
-
rvm:
|
|
4
|
-
- 2.4
|
|
5
|
-
- 2.3
|
|
6
|
-
- 2.2
|
|
7
|
-
- 2.1
|
|
8
|
-
git:
|
|
9
|
-
depth: 1
|
|
10
|
-
|
|
11
|
-
sudo: false
|
|
12
|
-
|
|
13
|
-
addons:
|
|
14
|
-
apt:
|
|
15
|
-
sources:
|
|
16
|
-
- kalakris-cmake
|
|
17
|
-
packages:
|
|
18
|
-
- cmake
|
|
19
|
-
|
|
20
|
-
before_install:
|
|
21
|
-
- gem install bundler
|
|
22
|
-
|
|
23
|
-
before_script: bundle update
|
|
24
|
-
script: script/cibuild
|
data/appveyor.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
version: "{build}"
|
|
2
|
-
clone_depth: 5
|
|
3
|
-
build: off
|
|
4
|
-
|
|
5
|
-
install:
|
|
6
|
-
- SET PATH=C:\Ruby%RUBY_FOLDER_VER%\bin;%PATH%
|
|
7
|
-
- bundle install --retry 5 --jobs=%NUMBER_OF_PROCESSORS% --clean --path vendor\bundle
|
|
8
|
-
|
|
9
|
-
environment:
|
|
10
|
-
matrix:
|
|
11
|
-
- RUBY_FOLDER_VER: "24"
|
|
12
|
-
- RUBY_FOLDER_VER: "24-x64"
|
|
13
|
-
- RUBY_FOLDER_VER: "23"
|
|
14
|
-
- RUBY_FOLDER_VER: "22"
|
|
15
|
-
- RUBY_FOLDER_VER: "21"
|
|
16
|
-
|
|
17
|
-
test_script:
|
|
18
|
-
- ruby --version
|
|
19
|
-
- gem --version
|
|
20
|
-
- bundler --version
|
|
21
|
-
- bash script/cibuild
|
|
22
|
-
|
|
23
|
-
cache:
|
|
24
|
-
- 'vendor\bundle -> appveyor.yml,Gemfile,jekyll-commonmark-ghpages.gemspec'
|