pandocomatic 2.1.0 → 2.2.0

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: 64a6d28368a126d0db126154df753827ee3d79bc678dd570164da442cde462eb
4
- data.tar.gz: 556a96419582f0f3a8d5a2ffb1679181bcb2d36ac917278b02cd50385eed3f9a
3
+ metadata.gz: 8f44c7b8261cd7c59a45102a8fe11a1cbb2202eaed96effff33ced0a4bf50fb8
4
+ data.tar.gz: 437ad6925e13b168a2980fb883574bd68b6cc14c722d8dfcb44fd39b46a42fcc
5
5
  SHA512:
6
- metadata.gz: d0b032a03165acc0fdae449d501d849925254a54c8bd88c27160672f0ca1aad189cf927c2ed10617b74d961e873a57019ddbaf8c47119d71b0830c455514b482
7
- data.tar.gz: f111513bafd58c972ca246fdb07f6236b898058202542f6baf10d5dce54d26c15cc3acecd4e4dc9504ec7fabb52f586be56fe74b2f25dc63350c14c4346f16bb
6
+ metadata.gz: 4e88c0ae54973b4dbed104edf17936193cfb763ee322ab9afb4bf1596fa7df0d6f7f437e129870f8795ad8855e33b513d432f28185fe071072b287b73a0061db
7
+ data.tar.gz: 45c9438e591086e856d216eeb696e28f7daf7af6fae56dae259610a651cb78c6fefc7d9826f5e00c57da3950a0db20c7067f6e4ac6e1eb88bcad94f49c79188e
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2017-2024, Huub de Beer <huub@heerdebeer.org>
4
+ # Copyright 2017-2025, Huub de Beer <huub@heerdebeer.org>
5
5
  #
6
6
  # This file is part of pandocomatic.
7
7
  #
@@ -24,6 +24,8 @@ module Pandocomatic
24
24
  require_relative 'error/cli_error'
25
25
  require_relative 'configuration'
26
26
 
27
+ # rubocop:disable Metrics
28
+
27
29
  ##
28
30
  # Command line options parser for pandocomatic using optimist.
29
31
  #
@@ -49,8 +51,6 @@ module Pandocomatic
49
51
  end
50
52
  end
51
53
 
52
- # rubocop:disable Metrics
53
-
54
54
  # Parse pandocomatic's global options.
55
55
  #
56
56
  # @return [Configuration]
@@ -70,6 +70,7 @@ module Pandocomatic
70
70
  opt :data_dir, 'Data dir', short: '-d', type: String
71
71
  opt :config, 'Configuration file', short: '-c', type: String
72
72
  opt :root_path, 'Root path', short: '-r', type: String
73
+ opt :template, 'Template to use for conversion', short: '-t', type: String, multi: true
73
74
 
74
75
  # What to convert and where to put it
75
76
  opt :output, 'Output', short: '-o', type: String
@@ -106,7 +107,7 @@ module Pandocomatic
106
107
 
107
108
  # if no input option is specified, all items following the last option
108
109
  # are treated as input files.
109
- if !(options[:input_given])
110
+ if !options[:input_given]
110
111
  Pandocomatic::LOG.debug '✓ Option \'--input\' not used: ' \
111
112
  'treat all arguments after last option as input files or directories.'
112
113
  options[:input] = args
@@ -143,12 +144,30 @@ module Pandocomatic
143
144
  Pandocomatic::LOG.debug '✓ Input files and directories exist.'
144
145
 
145
146
  # You cannot use the --stdout option while converting directories
146
- if options[:stdout_given] && File.directory?(input.first)
147
+ if convert_directory?(input) && options[:stdout_given]
147
148
  options[:stdout] = false
148
149
  raise CLIError, :cannot_use_stdout_with_directory
149
150
  end
150
151
  Pandocomatic::LOG.debug '✓ Write output to STDOUT.' if options[:stdout_given]
151
152
 
