qiita-markdown 1.7.0 → 1.8.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: a89cc560d54939b287952f11525a3d17e341bb47fe86d16e1b01a6ac157cd6cf
4
- data.tar.gz: d8e08ae41ef4354d5f2629c35857e009d621aad4bc1ca561c90efaa061490b72
3
+ metadata.gz: 4fedd17f0ad92ab616ec9fa96ee52c1accfb1f6d9cd4b018c7a0a5f834f5d538
4
+ data.tar.gz: c0f5b06236b754b2c028ec4a52d9aeb8687df8b780b362887fea9fe231b55210
5
5
  SHA512:
6
- metadata.gz: 6a8c679036b1c42c02cddd1542c98d5edd084b053ce91d20e4aa8aefa28c840c81526efcc438277938cae72b5a3957ef4d45df1955acfd113664d97e8514ec35
7
- data.tar.gz: 29fdc8c15cd3208c60cd8dbdf470a52962bb0fe010d9e4a5323e6cbc5b26cd7782313487a27ff4495cbaa9d0d4679c371ff9e66644b1662eb2ef530e4a70281f
6
+ metadata.gz: 4f23320a96822a5c35941cce7b6e712ebbeb411ee0a8c38588086373883b4eda31ebfcb49395f8b38684c62ffdad4f94a635bc35c5442a15b9c9ae89cbc1dc39
7
+ data.tar.gz: 5c8156c6849e23d19f4aeb2891edcd379be73b4f0a67e6ce26b231f190fe32486afc91584e24ae39c1561122239d1b192b2bc52dd75910efaf05e1c7b260bb2b
@@ -12,6 +12,9 @@ updates:
12
12
  rebase-strategy: "disabled"
13
13
  cooldown:
14
14
  default-days: 7
15
+ ignore:
16
+ - dependency-name: "html-pipeline"
17
+ versions: [">=3.0"]
15
18
 
16
19
  - package-ecosystem: "github-actions"
17
20
  directories:
@@ -14,9 +14,9 @@ jobs:
14
14
  contents: write # IMPORTANT: this permission is required for `rake release` to push the release tag
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
18
- - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
17
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
18
+ - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
19
19
  with:
20
- ruby-version: 3.4.4 # Latest stable Ruby for release builds
20
+ ruby-version: "3.4"
21
21
  bundler-cache: true
22
- - uses: rubygems/release-gem@1c162a739e8b4cb21a676e97b087e8268d8fc40b # v1.1.2
22
+ - uses: rubygems/release-gem@7f9650160c1a4e7989fdc9855807bdbd421d8b6b # v1.4.1
@@ -16,17 +16,19 @@ jobs:
16
16
  fail-fast: false
17
17
  matrix:
18
18
  os: ['ubuntu-latest', 'macos-latest']
19
- ruby: ['3.2', '3.3', '3.4']
19
+ ruby: ['3.3', '3.4']
20
20
  experimental: [false]
21
- include:
22
- - os: 'ubuntu-latest'
23
- ruby: 'head'
24
- experimental: true
21
+ # Temporarily disabled: qiita_marker does not support Ruby 4 yet
22
+ # See: https://github.com/increments/qiita-markdown/issues/268
23
+ # include:
24
+ # - os: 'ubuntu-latest'
25
+ # ruby: 'head'
26
+ # experimental: true
25
27
  runs-on: ${{ matrix.os }}
26
28
  continue-on-error: ${{ matrix.experimental }}
27
29
  steps:
28
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
29
- - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
30
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
31
+ - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
30
32
  with:
31
33
  ruby-version: ${{ matrix.ruby }}
32
34
  bundler-cache: true
@@ -36,14 +38,14 @@ jobs:
36
38
  qlty:
37
39
  runs-on: ubuntu-latest
38
40
  steps:
39
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40
- - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
41
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
42
+ - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
41
43
  with:
42
- ruby-version: '3.2'
44
+ ruby-version: '3.3'
43
45
  bundler-cache: true
44
46
  - name: Test
45
47
  run: bundle exec rake
46
- - uses: qltysh/qlty-action/coverage@a19242102d17e497f437d7466aa01b528537e899 # v2.2.0
48
+ - uses: qltysh/qlty-action/coverage@08a0a862c159eae9b9003081da6663d96efef637 # v2.3.0
47
49
  with:
48
50
  token: ${{secrets.QLTY_COVERAGE_TOKEN}}
49
51
  files: ./coverage/coverage.json
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 1.8.0
4
+
5
+ - Drop Ruby 3.0, 3.1, 3.2 support
6
+ - Detect code block language from filename with Rouge instead of github-linguist
7
+ - Require rouge 5.1 or later
8
+
3
9
  ## 1.7.0
4
10
 
5
11
  - Support for embedding Claude Artifacts iframes
data/Gemfile CHANGED
@@ -3,11 +3,11 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in qiita-markdown.gemspec
4
4
  gemspec
5
5
 
6
- gem "activesupport", "~> 7.1.6"
6
+ gem "activesupport", "~> 8.1.3"
7
7
  gem "bundler"
8
8
  gem "pry"
