devcenter-parser 2.2.12 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 314bc0f7c0a35baf4f4a977db4845da2a0b0053c983eac60be6b821343e0c8fc
4
- data.tar.gz: 6bc98b80c05477dff020857b3a25ec8d443b05194aff77ae5510e4514a8499b9
3
+ metadata.gz: a6be89b82bc3dd6e4a40c3b7f1e3871fca55e301c4ff09f934457d84f01dc00b
4
+ data.tar.gz: 686278e2a9a08bacd5f17124adaaa0d6a3e728a5701814dc9ef15cedecd8a430
5
5
  SHA512:
6
- metadata.gz: 88441e6a45d829b5f0c5daf30cc2d04a129d1c8deee1b40915a385f5b5c95f026a3aba4a1af91af3bab321ab49237f32eb584a7a7c2a8b8b6b6bf07ef209e03b
7
- data.tar.gz: 8fd552eefa810faba6180f8754e70da91b0f0bb96dc56b138e01baa7739c5b2ce01ffc0e865a636fdc33b0c79aa836b10ac23553cd7cd96cfa27eafa8e1a70f8
6
+ metadata.gz: 1d2cb1e536549ba20c82e76cee60a42d5394872232a815d4ecb0b10fcb29b3d726ec19cc76862e68df78fbd5763173ed6feaa7a3dc4804883f67d78c486b3e32
7
+ data.tar.gz: c3d69be0dedf80b7db4d70c5a0a188e82717207f65d2bd799ba1264a009b2d9c0e25c3ba73d993331927f43b7f64fb35decc85ab33ea65fbb6bb1f46f0108841
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "weekly"
@@ -0,0 +1,25 @@
1
+ name: "Send data to Components Inventory"
2
+ on:
3
+ workflow_dispatch:
4
+ push:
5
+ branches:
6
+ - "main"
7
+ paths:
8
+ - ".heroku/components-inventory/*.json"
9
+ pull_request:
10
+ types:
11
+ - opened
12
+ - synchronize
13
+ paths:
14
+ - ".heroku/components-inventory/*.json"
15
+ jobs:
16
+ action:
17
+ runs-on: sfdc-hk-ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - name: Send data to Components Inventory
21
+ uses: heroku/components-action@main
22
+ with:
23
+ COMPONENTS_GHA_APP_ID: ${{ secrets.COMPONENTS_GHA_APP_ID}}
24
+ COMPONENTS_GHA_APP_PRIVATE_KEY: ${{ secrets.COMPONENTS_GHA_APP_PRIVATE_KEY}}
25
+ COMPONENTS_GHA_JSON_TOKEN: ${{ secrets.COMPONENTS_GHA_JSON_TOKEN}}
@@ -0,0 +1,32 @@
1
+ {
2
+ "slug": "devcenter-parser",
3
+ "name": "DevCenter Parser",
4
+ "description": "Markdown parser used on Heroku Dev Center",
5
+ "language": "Ruby",
6
+ "lifecycle_status": "Production",
7
+ "pipeline_uuid": null,
8
+ "repository_url": "https://github.com/heroku/devcenter-parser",
9
+ "stack": "Platform",
10
+ "stack_type": "Service",
11
+ "documentation_url": "https://github.com/heroku/devcenter-parser",
12
+ "metrics_url": null,
13
+ "sox": false,
14
+ "soc2": false,
15
+ "customer_facing": false,
16
+ "pager_duty_service_code": null,
17
+ "component_tier": "4",
18
+ "github_actions": true,
19
+ "github_release": false,
20
+ "github_actions_ci_workflow": null,
21
+ "authentication": null,
22
+ "platform": null,
23
+ "team_name": "Marketing Web Ops",
24
+ "planned_maintenance_severity": null,
25
+ "gus_team": "https://gus.lightning.force.com/lightning/r/ADM_Scrum_Team__c/a00B000000Bbl1zIAB/view",
26
+ "pci_tier": "TBD",
27
+ "consumer_type": "N/A",
28
+ "content_cacheable": "N/A",
29
+ "blast_radius": "Internal",
30
+ "audit_findings_url": null,
31
+ "last_audit": null
32
+ }
data/CODEOWNERS ADDED
@@ -0,0 +1,6 @@
1
+ # Lines starting with '#' are comments.
2
+ # Each line is a file pattern followed by one or more owners.
3
+
4
+ # These owners will be the default owners for everything in the repo.
5
+ * @heroku/marketing-web-ops
6
+ * @heroku/front-end
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
- gemspec
3
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,22 +1,24 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devcenter-parser (2.2.12)
5
- nokogiri (>= 1.13.9)
6
- redcarpet (= 3.5.0)
7
- sanitize (~> 6.0.0)
4
+ devcenter-parser (2.4.0)
5
+ nokogiri (>= 1.13.10)
6
+ redcarpet (= 3.6.0)
7
+ sanitize (~> 6.0.2)
8
8
 
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
12
  crass (1.0.6)
