gitlab_kramdown 0.4.0 → 0.4.1

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
- SHA1:
3
- metadata.gz: ce8545ba899795f6dc56a1719b4b34f61b2a4658
4
- data.tar.gz: 18241d90cfb9fa02b4115fc5d4f1fb388d2896e1
2
+ SHA256:
3
+ metadata.gz: d97e30917ac631afb70c1e37fb2d807279604195fd538a5093620ca087d2b6fe
4
+ data.tar.gz: 9895d7ffa9284ebcd9edbb892b726f0e038a727e545191d6128256071d069aff
5
5
  SHA512:
6
- metadata.gz: 6813cb7bf833a30a9a19090caab8f4bf4b5e55d9f006c85cbc3f7bbaa42dd21a2e70f6f3b4236e642c9315b35a398799297ee45556b1df9a8c6a0aaa6a73c38e
7
- data.tar.gz: 82fc613035d1a7a9864cb22142aeef407a76331d3be7c7ba7fecd2d7da2ea3b7e6ec5dc7bc00af731e2a0e13e200dd3551e6dbe4a0c6e348b3fe3c93d810e7ee
6
+ metadata.gz: c8704fb0267233b71c4dd3ca5a147b637a14b0d0dde02e9cedb3047bdda6de5941c05302186e31821b1dd6feb617e8fc892055930adcd94beb6fffef9e5e55d4
7
+ data.tar.gz: 0eea8586e745f4c57b910e23d991a35514a4289105d25ca0d129be7c673a9fa60b18d67dd4b02acaa46918946a89733ddc6ef69a2b247774594fae32cdb6b4c4
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # GitLab Kramdown
2
2
 
3
- This is an unofficial gem that implements [GitLab flavored Markdown] extensions on top of [Kramdown]
3
+ This is an official gem that implements [GitLab flavored Markdown] extensions on top of [Kramdown].
4
+
5
+ > **Note**: This is not the same code that runs on GitLab. The [GitLab flavored Markdown] runs on top of
6
+ CommonMark with extensions implemented inside the Rails application.
4
7
 
5
8
  ## GitLab Flavored Markdown extensions support
6
9
 
@@ -15,6 +15,7 @@ require 'kramdown/parser'
15
15
  # Kramdown::Document.new(source, input: 'GitlabKramdown')
16
16
  #
17
17
  module GitlabKramdown
18
+ autoload :VERSION, 'gitlab_kramdown/version'
18
19
  autoload :Parser, 'gitlab_kramdown/parser'
19
20
  end
20
21
 
@@ -9,11 +9,12 @@ module GitlabKramdown
9
9
  #
10
10
  # @see https://docs.gitlab.com/ee/user/markdown.html#special-gitlab-references
11
11
  module Reference