153
+ # You cannot use the --template option while converting directories
154
+ if convert_directory?(input) && options[:template_given]
155
+ options[:template] = nil
156
+ raise CLIError, :cannot_use_template_with_directory
157
+ end
158
+
159
+ # Postponing checking for existence of template until configuration
160
+ # hierarchy has been loaded.
161
+ if options[:template_given]
162
+ templates = options[:template]
163
+ duplicates = templates.select { |t| templates.count(t) > 1 }
164
+
165
+ options[:template] = templates.uniq
166
+
167
+ Pandocomatic::LOG.debug "✓ Use templates '#{options[:template]}' for conversion."
168
+ Pandocomatic::LOG.warn " ! Ignoring duplicate templates: #{duplicates}." unless duplicates.empty?
169
+ end
170
+
152
171
  if options[:output_given]
153
172
  # You cannot use --stdout with --output
154
173
  if options[:stdout_given]
@@ -224,7 +243,7 @@ module Pandocomatic
224
243
  # rubocop:enable Metrics
225
244
 
226
245
  private_class_method def self.options_need_to_be_validated?(options)
227
- !(options[:version_given]) and !(options[:help_given])
246
+ !options[:version_given] and !options[:help_given]
228
247
  end
229
248
 
230
249
  #--
@@ -267,5 +286,9 @@ module Pandocomatic
267
286
  raise CLIError.new(:output_is_not_a_file, nil, input) if File.file? input
268
287
  raise CLIError.new(:output_is_not_a_directory, nil, input) if File.directory? input
269
288
  end
289
+
290
+ private_class_method def self.convert_directory?(input)
291
+ File.directory? input.first
292
+ end
270
293
  end
271
294
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2017-2024, Huub de Beer <Huub@heerdebeer.org>
4
+ # Copyright 2017-2025, Huub de Beer <Huub@heerdebeer.org>
5
5
  #
6
6
  # This file is part of pandocomatic.
7
7
  #
@@ -127,10 +127,11 @@ module Pandocomatic
127
127
  str
128
128
  end
129
129
 
130
- private
131
-
130
+ # Name of the anonymous inner template.
132
131
  INTERNAL_TEMPLATE = 'internal template'
133
132
 
133
+ private
134
+
134
135
  def convert_file
135
136
  pandoc_options = @metadata.pandoc_options || {}
136
137
  template = nil
@@ -164,11 +165,16 @@ module Pandocomatic
164
165
  '"--enable pandoc-verbose".'
165
166
  end
166
167
 
167
- template.merge! Template.new(INTERNAL_TEMPLATE, @metadata.pandocomatic) if @metadata.pandocomatic?
168
+ template_log = Pandocomatic::LOG.indent(YAML.dump(template.to_h).sub('---', ''), 34)
168
169
 
169
- Pandocomatic::LOG.debug ' # Selected template mixed with internal template and pandocomatic metadata ' \
170
- "gives final template:#{Pandocomatic::LOG.indent(YAML.dump(template.to_h).sub('---', ''),
171
- 34)}"
170
+ if @metadata.pandocomatic?
171
+ template.merge! Template.new(INTERNAL_TEMPLATE, @metadata.pandocomatic)
172
+
173
+ Pandocomatic::LOG.debug ' # Selected template mixed with internal template and pandocomatic metadata ' \
174
+ "gives final template:#{template_log}"
175
+ else
176
+ Pandocomatic::LOG.debug " # Selected template:#{template_log}"
177
+ end
172
178
 
173
179
  # Write out the results of the conversion process to file.
174
180
  @dst = @metadata.pandoc_options['output'] if @dst.to_s.empty? && @metadata.pandoc_options.key?('output')
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2017—2024 Huub de Beer <Huub@heerdebeer.org>
4
+ # Copyright 2017—2025 Huub de Beer <Huub@heerdebeer.org>
5
5
  #
6
6
  # This file is part of pandocomatic.
7
7
  #
@@ -49,31 +49,40 @@ module Pandocomatic
49
49
  @config = config
50
50
  @src = src
51
51
 