13
- minitest (5.16.3)
14
- nokogiri (1.13.9-arm64-darwin)
13
+ mini_portile2 (2.8.5)
14
+ minitest (5.19.0)
15
+ nokogiri (1.15.5)
16
+ mini_portile2 (~> 2.8.2)
15
17
  racc (~> 1.4)
16
- racc (1.6.0)
18
+ racc (1.7.3)
17
19
  rake (13.0.6)
18
- redcarpet (3.5.0)
19
- sanitize (6.0.0)
20
+ redcarpet (3.6.0)
21
+ sanitize (6.0.2)
20
22
  crass (~> 1.0.2)
21
23
  nokogiri (>= 1.12.0)
22
24
 
@@ -25,8 +27,8 @@ PLATFORMS
25
27
 
26
28
  DEPENDENCIES
27
29
  devcenter-parser!
28
- minitest (> 2.0)
30
+ minitest (~> 5.19.0)
29
31
  rake
30
32
 
31
33
  BUNDLED WITH
32
- 2.1.4
34
+ 2.2.33
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # devcenter-parser
1
+ # DevCenter Parser
2
2
 
3
3
  Markdown parser used by [Heroku Dev Center](https://devcenter.heroku.com).
4
4
 
@@ -1,23 +1,25 @@
1
1
  $:.unshift Dir.pwd
2
- require File.expand_path("./lib/devcenter-parser/version")
2
+ require File.expand_path('./lib/devcenter-parser/version')
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.name = "devcenter-parser"
5
+ gem.name = 'devcenter-parser'
6
6
  gem.version = DevcenterParser::VERSION
7
- gem.authors = ["Heroku"]
8
- gem.email = ["raul@heroku.com"]
9
- gem.homepage = "https://devcenter.heroku.com"
7
+ gem.authors = ['Heroku']
8
+ gem.email = ['heroku-front-end@salesforce.com']
9
+ gem.homepage = 'https://devcenter.heroku.com'
10
10
  gem.summary = "Parser for Heroku Dev Center's content"
11
11
  gem.description = "Parser for Heroku Dev Center's content"
12
12
 
13
13
  gem.files = `git ls-files`.split($/)
14
14
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
- gem.require_paths = %w{ lib }
15
+ gem.require_paths = %w[lib]
16
16
 
17
- gem.add_runtime_dependency 'nokogiri', '>= 1.13.9'
18
- gem.add_runtime_dependency 'redcarpet', '3.5.0'
19
- gem.add_runtime_dependency 'sanitize', '~>6.0.0'
17
+ gem.required_ruby_version = '>= 3.0.0'
20
18
 
21
- gem.add_development_dependency 'minitest', '>2.0'
19
+ gem.add_runtime_dependency 'nokogiri', '>= 1.13.10'
20
+ gem.add_runtime_dependency 'redcarpet', '3.6.0'
21
+ gem.add_runtime_dependency 'sanitize', '~> 6.0.2'
22
+
23
+ gem.add_development_dependency 'minitest', '~> 5.19.0'
22
24
  gem.add_development_dependency 'rake'
23
25
  end
@@ -47,11 +47,13 @@ module GitHubParser
47
47
 
48
48
  def self.special_blocks(doc)
49
49
  doc.css('blockquote>p:first').each do |node|
50
- if match = node.inner_html.match(/\A\W*(callout|warning|note)\W/)
50
+ if match = node.inner_html.match(/\A\W*(callout|warning|note)\W|\[\!(callout|warning|note)\]\W/i)
51
51
  node.parent.name = 'div'
52
- node.parent['class'] = match[1]
52
+ node.parent['class'] = match[1].downcase
53
53
 
54
- new_html = node.inner_html.gsub(/\A\W*(callout|warning|note)\W/, '')
54
+ # This expression is slightly different because we want to remove the newline (\n) in this swap, compared to the
55
+ # match above that doesn't care about the newline.
56
+ new_html = node.inner_html.gsub(/\A\s*(callout|warning|note)\s*|\[\!(callout|warning|note)\]\s*/i, '')
55
57
 
56
58
  # Assigning inner_html directly causes encoding issues in old libxml versions,
57
59
  # workaround from https://github.com/sparklemotion/nokogiri/issues/458#issuecomment-3136620
@@ -1,3 +1,3 @@
1
1
  module DevcenterParser
2
- VERSION = '2.2.12'.freeze
2
+ VERSION = '2.4.0'.freeze
3
3
  end
@@ -408,6 +408,35 @@ HTML
408
408
  assert_parsing_result md, html
409
409
  end
410
410
 
411
+ it 'generates blockquotes for GitHub-style callouts in uppercase format' do
412
+ md = <<-MARKDOWN
413
+ > [!WARNING]
414
+ > This is a warning
415
+ MARKDOWN
416
+
417
+ expected = <<-HTML
418
+ <div class="warning">
419
+ <p>This is a warning</p>
420
+ </div>
421
+ HTML
422
+
423
+ assert_parsing_result md, expected
424
+ end
425
+
426
+ it 'generates blockquotes for GitHub-style callouts in lowercase format' do
427
+ md = <<-MARKDOWN
428
+ > [!warning]
429
+ > This is a warning
430
+ MARKDOWN
431
+
432
+ expected = <<-HTML
433
+ <div class="warning">
434
+ <p>This is a warning</p>
435
+ </div>
436
+ HTML
437
+
438
+ assert_parsing_result md, expected
439
+ end
411
440
 
412
441
  it 'generates separate blockquotes from blockquotes separated by empty lines' do
413
442
  md = <<-MARKDOWN
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devcenter-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.12
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heroku
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-16 00:00:00.000000000 Z
11
+ date: 2024-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.13.9
19
+ version: 1.13.10
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.13.9
26
+ version: 1.13.10
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: redcarpet
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.5.0
33
+ version: 3.6.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 3.5.0
40
+ version: 3.6.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sanitize
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 6.0.0
47
+ version: 6.0.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 6.0.0
54
+ version: 6.0.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">"
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.0'
61
+ version: 5.19.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">"
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.0'
68
+ version: 5.19.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -82,12 +82,16 @@ dependencies:
82
82
  version: '0'
83
83
  description: Parser for Heroku Dev Center's content
84
84
  email:
85
- - raul@heroku.com
85
+ - heroku-front-end@salesforce.com
86
86
  executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - ".github/dependabot.yml"
91
+ - ".github/workflows/sync_component_metadata.yml"
90
92
  - ".gitignore"
93
+ - ".heroku/components-inventory/devcenter-parser.json"
94
+ - CODEOWNERS
91
95
  - Gemfile
92
96
  - Gemfile.lock
93
97
  - LICENSE
@@ -111,14 +115,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
115
  requirements:
112
116
  - - ">="
113
117
  - !ruby/object:Gem::Version
114
- version: '0'
118
+ version: 3.0.0
115
119
  required_rubygems_version: !ruby/object:Gem::Requirement
116
120
  requirements:
117
121
  - - ">="
118
122
  - !ruby/object:Gem::Version
119
123
  version: '0'
120
124
  requirements: []
121
- rubygems_version: 3.1.4
125
+ rubygems_version: 3.4.10
122
126
  signing_key:
123
127
  specification_version: 4
124
128
  summary: Parser for Heroku Dev Center's content