qiita-markdown 1.6.0 → 1.7.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: 7a030fef1d6e7c96945f3f3f32039906074ed0d7ca7773b857939740c2bbe2c1
4
- data.tar.gz: 1fb0ec10eb4849a69f49942565b6fd2250c1548244267f3a29643f8a3558a3b7
3
+ metadata.gz: a89cc560d54939b287952f11525a3d17e341bb47fe86d16e1b01a6ac157cd6cf
4
+ data.tar.gz: d8e08ae41ef4354d5f2629c35857e009d621aad4bc1ca561c90efaa061490b72
5
5
  SHA512:
6
- metadata.gz: 7955e98dd0f03db994cd7e04060269aed6763bb17bf1742064098f193b53f22d0866a36cc1d18ac95502c667f807e7966a29144035e254d45578ca374a63cc6d
7
- data.tar.gz: 7ef8f9c22b7159da5e02cf9366584d39cd375dafb6666dc364de22f204b724f391fecd3f16793388f2c090354204ef8cb6d6fc1f37282cf3abb4b11baa67b378
6
+ metadata.gz: 6a8c679036b1c42c02cddd1542c98d5edd084b053ce91d20e4aa8aefa28c840c81526efcc438277938cae72b5a3957ef4d45df1955acfd113664d97e8514ec35
7
+ data.tar.gz: 29fdc8c15cd3208c60cd8dbdf470a52962bb0fe010d9e4a5323e6cbc5b26cd7782313487a27ff4495cbaa9d0d4679c371ff9e66644b1662eb2ef530e4a70281f
@@ -10,6 +10,8 @@ updates:
10
10
  timezone: "Asia/Tokyo"
11
11
  open-pull-requests-limit: 5
12
12
  rebase-strategy: "disabled"
13
+ cooldown:
14
+ default-days: 7
13
15
 
14
16
  - package-ecosystem: "github-actions"
15
17
  directories:
@@ -20,3 +22,5 @@ updates:
20
22
  timezone: "Asia/Tokyo"
21
23
  open-pull-requests-limit: 5
22
24
  rebase-strategy: "disabled"
25
+ cooldown:
26
+ default-days: 7
@@ -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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
18
- - uses: ruby/setup-ruby@efbf473cab83af4468e8606cc33eca9281bb213f # v1.256.0
17
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
18
+ - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
19
19
  with:
20
20
  ruby-version: 3.4.4 # Latest stable Ruby for release builds
21
21
  bundler-cache: true
22
- - uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
22
+ - uses: rubygems/release-gem@1c162a739e8b4cb21a676e97b087e8268d8fc40b # v1.1.2
@@ -25,10 +25,25 @@ jobs:
25
25
  runs-on: ${{ matrix.os }}
26
26
  continue-on-error: ${{ matrix.experimental }}
27
27
  steps:
28
- - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
29
- - uses: ruby/setup-ruby@efbf473cab83af4468e8606cc33eca9281bb213f # v1.256.0
28
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
29
+ - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
32
  bundler-cache: true
33
33
  - name: Test
34
34
  run: bundle exec rake
35
+
36
+ qlty:
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40
+ - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
41
+ with:
42
+ ruby-version: '3.2'
43
+ bundler-cache: true
44
+ - name: Test
45
+ run: bundle exec rake
46
+ - uses: qltysh/qlty-action/coverage@a19242102d17e497f437d7466aa01b528537e899 # v2.2.0
47
+ with:
48
+ token: ${{secrets.QLTY_COVERAGE_TOKEN}}
49
+ files: ./coverage/coverage.json
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 1.7.0
4
+
5
+ - Support for embedding Claude Artifacts iframes
6
+
7
+ ## 1.6.1
8
+
9
+ - Add a dependency on the uri gem to use version 1.0.4 or higher.
10
+
3
11
  ## 1.6.0
4
12
 
5
13
  - Support for a new inline math syntax
data/Gemfile CHANGED
@@ -3,10 +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", "~> 5.2.7"
6
+ gem "activesupport", "~> 7.1.6"
7
7
  gem "bundler"
8
8
  gem "pry"
9
9
  gem "rake"
10
10
  gem "rspec", "~> 3.1"