52
- metadata = @config.get_metadata @src
53
-
54
52
  subcommands = []
55
53
 
56
- if metadata&.template?
57
- # There are templates in this document's metadata, try to use
58
- # those.
59
- metadata.templates.each do |template_name|
60
- unless template_name.empty? || config.template?(template_name)
61
- raise ConfigurationError.new(:no_such_template, nil,
62
- template_name)
63
- end
54
+ if @config.use_templates?
55
+ # Command-line specified template overrides all internal templates
56
+ Pandocomatic::LOG.info 'Ignoring any internal pandocomatic configuration from input\'s YAML blocks'
64
57
 
65
- subcommands.push ConvertFileCommand.new(@config, @src, dst, template_name)
58
+ @config.selected_templates.each do |template|
59
+ subcommands.push ConvertFileCommand.new(@config, @src, dst, template)
66
60
  end
67
61
  else
68
- # Try to match any global templates using the glob patterns
69
- global_templates = @config.determine_templates(@src)
62
+ metadata = @config.get_metadata @src
63
+
64
+ if metadata&.template?
65
+ # There are templates in this document's metadata, try to use
66
+ # those.
67
+ metadata.templates.each do |template_name|
68
+ unless template_name.empty? || config.template?(template_name)
69
+ raise ConfigurationError.new(:no_such_template, nil,
70
+ template_name)
71
+ end
70
72
 
71
- if global_templates.empty?
72
- subcommands.push ConvertFileCommand.new(@config, @src, dst)
73
- else
74
- global_templates.each do |template_name|
75
73
  subcommands.push ConvertFileCommand.new(@config, @src, dst, template_name)
76
74
  end
75
+ else
76
+ # Try to match any global templates using the glob patterns
77
+ global_templates = @config.determine_templates(@src)
78
+
79
+ if global_templates.empty?
80
+ subcommands.push ConvertFileCommand.new(@config, @src, dst)
81
+ else
82
+ global_templates.each do |template_name|
83
+ subcommands.push ConvertFileCommand.new(@config, @src, dst, template_name)
84
+ end
85
+ end
77
86
  end
78
87
  end
79
88
 
@@ -101,7 +110,7 @@ module Pandocomatic
101
110
 
102
111
  description = CommandPrinter.new(self)
103
112
  Pandocomatic::LOG.info description
104
- description.print unless quiet? || (@subcommands.size == 1)
113
+
105
114
  run if !dry_run? && runnable?
106
115
 
107
116
  @subcommands.each(&:execute)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # rubocop:disable Metrics
4
4
  #--
5
- # Copyright 2014—2024 Huub de Beer <Huub@heerdebeer.org>
5
+ # Copyright 2014—2025 Huub de Beer <Huub@heerdebeer.org>
6
6
  #
7
7
  # This file is part of pandocomatic.
8
8
  #
@@ -109,6 +109,7 @@ module Pandocomatic
109
109
  'tei' => 'tei',
110
110
  'texinfo' => 'texi',
111
111
  'textile' => 'textile',
112
+ 'typst' => 'typ',
112
113
  'xwiki' => 'xwiki',
113
114
  'zimwiki' => 'zimwiki'
114
115
  }.freeze
@@ -197,6 +198,15 @@ module Pandocomatic
197
198
 
198
199
  load_configuration_hierarchy options, data_dirs
199
200
 
201
+ # Check if template selected via CLI option exists
202
+ if use_templates?
203
+ non_existing_templates = selected_templates.reject { |t| template? t }
204
+
205
+ unless non_existing_templates.empty?
206
+ raise ConfigurationError.new(:templates_do_not_exist, nil, non_existing_templates)
207
+ end
208
+ end
209
+
200
210
  @input = if input.nil? || input.empty?
201
211
  nil
202
212
  elsif input.size > 1
@@ -377,6 +387,24 @@ module Pandocomatic
377
387
  !@options.nil? and @options[:output_given] and @options[:output]
378
388
  end
379
389
 