9
9
  gem "rake"
10
10
  gem "rspec", "~> 3.1"
11
- gem "rubocop", "~> 1.81.6"
11
+ gem "rubocop", "~> 1.91.0"
12
12
  gem "simplecov", "!= 0.18.0", "!= 0.18.1", "!= 0.18.2", "!= 0.18.3", "!= 0.18.4", "!= 0.18.5", "!= 0.19.0", "!= 0.19.1"
13
13
  gem "simplecov_json_formatter"
@@ -70,8 +70,8 @@ module Qiita
70
70
  nil
71
71
  when !has_only_filename?
72
72
  sections[0]
73
- when linguist_language
74
- linguist_language.default_alias_name
73
+ when rouge_lexer
74
+ rouge_lexer.tag
75
75
  end
76
76
  end
77
77
 
@@ -85,8 +85,8 @@ module Qiita
85
85
  sections[1].nil? && sections[0]&.include?(".")
86
86
  end
87
87
 
88
- def linguist_language
89
- @linguist_language ||= Linguist::Language.find_by_extension(filename).first
88
+ def rouge_lexer
89
+ @rouge_lexer ||= Rouge::Lexer.guesses(filename: filename).first
90
90
  end
91
91
 
92
92
  def sections
@@ -4,7 +4,7 @@ module Qiita
4
4
  class SyntaxHighlight < HTML::Pipeline::Filter
5
5
  DEFAULT_LANGUAGE = "text"
6
6
  DEFAULT_TIMEOUT = Float::INFINITY
7
- DEFAULT_OPTION = "html_legacy"
7
+ FORMATTER = Rouge::Formatters::HTMLPygments.new(Rouge::Formatters::HTML.new)
8
8
 
9
9
  def call
10
10
  elapsed = 0
@@ -80,7 +80,7 @@ module Qiita
80
80
  end
81
81
 
82
82
  def highlight(language)
83
- Rouge.highlight(code, language, DEFAULT_OPTION)
83
+ Rouge.highlight(code, language, FORMATTER)
84
84
  end
85
85
 
86
86
  def highlighted_node
@@ -1,5 +1,5 @@
1
1
  module Qiita
2
2
  module Markdown
3
- VERSION = "1.7.0"
3
+ VERSION = "1.8.0"
4
4
  end
5
5
  end
@@ -1,6 +1,5 @@
1
1
  require "cgi"
2
2
  require "html/pipeline"
3
- require "linguist"
4
3
  require "mem"
5
4
  require "nokogiri"
6
5
  require "qiita_marker"
@@ -15,15 +15,14 @@ Gem::Specification.new do |spec|
15
15
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- spec.required_ruby_version = ">= 3.0.0"
18
+ spec.required_ruby_version = [">= 3.3.0", "< 4.0"]
19
19
 
20
20
  spec.add_dependency "addressable"
21
21
  spec.add_dependency "gemoji"
22
- spec.add_dependency "github-linguist", "~> 7.0"
23
22
  spec.add_dependency "html-pipeline", "~> 2.0"
24
23
  spec.add_dependency "mem"
25
24
  spec.add_dependency "qiita_marker", "~> 0.23.9"
26
- spec.add_dependency "rouge", "~> 4.2"
25
+ spec.add_dependency "rouge", "~> 5.1"
27
26
  spec.add_dependency "sanitize"
28
27
  spec.add_dependency "uri", ">= 1.0.4"
29
28
  spec.metadata["rubygems_mfa_required"] = "true"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiita-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
@@ -37,20 +37,6 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
- - !ruby/object:Gem::Dependency
41
- name: github-linguist
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '7.0'
47
- type: :runtime
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '7.0'
54
40
  - !ruby/object:Gem::Dependency
55
41
  name: html-pipeline
56
42
  requirement: !ruby/object:Gem::Requirement
@@ -99,14 +85,14 @@ dependencies:
99
85
  requirements:
100
86
  - - "~>"
101
87
  - !ruby/object:Gem::Version
102
- version: '4.2'
88
+ version: '5.1'
103
89
  type: :runtime
104
90
  prerelease: false
105
91
  version_requirements: !ruby/object:Gem::Requirement
106
92
  requirements:
107
93
  - - "~>"
108
94
  - !ruby/object:Gem::Version
109
- version: '4.2'
95
+ version: '5.1'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: sanitize
112
98
  requirement: !ruby/object:Gem::Requirement
@@ -220,14 +206,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
206
  requirements:
221
207
  - - ">="
222
208
  - !ruby/object:Gem::Version
223
- version: 3.0.0
209
+ version: 3.3.0
210
+ - - "<"
211
+ - !ruby/object:Gem::Version
212
+ version: '4.0'
224
213
  required_rubygems_version: !ruby/object:Gem::Requirement
225
214
  requirements:
226
215
  - - ">="
227
216
  - !ruby/object:Gem::Version
228
217
  version: '0'
229
218
  requirements: []
230
- rubygems_version: 3.6.7
219
+ rubygems_version: 3.6.9
231
220
  specification_version: 4
232
221
  summary: Qiita-specified markdown processor.
233
222
  test_files: []