11
- gem "rubocop", "~> 1.76.0"
11
+ gem "rubocop", "~> 1.81.6"
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
+ gem "simplecov_json_formatter"
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/qiita-markdown.svg)](https://badge.fury.io/rb/qiita-markdown)
4
4
  [![Build Status](https://travis-ci.org/increments/qiita-markdown.svg)](https://travis-ci.org/increments/qiita-markdown)
5
+ [![Maintainability](https://qlty.sh/gh/increments/projects/qiita-markdown/maintainability.svg)](https://qlty.sh/gh/increments/projects/qiita-markdown)
6
+ [![Code Coverage](https://qlty.sh/gh/increments/projects/qiita-markdown/coverage.svg)](https://qlty.sh/gh/increments/projects/qiita-markdown)
5
7
 
6
8
  Qiita-specified markdown processor.
7
9
 
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Qiita
4
+ module Markdown
5
+ module Embed
6
+ module ClaudeArtifact
7
+ SCRIPT_HOST = "claude.site"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -13,6 +13,7 @@ module Qiita
13
13
  Embed::GoogleDrive::SCRIPT_HOST,
14
14
  Embed::StackBlitz::SCRIPT_HOST,
15
15
  Embed::BlueprintUe::SCRIPT_HOST,
16
+ Embed::ClaudeArtifact::SCRIPT_HOST,
16
17
  ].flatten.freeze
17
18
 
18
19
  def self.call(**args)
@@ -1,5 +1,5 @@
1
1
  module Qiita
2
2
  module Markdown
3
- VERSION = "1.6.0"
3
+ VERSION = "1.7.0"
4
4
  end
5
5
  end
@@ -20,6 +20,7 @@ require "qiita/markdown/embed/docswell"
20
20
  require "qiita/markdown/embed/figma"
21
21
  require "qiita/markdown/embed/stack_blitz"
22
22
  require "qiita/markdown/embed/blueprint_ue"
23
+ require "qiita/markdown/embed/claude_artifact"
23
24
  require "qiita/markdown/transformers/filter_attributes"
24
25
  require "qiita/markdown/transformers/filter_script"
25
26
  require "qiita/markdown/transformers/filter_iframe"
@@ -25,5 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency "qiita_marker", "~> 0.23.9"
26
26
  spec.add_dependency "rouge", "~> 4.2"
27
27
  spec.add_dependency "sanitize"
28
+ spec.add_dependency "uri", ">= 1.0.4"
28
29
  spec.metadata["rubygems_mfa_required"] = "true"
29
30
  end
@@ -1829,6 +1829,43 @@ describe Qiita::Markdown::Processor do
1829
1829
  end
1830
1830
  end
1831
1831
 
1832
+ context "with HTML embed code for Claude Artifact" do
1833
+ shared_examples "embed code claude artifact example" do
1834
+ let(:markdown) do
1835
+ <<~MARKDOWN
1836
+ <iframe src="#{url}" width="100%" height="600" frameborder="0" allowfullscreen></iframe>
1837
+ MARKDOWN
1838
+ end
1839
+ let(:url) { "#{scheme}//claude.site/public/artifacts/4f47d0d5-3be1-41da-a871-df530aae8f54/embed" }
1840
+
1841
+ if allowed
1842
+ it "does not sanitize embed code" do
1843
+ should eq <<~HTML
1844
+ <iframe src="#{url}" width="100%" height="600" frameborder="0" allowfullscreen></iframe>
1845
+ HTML
1846
+ end
1847
+ else
1848
+ it "forces width attribute on iframe" do
1849
+ should eq <<~HTML
1850
+ <iframe src="#{url}" width="100%" height="600" frameborder="0" allowfullscreen></iframe>
1851
+ HTML
1852
+ end
1853
+ end
1854
+ end
1855
+
1856
+ context "with scheme" do
1857
+ let(:scheme) { "https:" }
1858
+
1859
+ include_examples "embed code claude artifact example"
1860
+ end
1861
+
1862
+ context "without scheme" do
1863
+ let(:scheme) { "" }
1864
+
1865
+ include_examples "embed code claude artifact example"
1866
+ end
1867
+ end
1868
+
1832
1869
  context "with embed code for Tweet" do
1833
1870
  let(:markdown) do
1834
1871
  <<-MARKDOWN.strip_heredoc
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,14 @@
1
1
  if ENV["CI"]
2
2
  require "simplecov"
3
- SimpleCov.start
3
+ require "simplecov_json_formatter"
4
+ SimpleCov.start do
5
+ SimpleCov.formatters = [
6
+ SimpleCov::Formatter::JSONFormatter,
7
+ SimpleCov::Formatter::HTMLFormatter,
8
+ ]
9
+
10
+ add_filter "/spec/"
11
+ end
4
12
  end
5
13
 
6
14
  require "qiita-markdown"
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.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
@@ -121,6 +121,20 @@ dependencies:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: uri
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 1.0.4
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: 1.0.4
124
138
  email:
125
139
  - r7kamura@gmail.com
126
140
  executables: []
@@ -145,6 +159,7 @@ files:
145
159
  - lib/qiita/markdown/base_processor.rb
146
160
  - lib/qiita/markdown/embed/asciinema.rb
147
161
  - lib/qiita/markdown/embed/blueprint_ue.rb
162
+ - lib/qiita/markdown/embed/claude_artifact.rb
148
163
  - lib/qiita/markdown/embed/code_pen.rb
149
164
  - lib/qiita/markdown/embed/docswell.rb
150
165
  - lib/qiita/markdown/embed/figma.rb