390
+ # Is the template CLI option given?
391
+ #
392
+ # @return [Boolean]
393
+ def use_templates?
394
+ !@options.nil? and @options[:template_given] and @options[:template] and !@options[:template].empty?
395
+ end
396
+
397
+ # Get the selected templates
398
+ #
399
+ # @return [String[]]
400
+ def selected_templates
401
+ if use_templates?
402
+ @options[:template]
403
+ else
404
+ []
405
+ end
406
+ end
407
+
380
408
  # Get the output file name
381
409
  #
382
410
  # @return [String]
@@ -439,8 +467,8 @@ module Pandocomatic
439
467
  # @param template_name [String] template used; optional parameter
440
468
  # @return [PandocMetadata] Pandoc's metadata for given file and template.
441
469
  def get_metadata(src, template_name = nil)
442
- if extract_metadata_from? src
443
- PandocMetadata.load_file src
470
+ if extract_metadata_from?(src)
471
+ PandocMetadata.load_file src, ignore_pandocomatic: use_templates?
444
472
  else
445
473
  src_format = nil
446
474
 
@@ -460,9 +488,9 @@ module Pandocomatic
460
488
 
461
489
  if !src_format || src_format == 'markdown'
462
490
  # Behave like pandoc: If no source format can be determined, assume markdown
463
- PandocMetadata.load_file src
491
+ PandocMetadata.load_file src, ignore_pandocomatic: use_templates?
464
492
  else
465
- PandocMetadata.empty src_format
493
+ PandocMetadata.empty src_format, ignore_pandocomatic: use_templates?
466
494
  end
467
495
  end
468
496
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2017, Huub de Beer <Huub@heerdebeer.org>
5
- #
4
+ # Copyright 2017-2025, Huub de Beer <Huub@heerdebeer.org>
6
5
  # This file is part of pandocomatic.
7
6
  #
8
7
  # Pandocomatic is free software: you can redistribute it and/or modify
@@ -40,6 +39,7 @@ module Pandocomatic
40
39
  # :output_it_not_writable,
41
40
 
42
41
  # :cannot_use_stdout_with_directory
42
+ # :cannot_use_template_with_directory
43
43
  # :cannot_use_both_output_and_stdout
44
44
 
45
45
  # :unknown_option,
@@ -38,5 +38,6 @@ module Pandocomatic
38
38
  # :unable_to_load_config_file
39
39
 
40
40
  # :no_such_template
41
+ # :templates_do_not_exist
41
42
  end
42
43
  end
@@ -49,10 +49,14 @@ module Pandocomatic
49
49
  # Create an empty metadata object with only the source format set.
50
50
  #
51
51
  # @param src_format [String] the source format
52
+ # @param ignore_pandocomatic [Boolean] when true, ignore pandocomatic
53
+ # configuration in YAML metadata blocks
52
54
  # @return [PandocMetadata[ empty metadata with only pandoc's source format
53
55
  # set.
54
- def self.empty(src_format)
55
- PandocMetadata.new({ 'pandocomatic_' => { 'pandoc' => { 'from' => src_format } } })
56
+ def self.empty(src_format, ignore_pandocomatic: false)
57
+ metadata = PandocMetadata.new
58
+ metadata['pandocomatic_'] = { 'pandoc' => { 'from' => src_format } } unless ignore_pandocomatic
59
+ metadata
56
60
  end
57
61
 
58
62
  # Collect the metadata embedded in the src file and create a new
@@ -61,8 +65,8 @@ module Pandocomatic
61
65
  # @param src [String] the path to the file to load metadata from
62
66
  # @return [PandocMetadata] the metadata in the source file, or an empty
63
67
  # one if no such metadata is contained in the source file.
64
- def self.load_file(src)
65
- self.load File.read(src), src
68
+ def self.load_file(src, ignore_pandocomatic: false)
69
+ self.load File.read(src), path: src, ignore_pandocomatic:
66
70
  end
67
71
 
68
72
  # Collect the metadata embedded in the src file and create a new
