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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 635aef17f3e4a950f8f41670fbbb1712e39c4b3e1ffdddfd48fbf70f1b233820
4
- data.tar.gz: a2a42104b0688eedf9612db4afd76928fe156c8b8c8b3659a5697b5d2a2dba08
3
+ metadata.gz: 8b6560d6d39742b63f7976d4b6df8dcc4f0cbf96cbfd72d786b2884f9623144a
4
+ data.tar.gz: d5f9045e89575c3b4a32690976e90a4c2783f970a78a068a79a5409aa8e99753
5
5
  SHA512:
6
- metadata.gz: 7741f0a8cae7c61a82f69658f1fe3c315e441ec42474c16f1552032ac0afa6f6d55c967b5bca1c218cca218f0609ae00ea9fd7a358e1b555593c0e9bbf98f694
7
- data.tar.gz: f7ac6c990a91894c1259c19c865b1bed1d3337f6139b8427bc33f5ff01b3014256d7a64b6060e3677b9f3f7edb2be3b0328f4af30547458556a5813c06cf6f18
6
+ metadata.gz: 3746a5a1699a22924cd92e8175dcd38f51a07208ac90e8730724964a48a1b56ecec41c0d7a0a619aac089dd6f9f3d586018746761e7240f7b28f3092d82e089d
7
+ data.tar.gz: 034d544a15c89930b5691ef68324f8a37857aacd0d21ee802c31f19703d61eae1c6fe4c71860a1dd547482d638512b95d52c1cca50363815e2e9e773c7535ee2
@@ -0,0 +1,2 @@
1
+ # Automatically add our team to each pull request in this repo
2
+ * @github/pages-reviewers
@@ -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
@@ -2,3 +2,4 @@
2
2
  Gemfile.lock
3
3
  spec/dest
4
4
  .bundle
5
+ vendor/
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
  [![Gem Version](https://img.shields.io/gem/v/jekyll-commonmark-ghpages.svg)](https://rubygems.org/gems/jekyll-commonmark-ghpages)
6
- [![Build Status](https://img.shields.io/travis/github/jekyll-commonmark-ghpages/master.svg)](https://travis-ci.org/github/jekyll-commonmark-ghpages)
7
- [![Windows Build status](https://img.shields.io/appveyor/ci/github/jekyll-commonmark-ghpages/master.svg?label=Windows%20build)](https://ci.appveyor.com/project/github/jekyll-commonmark-ghpages)
6
+ [![Build Status](https://github.com/github/jekyll-commonmark-ghpages/actions/workflows/cibuild.yaml/badge.svg)](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", "tables"]
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.1.4"
7
- spec.authors = ["Ashe Connor"]
8
- spec.email = "kivikakk@github.com"
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-commonmark", "~> 1"
18
- spec.add_runtime_dependency "commonmarker", "~> 0.17.6"
19
- spec.add_runtime_dependency "rouge", "~> 2"
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
- parse_options = (Set.new(@options) & CommonMarker::Config::Parse.keys).to_a
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
- .gsub(/\r?\n/, "<br data-jekyll-commonmark-ghpages>")
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
@@ -1,3 +1,13 @@
1
1
  #!/bin/bash
2
2
 
3
+ # Update gems
4
+ gem update --system 3.2.3
5
+
6
+ # Install bundler
7
+ gem install bundler
8
+
9
+ # Install dependencies
10
+ bundle install
11
+
12
+ # Run tests
3
13
  bundle exec rspec
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” &lt;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>} }
30
+ it { is_expected.to match %r{<h3 id="[^"]*">“Hi” &lt;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.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - Ashe Connor
8
- autorequire:
7
+ - GitHub, Inc.
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-09 00:00:00.000000000 Z
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: '1'
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: '1'
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.17.6
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.17.6
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: '2'
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
- - !ruby/object:Gem::Dependency
84
- name: bundler
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
- rubyforge_project:
135
- rubygems_version: 2.7.3
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'