12
- PATH_REGEX = /[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*/
12
+ PATH_REGEX = /[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]+/
13
13
 
14
14
  NAMESPACE_FORMAT_REGEX = %r{
15
- (?:#{PATH_REGEX}[a-zA-Z0-9_\-]|[a-zA-Z0-9_])
15
+ (?:#{PATH_REGEX}[a-zA-Z0-9_\-])
16
16
  (?<!\.git|\.atom)
17
+ |[a-zA-Z0-9_]
17
18
  }x
18
19
 
19
20
  FULL_NAMESPACE_FORMAT_REGEX = %r{(#{NAMESPACE_FORMAT_REGEX}/)*#{NAMESPACE_FORMAT_REGEX}}
@@ -27,38 +28,38 @@ module GitlabKramdown
27
28
  PROJECT_COMMIT_PATTERN = %r{
28
29
  (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
29
30
  #{Regexp.escape('@')}
30
- (?<commit>[a-z0-9]+)
31
+ (?<commit>[a-f0-9]{7,40})
31
32
  (?!\.{3})
32
33
  }x
33
34
 
34
35
  PROJECT_COMMIT_DIFF_PATTERN = %r{
35
- (?<namespace>#{FULL_NAMESPACE_FORMAT_REGEX})
36
+ (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
36
37
  #{Regexp.escape('@')}
37
- (?<commit_source>[a-f0-9]+)
38
+ (?<commit_source>[a-f0-9]{7,40})
38
39
  \.{3}
39
- (?<commit_target>[a-f0-9]+)
40
+ (?<commit_target>[a-f0-9]{7,40})
40
41
  }x
41
42
 
42
43
  PROJECT_ISSUE_PATTERN = %r{
43
- (?<namespace>#{FULL_NAMESPACE_FORMAT_REGEX})
44
+ (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
44
45
  #{Regexp.escape('#')}
45
46
  (?<issue>[1-9][0-9]*)
46
47
  }x
47
48
 
48
49
  PROJECT_MERGE_REQUEST_PATTERN = %r{
49
- (?<namespace>#{FULL_NAMESPACE_FORMAT_REGEX})
50
+ (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
50
51
  #{Regexp.escape('!')}
51
52
  (?<merge_request>[1-9][0-9]*)
52
53
  }x
53
54
 
54
55
  PROJECT_SNIPPET_PATTERN = %r{
55
- (?<namespace>#{FULL_NAMESPACE_FORMAT_REGEX})
56
+ (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
56
57
  #{Regexp.escape('$')}
57
58
  (?<snippet>[1-9][0-9]*)
58
59
  }x
59
60
 
60
61
  PROJECT_LABEL_PATTERN = %r{
61
- (?<namespace>#{FULL_NAMESPACE_FORMAT_REGEX})
62
+ (?<namespace>#{ALWAYS_FULL_NAMESPACE_FORMAT_REGEX})
62
63
  #{Regexp.escape('~')}
63
64
  (?<label>
64
65
  [A-Za-z0-9_\-\?\.&]+ | # String-based single-word label title, or
@@ -67,13 +68,13 @@ module GitlabKramdown
67
68
  }x
68
69
 
69
70
  def self.included(klass)
70
- klass.define_parser(:user_group_mention, USER_GROUP_PATTERN)
71
- klass.define_parser(:commit, PROJECT_COMMIT_PATTERN)
72
- klass.define_parser(:commit_diff, PROJECT_COMMIT_DIFF_PATTERN)
73
- klass.define_parser(:issue, PROJECT_ISSUE_PATTERN)
74
- klass.define_parser(:merge_request, PROJECT_MERGE_REQUEST_PATTERN)
75
- klass.define_parser(:snippet, PROJECT_SNIPPET_PATTERN)
76
- klass.define_parser(:label, PROJECT_LABEL_PATTERN)
71
+ klass.define_parser(:user_group_mention, USER_GROUP_PATTERN, '@')
72
+ klass.define_parser(:commit, PROJECT_COMMIT_PATTERN, '@')
73
+ klass.define_parser(:commit_diff, PROJECT_COMMIT_DIFF_PATTERN, '@')
74
+ klass.define_parser(:issue, PROJECT_ISSUE_PATTERN, '#')
75
+ klass.define_parser(:merge_request, PROJECT_MERGE_REQUEST_PATTERN, '\!')
76
+ klass.define_parser(:snippet, PROJECT_SNIPPET_PATTERN, '\$')
77
+ klass.define_parser(:label, PROJECT_LABEL_PATTERN, '\~')
77
78
  end
78
79
 
79
80
  def parse_user_group_mention
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GitlabKramdown
4
+ VERSION = '0.4.1'
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_kramdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Mazetto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-12 00:00:00.000000000 Z
11
+ date: 2018-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: benchmark-ips
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.7'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.7'
125
139
  description: GitLab Flavored Markdown extensions on top of Kramdown markup. Tries
126
140
  to be as close as possible to existing extensions.
127
141
  email: brodock@gmail.com
@@ -131,18 +145,8 @@ extra_rdoc_files:
131
145
  - LICENSE.txt
132
146
  - README.md
133
147
  files:
134
- - ".document"
135
- - ".gitlab-ci.yml"
136
- - ".rubocop.yml"
137
- - ".ruby-version"
138
- - CHANGELOG.md
139
- - Gemfile
140
- - Gemfile.lock
141
148
  - LICENSE.txt
142
149
  - README.md
143
- - Rakefile
144
- - VERSION
145
- - gitlab_kramdown.gemspec
146
150
  - lib/gitlab_kramdown.rb
147
151
  - lib/gitlab_kramdown/parser.rb
148
152
  - lib/gitlab_kramdown/parser/autolink.rb
@@ -150,25 +154,16 @@ files:
150
154
  - lib/gitlab_kramdown/parser/fenced_codeblock.rb
151
155
  - lib/gitlab_kramdown/parser/header.rb
152
156
  - lib/gitlab_kramdown/parser/reference.rb
157
+ - lib/gitlab_kramdown/version.rb
153
158
  - lib/kramdown/parser/gitlab_kramdown.rb
154
- - spec/fixtures/autolink.html
155
- - spec/fixtures/autolink.text
156
- - spec/fixtures/code_highlight.html
157
- - spec/fixtures/code_highlight.text
158
- - spec/fixtures/header.html
159
- - spec/fixtures/header.linkable_headers.html
160
- - spec/fixtures/header.text
161
- - spec/fixtures/multi_blockquote.html
162
- - spec/fixtures/multi_blockquote.text
163
- - spec/fixtures/references.html
164
- - spec/fixtures/references.text
165
- - spec/integration/parser_spec.rb
166
- - spec/spec_helper.rb
167
- - spec/support/fixtures.rb
168
- homepage: http://gitlab.com/brodock/gitlab_kramdown
159
+ homepage: http://gitlab.com/gitlab-org/gitlab_kramdown
169
160
  licenses:
170
161
  - MIT
171
- metadata: {}
162
+ metadata:
163
+ bug_tracker_uri: http://gitlab.com/gitlab-org/gitlab_kramdown/issues
164
+ changelog_uri: http://gitlab.com/gitlab-org/gitlab_kramdown/blob/master/CHANGELOG.md
165
+ homepage_uri: http://gitlab.com/gitlab-org/gitlab_kramdown
166
+ source_code_uri: http://gitlab.com/gitlab-org/gitlab_kramdown
172
167
  post_install_message:
173
168
  rdoc_options: []
174
169
  require_paths:
@@ -185,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
180
  version: '0'
186
181
  requirements: []
187
182
  rubyforge_project:
188
- rubygems_version: 2.6.14
183
+ rubygems_version: 2.7.7
189
184
  signing_key:
190
185
  specification_version: 4
191
186
  summary: GitLab Flavored Kramdown
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.gitlab-ci.yml DELETED
@@ -1,28 +0,0 @@
1
- image: "ruby:2.4"
2
-
3
- # Cache gems in between builds
4
- cache: &cache
5
- paths:
6
- - vendor/ruby
7
- key: 'ruby2.4'
8
-
9
- before_script:
10
- - ruby -v # Print out ruby version for debugging
11
- - gem install bundler --no-ri --no-rdoc # Bundler is not installed with the image
12
- - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
13
-
14
- rubocop:
15
- script:
16
- - rubocop
17
-
18
- rspec ruby2.4:
19
- script:
20
- - rake spec
21
-
22
- rspec ruby2.5:
23
- image: "ruby:2.5"
24
- cache:
25
- <<: *cache
26
- key: 'ruby2.5'
27
- script:
28
- - rake spec
data/.rubocop.yml DELETED
@@ -1,28 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - '**/Rakefile'
4
- - 'Gemfile'
5
- - 'vendor/**/**'
6
- - '*.gemspec'
7
- Layout/IndentArray:
8
- EnforcedStyle: consistent
9
- Lint/InterpolationCheck:
10
- Enabled: false
11
- Metrics/BlockLength:
12
- Exclude:
13
- - 'spec/**/**'
14
- Metrics/LineLength:
15
- Max: 120
16
- Metrics/MethodLength:
17
- Enabled: false
18
- Metrics/ModuleLength:
19
- Enabled: false
20
- Metrics/AbcSize:
21
- Max: 30
22
- Style/FrozenStringLiteralComment:
23
- Exclude:
24
- - 'spec/**/**'
25
- Style/RegexpLiteral:
26
- EnforcedStyle: mixed
27
- Style/ParallelAssignment:
28
- Enabled: false
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- ruby-2.4.3
data/CHANGELOG.md DELETED
@@ -1,36 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
- and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
-
7
- ## [Unreleased]
8
-
9
- ## [0.4.0] - 2018-04-12
10
- ### Added
11
- - URL auto-linking support
12
-
13
- ### Changed
14
- - Fixed many inconsistencies in references autolink
15
-
16
- ## [0.3.0] - 2018-03-23
17
- ### Added
18
- - Headers will include by default an anchor tag (you can disable with `linkable_headers: false`)
19
-
20
- ### Changed
21
- - Fixed multiline blockquote delimiter
22
- - GitLab URL is not customizable with `gitlab_url: 'http://yourcustomgitlab.com'`
23
-
24
- ## [0.2.0] - 2018-03-19
25
- ### Added
26
- - Syntax highlighter uses ``` or ~~~
27
-
28
- ### Changed
29
- - Requires Ruby 2.4
30
- - Requires rouge `~> 3.0`
31
-
32
- ## [0.1.0] - 2018-03-17
33
- ### Added
34
- - The initial version of the Gem
35
- - Special GitLab References
36
- - Multiline Blockquote
data/Gemfile DELETED
@@ -1,13 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'kramdown', '~> 1.16'
4
- gem 'rouge', '~> 3.0'
5
-
6
- group :development do
7
- gem 'rdoc', '~> 3.12'
8
- gem 'bundler', '~> 1.0'
9
- gem 'juwelier', '~> 2.1.0'
10
- gem 'simplecov', '>= 0'
11
- gem 'rubocop'
12
- gem 'rspec'
13
- end
data/Gemfile.lock DELETED
@@ -1,103 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- addressable (2.5.2)
5
- public_suffix (>= 2.0.2, < 4.0)
6
- ast (2.4.0)
7
- builder (3.2.3)
8
- descendants_tracker (0.0.4)
9
- thread_safe (~> 0.3, >= 0.3.1)
10
- diff-lcs (1.3)
11
- docile (1.1.5)
12
- faraday (0.12.2)
13
- multipart-post (>= 1.2, < 3)
14
- git (1.3.0)
15
- github_api (0.18.2)
16
- addressable (~> 2.4)
17
- descendants_tracker (~> 0.0.4)
18
- faraday (~> 0.8)
19
- hashie (~> 3.5, >= 3.5.2)
20
- oauth2 (~> 1.0)
21
- hashie (3.5.7)
22
- highline (1.7.10)
23
- json (1.8.6)
24
- juwelier (2.1.3)
25
- builder
26
- bundler (>= 1.13)
27
- git (>= 1.2.5)
28
- github_api
29
- highline (>= 1.6.15)
30
- nokogiri (>= 1.5.10)
31
- rake
32
- rdoc
33
- semver
34
- jwt (1.5.6)
35
- kramdown (1.16.2)
36
- mini_portile2 (2.3.0)
37
- multi_json (1.13.1)
38
- multi_xml (0.6.0)
39
- multipart-post (2.0.0)
40
- nokogiri (1.8.2)
41
- mini_portile2 (~> 2.3.0)
42
- oauth2 (1.4.0)
43
- faraday (>= 0.8, < 0.13)
44
- jwt (~> 1.0)
45
- multi_json (~> 1.3)
46
- multi_xml (~> 0.5)
47
- rack (>= 1.2, < 3)
48
- parallel (1.12.1)
49
- parser (2.5.0.2)
50
- ast (~> 2.4.0)
51
- powerpack (0.1.1)
52
- public_suffix (3.0.2)
53
- rack (2.0.4)
54
- rainbow (3.0.0)
55
- rake (12.3.0)
56
- rdoc (3.12.2)
57
- json (~> 1.4)
58
- rouge (3.1.1)
59
- rspec (3.7.0)
60
- rspec-core (~> 3.7.0)
61
- rspec-expectations (~> 3.7.0)
62
- rspec-mocks (~> 3.7.0)
63
- rspec-core (3.7.1)
64
- rspec-support (~> 3.7.0)
65
- rspec-expectations (3.7.0)
66
- diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.7.0)
68
- rspec-mocks (3.7.0)
69
- diff-lcs (>= 1.2.0, < 2.0)
70
- rspec-support (~> 3.7.0)
71
- rspec-support (3.7.1)
72
- rubocop (0.52.1)
73
- parallel (~> 1.10)
74
- parser (>= 2.4.0.2, < 3.0)
75
- powerpack (~> 0.1)
76
- rainbow (>= 2.2.2, < 4.0)
77
- ruby-progressbar (~> 1.7)
78
- unicode-display_width (~> 1.0, >= 1.0.1)
79
- ruby-progressbar (1.9.0)
80
- semver (1.0.1)
81
- simplecov (0.15.1)
82
- docile (~> 1.1.0)
83
- json (>= 1.8, < 3)
84
- simplecov-html (~> 0.10.0)
85
- simplecov-html (0.10.2)
86
- thread_safe (0.3.6)
87
- unicode-display_width (1.3.0)
88
-
89
- PLATFORMS
90
- ruby
91
-
92
- DEPENDENCIES
93
- bundler (~> 1.0)
94
- juwelier (~> 2.1.0)
95
- kramdown (~> 1.16)
96
- rdoc (~> 3.12)
97
- rouge (~> 3.0)
98
- rspec
99
- rubocop
100
- simplecov
101
-
102
- BUNDLED WITH
103
- 1.16.1
data/Rakefile DELETED
@@ -1,52 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
11
- require 'juwelier'
12
- Juwelier::Tasks.new do |gem|
13
- # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
14
- gem.name = "gitlab_kramdown"
15
- gem.homepage = "http://gitlab.com/brodock/gitlab_kramdown"
16
- gem.license = "MIT"
17
- gem.summary = %Q{GitLab Flavored Kramdown}
18
- gem.description = %Q{GitLab Flavored Markdown extensions on top of Kramdown markup. Tries to be as close as possible to existing extensions.}
19
- gem.email = "brodock@gmail.com"
20
- gem.authors = ["Gabriel Mazetto"]
21
- gem.required_ruby_version = '~> 2.4'
22
-
23
- # dependencies defined in Gemfile
24
- end
25
- Juwelier::RubygemsDotOrgTasks.new
26
-
27
- require 'rspec'
28
- require 'rspec/core/rake_task'
29
- desc "Run all examples"
30
- RSpec::Core::RakeTask.new(:spec) do |t|
31
- t.ruby_opts = %w[-w]
32
- t.rspec_opts = %w[--color]
33
- end
34
-
35
-
36
- desc "Code coverage detail"
37
- task :simplecov do
38
- ENV['COVERAGE'] = "true"
39
- Rake::Task['spec'].execute
40
- end
41
-
42
- task :default => :test
43
-
44
- require 'rdoc/task'
45
- Rake::RDocTask.new do |rdoc|
46
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
47
-
48
- rdoc.rdoc_dir = 'rdoc'
49
- rdoc.title = "gitlab_kramdown #{version}"
50
- rdoc.rdoc_files.include('README*')
51
- rdoc.rdoc_files.include('lib/**/*.rb')
52
- end
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.4.0
@@ -1,96 +0,0 @@
1
- # Generated by juwelier
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: gitlab_kramdown 0.4.0 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "gitlab_kramdown".freeze
9
- s.version = "0.4.0"
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib".freeze]
13
- s.authors = ["Gabriel Mazetto".freeze]
14
- s.date = "2018-04-12"
15
- s.description = "GitLab Flavored Markdown extensions on top of Kramdown markup. Tries to be as close as possible to existing extensions.".freeze
16
- s.email = "brodock@gmail.com".freeze
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.md"
20
- ]
21
- s.files = [
22
- ".document",
23
- ".gitlab-ci.yml",
24
- ".rubocop.yml",
25
- ".ruby-version",
26
- "CHANGELOG.md",
27
- "Gemfile",
28
- "Gemfile.lock",
29
- "LICENSE.txt",
30
- "README.md",
31
- "Rakefile",
32
- "VERSION",
33
- "gitlab_kramdown.gemspec",
34
- "lib/gitlab_kramdown.rb",
35
- "lib/gitlab_kramdown/parser.rb",
36
- "lib/gitlab_kramdown/parser/autolink.rb",
37
- "lib/gitlab_kramdown/parser/fenced_blockquote.rb",
38
- "lib/gitlab_kramdown/parser/fenced_codeblock.rb",
39
- "lib/gitlab_kramdown/parser/header.rb",
40
- "lib/gitlab_kramdown/parser/reference.rb",
41
- "lib/kramdown/parser/gitlab_kramdown.rb",
42
- "spec/fixtures/autolink.html",
43
- "spec/fixtures/autolink.text",
44
- "spec/fixtures/code_highlight.html",
45
- "spec/fixtures/code_highlight.text",
46
- "spec/fixtures/header.html",
47
- "spec/fixtures/header.linkable_headers.html",
48
- "spec/fixtures/header.text",
49
- "spec/fixtures/multi_blockquote.html",
50
- "spec/fixtures/multi_blockquote.text",
51
- "spec/fixtures/references.html",
52
- "spec/fixtures/references.text",
53
- "spec/integration/parser_spec.rb",
54
- "spec/spec_helper.rb",
55
- "spec/support/fixtures.rb"
56
- ]
57
- s.homepage = "http://gitlab.com/brodock/gitlab_kramdown".freeze
58
- s.licenses = ["MIT".freeze]
59
- s.required_ruby_version = Gem::Requirement.new("~> 2.4".freeze)
60
- s.rubygems_version = "2.6.14".freeze
61
- s.summary = "GitLab Flavored Kramdown".freeze
62
-
63
- if s.respond_to? :specification_version then
64
- s.specification_version = 4
65
-
66
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
67
- s.add_runtime_dependency(%q<kramdown>.freeze, ["~> 1.16"])
68
- s.add_runtime_dependency(%q<rouge>.freeze, ["~> 3.0"])
69
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
70
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
71
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
72
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
73
- s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
74
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
75
- else
76
- s.add_dependency(%q<kramdown>.freeze, ["~> 1.16"])
77
- s.add_dependency(%q<rouge>.freeze, ["~> 3.0"])
78
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
79
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
80
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
81
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
82
- s.add_dependency(%q<rubocop>.freeze, [">= 0"])
83
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
84
- end
85
- else
86
- s.add_dependency(%q<kramdown>.freeze, ["~> 1.16"])
87
- s.add_dependency(%q<rouge>.freeze, ["~> 3.0"])
88
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
89
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
90
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
91
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
92
- s.add_dependency(%q<rubocop>.freeze, [">= 0"])
93
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
94
- end
95
- end
96
-
@@ -1,21 +0,0 @@
1
- <h1 id="autolinks">Autolinks</h1>
2
-
3
- <p>The following URLs will be autolinked:</p>
4
-
5
- <ul>
6
- <li><a href="https://www.google.com">https://www.google.com</a> ! This is google</li>
7
- <li><a href="https://google.com/">https://google.com/</a></li>
8
- <li><a href="ftp://ftp.us.debian.org/debian/">ftp://ftp.us.debian.org/debian/</a></li>
9
- <li><a href="smb://foo/bar/baz">smb://foo/bar/baz</a></li>
10
- <li><a href="irc://irc.freenode.net/gitlab">irc://irc.freenode.net/gitlab</a></li>
11
- <li><a href="http://localhost:3000">http://localhost:3000</a></li>
12
- <li>This is an email: <a href="mailto:john.doe@example.com">john.doe@example.com</a> .</li>
13
- <li>URL with ampersand: <a href="http://www.example.com/?doit&amp;x=y">http://www.example.com/?doit&amp;x=y</a> !</li>
14
- </ul>
15
-
16
- <blockquote>
17
- <p>It works even inside other blocks: <a href="https://www.google.com">https://www.google.com</a></p>
18
- </blockquote>
19
-
20
- <pre><code>Doesn't work inside code-blocks: https://www.google.com
21
- </code></pre>
@@ -1,18 +0,0 @@
1
- # Autolinks
2
-
3
- The following URLs will be autolinked:
4
-
5
- * https://www.google.com ! This is google
6
- * https://google.com/
7
- * ftp://ftp.us.debian.org/debian/
8
- * smb://foo/bar/baz
9
- * irc://irc.freenode.net/gitlab
10
- * http://localhost:3000
11
- * This is an email: john.doe@example.com .
12
- * URL with ampersand: http://www.example.com/?doit&x=y !
13
-
14
- > It works even inside other blocks: https://www.google.com
15
-
16
- ```
17
- Doesn't work inside code-blocks: https://www.google.com
18
- ```
@@ -1,18 +0,0 @@
1
- <p>This is a code block using 4 spaces syntax:
2
- class Something
3
- def method(param)
4
- end
5
- end</p>
6
-
7
- <p>This is a code block using 3-backticks ```:</p>
8
-
9
- <pre><code>This is a code block without any specific language
10
- </code></pre>
11
-
12
- <p>This is a code block specifying a language:</p>
13
-
14
- <pre><code class="language-ruby">class Something
15
- def method(param)
16
- end
17
- end
18
- </code></pre>
@@ -1,20 +0,0 @@
1
- This is a code block using 4 spaces syntax:
2
- class Something
3
- def method(param)
4
- end
5
- end
6
-
7
- This is a code block using 3-backticks ```:
8
-
9
- ```
10
- This is a code block without any specific language
11
- ```
12
-
13
- This is a code block specifying a language:
14
-
15
- ```ruby
16
- class Something
17
- def method(param)
18
- end
19
- end
20
- ```
@@ -1,12 +0,0 @@
1
- <h1 id="h1">H1</h1>
2
- <h2 id="h2">H2</h2>
3
- <h3 id="h3">H3</h3>
4
- <h4 id="h4">H4</h4>
5
- <h5 id="h5">H5</h5>
6
- <h6 id="h6">H6</h6>
7
-
8
- <p>Alternatively, for H1 and H2, an underline-ish style:</p>
9
-
10
- <h1 id="alt-h1">Alt-H1</h1>
11
-
12
- <h2 id="alt-h2">Alt-H2</h2>
@@ -1,12 +0,0 @@
1
- <h1 id="h1">H1<a href="#h1" title="Permalink" class="anchor"></a></h1>
2
- <h2 id="h2">H2<a href="#h2" title="Permalink" class="anchor"></a></h2>
3
- <h3 id="h3">H3<a href="#h3" title="Permalink" class="anchor"></a></h3>
4
- <h4 id="h4">H4<a href="#h4" title="Permalink" class="anchor"></a></h4>
5
- <h5 id="h5">H5<a href="#h5" title="Permalink" class="anchor"></a></h5>
6
- <h6 id="h6">H6<a href="#h6" title="Permalink" class="anchor"></a></h6>
7
-
8
- <p>Alternatively, for H1 and H2, an underline-ish style:</p>
9
-
10
- <h1 id="alt-h1">Alt-H1<a href="#alt-h1" title="Permalink" class="anchor"></a></h1>
11
-
12
- <h2 id="alt-h2">Alt-H2<a href="#alt-h2" title="Permalink" class="anchor"></a></h2>
@@ -1,14 +0,0 @@
1
- # H1
2
- ## H2
3
- ### H3
4
- #### H4
5
- ##### H5
6
- ###### H6
7
-
8
- Alternatively, for H1 and H2, an underline-ish style:
9
-
10
- Alt-H1
11
- ======
12
-
13
- Alt-H2
14
- ------
@@ -1,13 +0,0 @@
1
- <blockquote>
2
- <p>If you paste a message from somewhere else</p>
3
-
4
- <p>that</p>
5
-
6
- <p>spans</p>
7
-
8
- <p>multiple lines,</p>
9
-
10
- <p>you can quote that without having to manually prepend <code>&gt;</code> to every line!</p>
11
- </blockquote>
12
-
13
- <h2 id="title-here">Title here</h2>
@@ -1,13 +0,0 @@
1
- >>>
2
- If you paste a message from somewhere else
3
-
4
- that
5
-
6
- spans
7
-
8
- multiple lines,
9
-
10
- you can quote that without having to manually prepend `>` to every line!
11
- >>>
12
-
13
- ## Title here
@@ -1,19 +0,0 @@
1
- <p>User: <a href="https://gitlab.com/user_name">@user_name</a></p>
2
-
3
- <p>Group: <a href="https://gitlab.com/group_name">@group_name</a></p>
4
-
5
- <p>Subgroup: <a href="https://gitlab.com/maingroup123/group_name">@maingroup123/group_name</a></p>
6
-
7
- <p>Project Issue: <a href="https://gitlab.com/group_name/project_name/issues/12345">group_name/project_name#12345</a></p>
8
-
9
- <p>Merge Request: <a href="https://gitlab.com/group_name/project_name/merge_requests/12345">group_name/project_name!12345</a></p>
10
-
11
- <p>Project Snippet: <a href="https://gitlab.com/group_name/project_name/snippets/12345">group_name/project_name$12345</a></p>
12
-
13
- <p>Project Commit: <a href="https://gitlab.com/group_name/project_name/commit/9ba12248">group_name/project_name@9ba12248</a> not to get confused by email: <a href="mailto:john.doe@example.com">john.doe@example.com</a></p>
14
-
15
- <p>Project Commit Range comparison: <a href="https://gitlab.com/group_name/project_name/compare/9ba12248...b19a04f5">group_name/project_name@9ba12248...b19a04f5</a></p>
16
-
17
- <p>Project Label: <a href="https://gitlab.com/group_name/project_name/issues?label_name=label">group_name/project_name~label</a></p>
18
-
19
- <p>Project Label with Space: <a href="https://gitlab.com/group_name/project_name/issues?label_name=Some+label">group_name/project_name~"Some label"</a></p>
@@ -1,19 +0,0 @@
1
- User: @user_name
2
-
3
- Group: @group_name
4
-
5
- Subgroup: @maingroup123/group_name
6
-
7
- Project Issue: group_name/project_name#12345
8
-
9
- Merge Request: group_name/project_name!12345
10
-
11
- Project Snippet: group_name/project_name$12345
12
-
13
- Project Commit: group_name/project_name@9ba12248 not to get confused by email: john.doe@example.com
14
-
15
- Project Commit Range comparison: group_name/project_name@9ba12248...b19a04f5
16
-
17
- Project Label: group_name/project_name~label
18
-
19
- Project Label with Space: group_name/project_name~"Some label"
@@ -1,36 +0,0 @@
1
- require 'spec_helper'
2
-
3
- context 'GitLab Kramdown Integration tests' do
4
- let(:options) do
5
- { input: 'GitlabKramdown', linkable_headers: false }
6
- end
7
-
8
- context 'HTML render' do
9
- Fixtures.text_files.each do |text_file|
10
- it "Renders #{File.basename(text_file)} as #{File.basename(Fixtures.html_file(text_file))}" do
11
- source = File.read(text_file)
12
- target = File.read(Fixtures.html_file(text_file))
13
- parser = Kramdown::Document.new(source, options)
14
-
15
- expect(parser.to_html).to eq(target)
16
- end
17
- end
18
-
19
- context 'linkable_headers enabled' do
20
- let(:options) do
21
- { input: 'GitlabKramdown', linkable_headers: true }
22
- end
23
-
24
- it 'Renders header as headers.linkable_headers.html' do
25
- text_file = File.join(Fixtures.fixtures_path, 'header.text')
26
- html_file = File.join(Fixtures.fixtures_path, 'header.linkable_headers.html')
27
-
28
- source = File.read(text_file)
29
- target = File.read(html_file)
30
- parser = Kramdown::Document.new(source, options)
31
-
32
- expect(parser.to_html).to eq(target)
33
- end
34
- end
35
- end
36
- end
data/spec/spec_helper.rb DELETED
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/setup'
4
- Bundler.setup
5
-
6
- require 'simplecov'
7
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
8
- SimpleCov::Formatter::HTMLFormatter
9
- ])
10
- SimpleCov.start { add_filter '/spec/' }
11
-
12
- require 'kramdown'
13
- require 'gitlab_kramdown'
14
-
15
- # Load support files
16
- Dir[File.join('./spec/support/**/*.rb')].each { |f| require f }
17
-
18
- RSpec.configure do |config|
19
- # some (optional) config here
20
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fixtures
4
- def self.text_files
5
- Dir[File.join(fixtures_path, '**/*.text')]
6
- end
7
-
8
- def self.html_file(text_file)
9
- text_file.sub('.text', '.html')
10
- end
11
-
12
- def self.fixtures_path
13
- File.expand_path(File.join(File.dirname(__FILE__), '../fixtures'))
14
- end
15
- end