jekyll_pre 1.4.9 → 3.0.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
2
  SHA256:
3
- metadata.gz: 2aa1ecbdc4cd932e77c94ed9cc2249ba98e7c6ec3ab55a3754aabc8ab23b7999
4
- data.tar.gz: 48801d075be0f3a5ea95f006398c5973dbeefb7c746b31535bbba8f4cb809181
3
+ metadata.gz: f617053cafdd4a2b9b0fb9e3a53afab3bce701bfd467ea81d2d906803768cb35
4
+ data.tar.gz: c1f16b3322eed5c5cf14aa06e573a0f693a7f34f3518ca4b52046a84044d4bc6
5
5
  SHA512:
6
- metadata.gz: 0677f37605fa8a59f6c109126cbe0650775758555a6a3cf1247412a16af8a383baffbaa18cc8e085c7b87f7dd18609933fbf9764d1dd21d835a5fe66db020a28
7
- data.tar.gz: 6d3ae36d6d83ccba222256c6a1c8120138938ef79377386f3cf70e3da61fa058dcc7b925d1ee2d859ffecd0291395d25ac074aebc0b41b4d7857cac90131c126
6
+ metadata.gz: 1b5b3ef9b636c6b6c98642acea8b80209527e28d16edc88b161752df940b8d58f161d75146fae8c12902d3b030a0c2e9eeb1d9470d9d5db46f21c2b5269d09ae
7
+ data.tar.gz: 6827f1aef4cf4b8e4c5904dd5b090a7f58e1b0e38604d8a2872c80b3dbdb85dc06bd7dd95cedfd5fa3275535f9649d56fb6357b279bd5c10847a79aeb1cbb17f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.0.1 / 2025-03-28
4
+
5
+ * The `number` option now accepts an optional starting value.
6
+ This option can still be used as a keyword option.
7
+
8
+
9
+ ## 3.0.0 / 2025-03-06
10
+
11
+ * Numbered as v3.0.0 to match the `jekyll_plugin_support` version number.
12
+ * Now requires [Jekyll 4.4.1](https://jekyllrb.com/news/2025/01/29/jekyll-4-4-1-released/) or later,
13
+ and Ruby 3.2.0 or later
14
+
15
+
3
16
  ## 1.4.9 / 2025-02-07
4
17
 
5
18
  * Added CSS for jekyll_emoji_tag in `demo/assets/css/jekyll_pre.css`.
data/README.md CHANGED
@@ -29,7 +29,7 @@ Contents of pre tag
29
29
  * {% pre label="This is a label" %}<br>Contents of pre tag<br>{% endpre %}
30
30
 
31
31
  * {% pre This is a label %}<br>Contents of pre tag<br>{% endpre %}
32
- * `number` &ndash; Number the lines
32
+ * `number` &ndash; Number the lines with an optional starting value (defaults to 1)
33
33
  * `shell` &ndash; Equivalent to `label='Shell'`
34
34
  * `style` &ndash; Apply inline CSS styles
35
35
 
data/jekyll_pre.gemspec CHANGED
@@ -27,11 +27,11 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  END_MESSAGE
29
29
  spec.require_paths = ['lib']
30
- spec.required_ruby_version = '>= 2.6.0'
30
+ spec.required_ruby_version = '>= 3.2.0'
31
31
  spec.summary = 'Jekyll tags pre and noselect, for HTML <pre/> tag, prompts and unselectable text. Can number lines.'
32
32
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
33
33
  spec.version = JekyllPreVersion::VERSION
34
34
 
35
- spec.add_dependency 'jekyll', '>= 3.5.0'
36
- spec.add_dependency 'jekyll_plugin_support', '>= 1.0.3'
35
+ spec.add_dependency 'jekyll', '>= 4.4.1'
36
+ spec.add_dependency 'jekyll_plugin_support', '>= 3.0.0'
37
37
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllPreVersion
2
- VERSION = '1.4.9'.freeze
2
+ VERSION = '3.0.1'.freeze
3
3
  end
data/lib/jekyll_pre.rb CHANGED
@@ -2,9 +2,9 @@ module JekyllPluginPreName
2
2
  PLUGIN_NAME = 'jekyll_pre'.freeze
3
3
  end
4
4
 
5
- require_relative './exec_tag'
6
- require_relative './noselect_tag'
7
- require_relative './pre_tag_block'
5
+ require_relative 'exec_tag'
6
+ require_relative 'noselect_tag'
7
+ require_relative 'pre_tag_block'
8
8
 
9
9
  PreError = Class.new(Liquid::Error)
10
10
 
data/lib/pre_tag_block.rb CHANGED
@@ -18,13 +18,22 @@ module JekyllPreModule
18
18
  "#{@@prefix}'##{pre_id}'#{@@suffix}"
19
19
  end
20
20
 
21
- def self.number_content(content)
21
+ def self.positive_int?(x)
22
+ value = begin
23
+ Integer(x)
24
+ rescue StandardError
25
+ false
26
+ end
27
+ value.is_a?(Integer) && value.positive?
28
+ end
29
+
30
+ def self.number_content(content, start_value)
22
31
  lines = content.split("\n")
23
32
  digits = lines.length.to_s.length
24
- i = 0
33
+ i = PreTagBlock.positive_int?(start_value) ? start_value.to_i : 1
25
34
  numbered_content = lines.map do |line|
26
- i += 1
27
35
  number = i.to_s.rjust(digits, ' ')
36
+ i += 1
28
37
  "<span class='unselectable numbered_line'> #{number}: </span>#{line}"
29
38
  end
30
39
  result = numbered_content.join("\n")
@@ -101,7 +110,7 @@ module JekyllPreModule
101
110
  pre_id = "id#{SecureRandom.hex(6)}"
102
111
  copy_button = @make_copy_button ? PreTagBlock.make_copy_button(pre_id) : ''
103
112
  content = PreTagBlock.highlight(content, @highlight) if @highlight
104
- content = PreTagBlock.number_content(content) if @number_lines
113
+ content = PreTagBlock.number_content(content, @number_lines) if @number_lines
105
114
 
106
115
  classes = "maxOneScreenHigh copyContainer#{@dark}#{pre_clear}#{@class}"
107
116
  pre_content = "#{copy_button}#{content}"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_pre
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-02-07 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: jekyll
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 3.5.0
18
+ version: 4.4.1
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 3.5.0
25
+ version: 4.4.1
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: jekyll_plugin_support
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.3
32
+ version: 3.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 1.0.3
39
+ version: 3.0.0
40
40
  description: 'Jekyll tags pre and noselect, for HTML <pre/> tag, prompts and unselectable
41
41
  text. Can number lines.
42
42
 
@@ -82,14 +82,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 2.6.0
85
+ version: 3.2.0
86
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  requirements: []
92
- rubygems_version: 3.6.3
92
+ rubygems_version: 3.6.9
93
93
  specification_version: 4
94
94
  summary: Jekyll tags pre and noselect, for HTML <pre/> tag, prompts and unselectable
95
95
  text. Can number lines.