@@ -70,18 +74,27 @@ module Pandocomatic
70
74
  #
71
75
  # @param input [String] the string to load the metadata from
72
76
  # @param path [String|Nil] the path to the source of the input, if any
77
+ # @param ignore_pandocomatic [Boolean] when true, ignore pandocomatic
78
+ # configuration in YAML metadata blocks
73
79
  # @return [PandocMetadata] the metadata in the source file, or an empty
74
80
  # one if no such metadata is contained in the source file.
75
81
  #
76
82
  # @raise [PandocomaticError] when the pandoc metadata cannot be
77
83
  # extracted.
78
- def self.load(input, path = nil)
84
+ def self.load(input, path: nil, ignore_pandocomatic: false)
79
85
  yaml, pandocomatic_blocks = extract_metadata(input, path)
80
86
 
81
87
  if yaml.empty?
82
88
  PandocMetadata.new
83
89
  else
84
- PandocMetadata.new PandocomaticYAML.load(yaml, path), unique: pandocomatic_blocks <= 1
90
+ metadata = PandocMetadata.new PandocomaticYAML.load(yaml, path), unique: pandocomatic_blocks <= 1
91
+
92
+ if ignore_pandocomatic
93
+ metadata.delete('pandocomatic')
94
+ metadata.delete('pandocomatic_')
95
+ end
96
+
97
+ metadata
85
98
  end
86
99
  end
87
100
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2014—2024, Huub de Beer <huub@heerdebeer.org>
4
+ # Copyright 2014—2025, Huub de Beer <huub@heerdebeer.org>
5
5
  #
6
6
  # This file is part of pandocomatic.
7
7
  #
@@ -216,11 +216,10 @@ module Pandocomatic
216
216
  ErrorPrinter.new(e).print
217
217
  exit ERROR_STATUS + 1
218
218
  rescue StandardError => e
219
- warn e
220
- warn e.backtrace
221
219
  # An unexpected error has occurred; break off the program drastically
222
220
  # for now. This is likely a bug: ask the user to report it.
223
221
  UnknownErrorPrinter.new(e).print
222
+ LOG.error e.backtrace.join("\n")
224
223
  exit ERROR_STATUS + 2
225
224
  ensure
226
225
  configuration&.clean_up!
@@ -14,6 +14,8 @@ See `pandocomatic --help` which options are allowed.
14
14
  <%=@error.error.message%>.
15
15
  <% when :cannot_use_stdout_with_directory %>
16
16
  Using `--stdout/-s` with an input directory is not allowed.
17
+ <% when :cannot_use_template_with_directory %>
18
+ Using `--template/-t` with an input directory is not allowed.
17
19
  <% when :cannot_use_both_output_and_stdout %>
18
20
  Using both `--output/-o` and `--stdout/-s` is not allowed.
19
21
  Use eiter a specific output file or directory, or standard out, not both.
@@ -97,6 +97,19 @@ OPTIONS
97
97
  respectively. In a file, the property 'use-template' tells
98
98
  pandocomatic which template to use.
99
99
 
100
+ -t TEMPLATE, --template TEMPLATE
101
+ Use given TEMPLATE for conversion. TEMPLATE should be
102
+ defined in pandocomatic's configuration hierarchy. TEMPLATE
103
+ will override any internal template. More so pandocomatic
104
+ configuration in YAML block will be ignored.
105
+
106
+ Only allowed when converting files; option not allowed when
107
+ converting directories.
108
+
109
+ You can use this option multiple times. For each given
110
+ TEMPLATE a separate conversion is run. Duplicate TEMPLATEs
111
+ are ignored.
112
+
100
113
  -m, --modified-only
101
114
 
102
115
  Only convert files that have been modified. Only source files
@@ -179,7 +192,7 @@ AUTHOR
179
192
 
180
193
  LICENSE
181
194
 
182
- Copyright 2014—2024 Huub de Beer <huub@heerdebeer.org>
195
+ Copyright 2014—2025 Huub de Beer <huub@heerdebeer.org>
183
196
 
