pandocomatic 0.2.5.0.alpha → 0.2.5.0.betaa
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 +4 -4
- data/lib/pandocomatic/cli.rb +0 -1
- data/lib/pandocomatic/configuration.rb +12 -30
- data/lib/pandocomatic/multiple_files_input.rb +19 -3
- data/lib/pandocomatic/pandoc_metadata.rb +1 -1
- data/lib/pandocomatic/pandocomatic.rb +2 -2
- data/lib/pandocomatic/printer/finish_printer.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33cabeb7b49bddf1b107c44ebf448f07c1f8f33503d620c8d68eac2d23b216dd
|
4
|
+
data.tar.gz: 39f12455e1105aca31e552ec8d3fac810a4aa60a5041c11c84fb5088dde94dde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 677152a5dde3f7359a75b44a4c678673a45d64bc917770d9bccbe9d43d70ff8fd25cb18b1a567b2fb095d52c969ef264c91eb4c49a9cf188c342da01d9dd51d2
|
7
|
+
data.tar.gz: fccd7849c1cd7de73d3310b13785228bc91df4e89372c0f0bdc8aed52ed1355133032280d61f322217e76472cc39269d5555e5d1e8cb3a3ce16dbae7799f448b
|
data/lib/pandocomatic/cli.rb
CHANGED
@@ -75,7 +75,7 @@ module Pandocomatic
|
|
75
75
|
@input = if input.nil? or input.empty? then
|
76
76
|
nil
|
77
77
|
elsif 1 < input.size then
|
78
|
-
MultipleFilesInput.new(input)
|
78
|
+
MultipleFilesInput.new(input, self)
|
79
79
|
else
|
80
80
|
Input.new(input)
|
81
81
|
end
|
@@ -347,7 +347,6 @@ module Pandocomatic
|
|
347
347
|
@settings.has_key? 'match-files' and 'first' == @settings['match-files']
|
348
348
|
end
|
349
349
|
|
350
|
-
|
351
350
|
# Set the extension of the destination file given this Confguration,
|
352
351
|
# template, and metadata
|
353
352
|
#
|
@@ -386,22 +385,13 @@ module Pandocomatic
|
|
386
385
|
end
|
387
386
|
end
|
388
387
|
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
# Output option in pandoc property has precedence
|
393
|
-
if metadata.has_pandocomatic?
|
394
|
-
pandocomatic = metadata.pandocomatic
|
395
|
-
if pandocomatic.has_key? "pandoc"
|
396
|
-
pandoc = pandocomatic["pandoc"]
|
397
|
-
destination = determine_output_in_pandoc.call pandoc
|
398
|
-
rename_script = pandoc["rename"]
|
399
|
-
end
|
400
|
-
end
|
388
|
+
# Output options in pandoc property have precedence
|
389
|
+
destination = determine_output_in_pandoc.call metadata.pandoc_options
|
390
|
+
rename_script = metadata.pandoc_options["rename"]
|
401
391
|
|
402
392
|
# Output option in template's pandoc property is next
|
403
393
|
if destination.nil? and not template_name.nil? and not template_name.empty? then
|
404
|
-
if @templates[template_name].has_key? "pandoc"
|
394
|
+
if @templates[template_name].has_key? "pandoc" and not @templates[template_name]["pandoc"].nil?
|
405
395
|
pandoc = @templates[template_name]["pandoc"]
|
406
396
|
destination = determine_output_in_pandoc.call pandoc
|
407
397
|
rename_script ||= pandoc["rename"]
|
@@ -445,21 +435,14 @@ module Pandocomatic
|
|
445
435
|
end
|
446
436
|
|
447
437
|
if template_name.nil? or template_name.empty? then
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
if not ext.nil?
|
455
|
-
extension = ext
|
456
|
-
elsif pandoc.has_key? "to"
|
457
|
-
extension = strip_extensions.call(pandoc["to"])
|
458
|
-
end
|
459
|
-
end
|
460
|
-
end
|
438
|
+
ext = use_extension.call metadata.pandoc_options
|
439
|
+
if not ext.nil?
|
440
|
+
extension = ext
|
441
|
+
elsif metadata.pandoc_options.has_key? "to"
|
442
|
+
extension = strip_extensions.call(metadata.pandoc_options["to"])
|
443
|
+
end
|
461
444
|
else
|
462
|
-
if @templates[template_name].has_key? "pandoc"
|
445
|
+
if @templates[template_name].has_key? "pandoc" and not @templates[template_name]["pandoc"].nil?
|
463
446
|
pandoc = @templates[template_name]["pandoc"]
|
464
447
|
ext = use_extension.call pandoc
|
465
448
|
|
@@ -885,6 +868,5 @@ module Pandocomatic
|
|
885
868
|
|
886
869
|
path
|
887
870
|
end
|
888
|
-
|
889
871
|
end
|
890
872
|
end
|
@@ -28,8 +28,9 @@ module Pandocomatic
|
|
28
28
|
# is created as well containing the content of all the files in input.
|
29
29
|
#
|
30
30
|
# @param input [String[]] a list with input files
|
31
|
-
def initialize(input)
|
31
|
+
def initialize(input, config)
|
32
32
|
super(input)
|
33
|
+
@config = config
|
33
34
|
create_temp_file
|
34
35
|
end
|
35
36
|
|
@@ -69,10 +70,25 @@ module Pandocomatic
|
|
69
70
|
# Concatenate all input files into one (temporary) input file
|
70
71
|
# created in the same directory as the first input file
|
71
72
|
@tmp_file = Tempfile.new(@input_files.first, File.dirname(self.absolute_path))
|
72
|
-
|
73
|
+
|
74
|
+
# Read first file and its metadata
|
75
|
+
metadata = PandocMetadata.load_file @input_files.first
|
76
|
+
|
77
|
+
strip_metadata =
|
78
|
+
"markdown" == if metadata.pandoc_options.has_key? "from" then
|
79
|
+
metadata.pandoc_options["from"]
|
80
|
+
else
|
81
|
+
template = @config.determine_template @input_files.first
|
82
|
+
if not template.nil? and not template.dig("pandoc", "from").nil? then
|
83
|
+
template["pandoc"]["from"]
|
84
|
+
else
|
85
|
+
"unknown"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
73
89
|
@input_files.each_with_index do |filename, index|
|
74
90
|
input = File.read File.absolute_path(filename)
|
75
|
-
input = if 0
|
91
|
+
input = if 0 == index or not strip_metadata then input else PandocMetadata.remove_metadata(input) end
|
76
92
|
@tmp_file.write input
|
77
93
|
end
|
78
94
|
|
@@ -170,7 +170,7 @@ module Pandocomatic
|
|
170
170
|
# @return [Boolean] True if there is a pandoc options property in this
|
171
171
|
# PandocMetadata object. False otherwise.
|
172
172
|
def has_pandoc_options?()
|
173
|
-
has_pandocomatic? and pandocomatic.has_key? 'pandoc'
|
173
|
+
has_pandocomatic? and pandocomatic.has_key? 'pandoc' and not pandocomatic['pandoc'].nil?
|
174
174
|
end
|
175
175
|
|
176
176
|
end
|
@@ -47,8 +47,8 @@ module Pandocomatic
|
|
47
47
|
ERROR_STATUS = 1266 # This is the sum of the ascii values of the characters in 'pandocomatic'
|
48
48
|
|
49
49
|
# Pandocomatic's current version
|
50
|
-
VERSION = [0, 2, 5, 0, "
|
51
|
-
|
50
|
+
VERSION = [0, 2, 5, 0, "beta"]
|
51
|
+
|
52
52
|
# Run pandocomatic given options
|
53
53
|
#
|
54
54
|
# @param args [String[]] list of options to configure pandocomatic
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pandocomatic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.5.0.
|
4
|
+
version: 0.2.5.0.betaa
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Huub de Beer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paru
|
@@ -56,28 +56,28 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
59
|
+
version: '1.3'
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '1.3'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: yard
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.9.
|
73
|
+
version: 0.9.18
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.9.
|
80
|
+
version: 0.9.18
|
81
81
|
description: Pandocomatic is a tool to automate using pandoc (<http://pandoc.org>).
|
82
82
|
With pandocomatic you can express common patterns of using pandoc for generating
|
83
83
|
your documents. Applied to a directory, pandocomatic can act as a static site generator.
|