jekyll_plugin_support 0.1.0 → 0.2.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: 6d7d771129ced9b40dd3910fd9a36104e3c497bd26a20a4bb0ce821abceca7de
4
- data.tar.gz: dcbf44d0d30980e90aff16792fc59d33a6e3c6e3a0f9d757f26184894499180a
3
+ metadata.gz: 3264ff6310b66634f83d08ad21feab06f1bd871938fa11d4d72c2ab7be462f9c
4
+ data.tar.gz: aa2aacb039f82cb4fdec2821367254806683c39f0ba0dff1cdc715f37eb1577a
5
5
  SHA512:
6
- metadata.gz: c32a692546b9f806ee3325396a804ab9b0b2c30dd2aa835dbd989d924f10e959b04dd85608315bf4412fa2cf89c70ff06c278348f4d837a9e1da1eb748952f9e
7
- data.tar.gz: a126b88309c016407baad103e09f6c3e4eb554962ad8aabfbe31b31565001c9a98003bc7b56889329c669d638de75c255f939dd06b151c4a548dcdeac4daa4f7
6
+ metadata.gz: 9e0487e0752e6ae0a9ba384e82b779a724cdc7733746c0b849fa9d2113f44b323b30d67a8d16933892b9b5221cdea990b53c4d7e93c1aecca354449c8bc6fbc7
7
+ data.tar.gz: 84989c8b7a0d10e37240fdb0f2f166e600d6aadb2d396e572e962e9c2541edef5d06509d991a82a252649e43089a00fe6a91b90545c34b7cf3ff9b113510fa15
data/CHANGELOG.md CHANGED
@@ -1,2 +1,5 @@
1
1
  ## 0.1.0 / 2023-01-10
2
2
  * Initial version; only supports Jekyll block tags
3
+
4
+ ## 0.2.0 / 2023-01-12
5
+ * Refactored
@@ -40,11 +40,11 @@ Gem::Specification.new do |spec|
40
40
  spec.add_dependency 'jekyll_plugin_logger'
41
41
  spec.add_dependency 'key-value-parser'
42
42
 
43
- # spec.add_development_dependency 'debase'
44
- # spec.add_development_dependency 'rspec-match_ignoring_whitespace'
43
+ spec.add_development_dependency 'debase'
44
+ spec.add_development_dependency 'rspec-match_ignoring_whitespace'
45
45
  # spec.add_development_dependency 'rubocop-jekyll'
46
- # spec.add_development_dependency 'rubocop-rake'
46
+ spec.add_development_dependency 'rubocop-rake'
47
47
  spec.add_development_dependency 'rubocop-rspec'
48
- # spec.add_development_dependency 'ruby-debug-ide'
48
+ spec.add_development_dependency 'ruby-debug-ide'
49
49
  end
50
50
  # rubocop:enable Metrics/BlockLength
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JekyllQuoteVersion
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
@@ -6,7 +6,7 @@ require_relative 'jekyll_plugin_support_helper'
6
6
  require_relative 'jekyll_plugin_support/version'
7
7
 
8
8
  # @author Copyright 2022 Michael Slinn
9
- # @license SPDX-License-Identifier: Apache-2.0
9
+ # @license SPDX-License-Identifier: Apache-2.0``
10
10
  module JekyllSupport
11
11
  # Base class for Jekyll block tags
12
12
  class JekyllBlock < Liquid::Block
@@ -23,16 +23,29 @@ class JekyllPluginHelper
23
23
  string.strip.gsub(/\A'|\A"|'\Z|"\Z/, '').strip if string
24
24
  end
25
25
 
26
+ # See https://github.com/Shopify/liquid/wiki/Liquid-for-Programmers#create-your-own-tags
27
+ # @param tag_name [String] the name of the tag, which we already know.
28
+ # @param argument_string [String] the arguments from the tag, as a single string.
29
+ # @param parse_context [Liquid::ParseContext] hash that stores Liquid options.
30
+ # By default it has two keys: :locale and :line_numbers, the first is a Liquid::I18n object, and the second,
31
+ # a boolean parameter that determines if error messages should display the line number the error occurred.
32
+ # This argument is used mostly to display localized error messages on Liquid built-in Tags and Filters.
33
+ # See https://github.com/Shopify/liquid/wiki/Liquid-for-Programmers#create-your-own-tags
34
+ # @return [void]
26
35
  def initialize(tag_name, markup, logger)
27
- # @keys_values was a Hash[Symbol, String|Boolean] but now it is Hash[String, String|Boolean]
28
36
  @tag_name = tag_name
37
+ @logger = logger
38
+ @logger.debug { "@keys_values='#{@keys_values}'" }
39
+ reinitialize(markup.strip)
40
+ end
41
+
42
+ def reinitialize(markup)
43
+ # @keys_values was a Hash[Symbol, String|Boolean] but now it is Hash[String, String|Boolean]
29
44
  @markup = markup # Useful for debugging
30
45
  @argv = Shellwords.split(JekyllPluginHelper.expand_env(markup))
31
46
  @keys_values = KeyValueParser \
32
47
  .new({}, { array_values: false, normalize_keys: false, separator: /=/ }) \
33
48
  .parse(@argv)
34
- @logger = logger
35
- @logger.debug { "@keys_values='#{@keys_values}'" }
36
49
  end
37
50
 
38
51
  def delete_parameter(key)
@@ -7,7 +7,7 @@ require_relative '../lib/jekyll_plugin_support_spec_support'
7
7
 
8
8
  # Lets get this party started
9
9
  class MyTest
10
- RSpec.describe Jekyll::Quote do
10
+ RSpec.describe JekyllSupport::JekyllBlock do
11
11
  let(:logger) do
12
12
  PluginMetaLogger.instance.new_logger(self, PluginMetaLogger.instance.config)
13
13
  end
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_plugin_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-11 00:00:00.000000000 Z
11
+ date: 2023-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -52,6 +52,48 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: debase
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-match_ignoring_whitespace
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: rubocop-rspec
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +108,20 @@ dependencies:
66
108
  - - ">="
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: ruby-debug-ide
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
69
125
  description:
70
126
  email:
71
127
  - mslinn@mslinn.com
@@ -85,6 +141,7 @@ files:
85
141
  - lib/jekyll_plugin_support_spec_support.rb
86
142
  - spec/jekyll_plugin_support_spec.rb
87
143
  - spec/spec_helper.rb
144
+ - spec/status_persistence.txt
88
145
  homepage: https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#quote
89
146
  licenses:
90
147
  - MIT
@@ -119,4 +176,5 @@ summary: Provides support for writing Jekyll plugins.
119
176
  test_files:
120
177
  - spec/jekyll_plugin_support_spec.rb
121
178
  - spec/spec_helper.rb
179
+ - spec/status_persistence.txt
122
180
  ...