184
197
  Pandocomatic is free software: you can redistribute it and/or modify
185
198
  it under the terms of the GNU General Public License as published by the
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright 2023—2024 Huub de Beer <Huub@heerdebeer.org>
4
+ # Copyright 2023—2025 Huub de Beer <Huub@heerdebeer.org>
5
5
  #
6
6
  # This file is part of pandocomatic.
7
7
  #
@@ -20,5 +20,5 @@
20
20
  #++
21
21
  module Pandocomatic
22
22
  # Pandocomatic's current version.
23
- VERSION = [2, 1, 0].freeze
23
+ VERSION = [2, 2, 0].freeze
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pandocomatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Huub de Beer
@@ -13,36 +13,36 @@ dependencies:
13
13
  name: logger
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - ">="
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0'
18
+ version: '1.7'
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: '0'
25
+ version: '1.7'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: optimist
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '3.1'
32
+ version: '3.2'
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '3.1'
35
+ version: '3.2'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '3.1'
42
+ version: '3.2'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: '3.1'
45
+ version: '3.2'
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: paru
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  version: '1.1'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.4.1
55
+ version: 1.5.2
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
@@ -62,91 +62,7 @@ dependencies:
62
62
  version: '1.1'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 1.4.1
66
- - !ruby/object:Gem::Dependency
67
- name: minitest
68
- requirement: !ruby/object:Gem::Requirement
69
- requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: 5.25.1
73
- type: :development
74
- prerelease: false
75
- version_requirements: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: 5.25.1
80
- - !ruby/object:Gem::Dependency
81
- name: minitest-reporters
82
- requirement: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - "~>"
85
- - !ruby/object:Gem::Version
86
- version: 1.7.1
87
- type: :development
88
- prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - "~>"
92
- - !ruby/object:Gem::Version
93
- version: 1.7.1
94
- - !ruby/object:Gem::Dependency
95
- name: rake
96
- requirement: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - "~>"
99
- - !ruby/object:Gem::Version
100
- version: 13.2.1
101
- type: :development
102
- prerelease: false
103
- version_requirements: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: 13.2.1
108
- - !ruby/object:Gem::Dependency
109
- name: rubocop
110
- requirement: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - "~>"
113
- - !ruby/object:Gem::Version
114
- version: 1.66.1
115
- type: :development
116
- prerelease: false
117
- version_requirements: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: 1.66.1
122
- - !ruby/object:Gem::Dependency
123
- name: yard
124
- requirement: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - "~>"
127
- - !ruby/object:Gem::Version
128
- version: 0.9.37
129
- type: :development
130
- prerelease: false
131
- version_requirements: !ruby/object:Gem::Requirement
132
- requirements:
133
- - - "~>"
134
- - !ruby/object:Gem::Version
135
- version: 0.9.37
136
- - !ruby/object:Gem::Dependency
137
- name: rdoc
138
- requirement: !ruby/object:Gem::Requirement
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: '0'
143
- type: :development
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: '0'
65
+ version: 1.5.2
150
66
  description: Pandocomatic is a tool to automate using pandoc. With pandocomatic you
151
67
  can express common patterns of using pandoc for generating your documents. Applied
152
68
  to a directory, pandocomatic can act as a static site generator.
@@ -216,7 +132,7 @@ files:
216
132
  - lib/pandocomatic/warning.rb
217
133
  homepage: https://heerdebeer.org/Software/markdown/pandocomatic/
218
134
  licenses:
219
- - GPL-3.0
135
+ - GPL-3.0-or-later
220
136
  metadata:
221
137
  rubygems_mfa_required: 'true'
222
138
  rdoc_options: []
@@ -234,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
150
  version: '0'
235
151
  requirements:
236
152
  - pandoc, a universal document converter
237
- rubygems_version: 3.6.7
153
+ rubygems_version: 3.6.9
238
154
  specification_version: 4
239
155
  summary: Automate the use of pandoc
240
156
  test_files: []