gitlab_kramdown 0.4.0 → 0.4.1

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
- 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