pbsimply 3.4.2 → 3.5.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 +4 -4
- data/bin/pbsimply +9 -3
- data/lib/pbsimply/docengine/pandoc.rb +0 -1
- data/lib/pbsimply/document.rb +112 -0
- data/lib/pbsimply/frontmatter.rb +2 -0
- data/lib/pbsimply/hooks.rb +1 -7
- data/lib/pbsimply/prayer.rb +2 -2
- data/lib/pbsimply.rb +82 -87
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1e6667388a878546c3fb8b5c5880661c66012a3ad65f4ce834fba8da89d470dc
|
|
4
|
+
data.tar.gz: 14b13fbe88d551bffb92d5a2c61f8e6a1378a437baa2a805a170e152314f37c5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d650ffb297c0bd3ce21e05fc0edbb8d67f01c24af295b4a2ca387ccfacecefd81649469e7ddd1600958ed0943ba2f4bf46839fb6fbd0ed0c5d7e4c8efeede449
|
|
7
|
+
data.tar.gz: 5d35227c8476719684bc8c0abf04bf49ba4c34cbf065b487230750aeea5a1d0582b187299603ccdaf93d0047017b8a9b276bd6d8a49fa04c17ad577d173da1db
|
data/bin/pbsimply
CHANGED
|
@@ -25,6 +25,12 @@ end
|
|
|
25
25
|
# Alias for compatibility.
|
|
26
26
|
PureBuilder = pbs_class
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
pbs.
|
|
30
|
-
pbs.
|
|
28
|
+
begin
|
|
29
|
+
pbs = pbs_class.new(config)
|
|
30
|
+
pbs.treat_cmdline
|
|
31
|
+
|
|
32
|
+
pbs.main
|
|
33
|
+
rescue PBSimply::CommandLineError => e
|
|
34
|
+
$stderr.puts e.to_s
|
|
35
|
+
exit 1
|
|
36
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
require 'pbsimply/frontmatter'
|
|
2
|
+
|
|
3
|
+
class PBSimply
|
|
4
|
+
class Document
|
|
5
|
+
include Frontmatter
|
|
6
|
+
|
|
7
|
+
def initialize(pbs, filename)
|
|
8
|
+
@config = pbs.config
|
|
9
|
+
@dir = pbs.dir
|
|
10
|
+
@filename = filename
|
|
11
|
+
@ext = File.extname filename
|
|
12
|
+
@orig_filepath = File.join(pbs.dir, filename)
|
|
13
|
+
@now = pbs.now
|
|
14
|
+
@accs_processing = pbs.accs_processing
|
|
15
|
+
@outfile = pbs.outfile
|
|
16
|
+
frontmatter, @pos = read_frontmatter(pbs.dir, filename)
|
|
17
|
+
@frontmatter = pbs.frontmatter.merge frontmatter
|
|
18
|
+
@modified = true
|
|
19
|
+
@proc_doc_path = nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
attr_reader :frontmatter, :filename, :pos, :ext, :proc_doc_path, :orig_filepath
|
|
23
|
+
attr_accessor :orig_frontmatter, :now
|
|
24
|
+
|
|
25
|
+
def add_meta(additional_meta)
|
|
26
|
+
frontmatter.merge!(additional_meta)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def read_document(workdir: "")
|
|
30
|
+
File.open(File.join(@dir, @filename)) do |f|
|
|
31
|
+
f.seek(@pos)
|
|
32
|
+
doc_content = f.read
|
|
33
|
+
if @config["unicode_normalize"] && !@frontmatter["skip_normalize"]
|
|
34
|
+
doc_content.unicode_normalize!(@config["unicode_normalize"].to_sym)
|
|
35
|
+
end
|
|
36
|
+
File.open(File.join(workdir, "current_document#{@ext}"), "w") do |fo|
|
|
37
|
+
fo.write doc_content
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
@proc_doc_path = File.join(workdir, "current_document#{@ext}")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def draft?
|
|
45
|
+
frontmatter["draft"]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def to_a
|
|
49
|
+
[@dir, @filename, @frontmatter]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Check is the article modified? (or force update?)
|
|
53
|
+
def modified?
|
|
54
|
+
index = @orig_frontmatter ||= {}
|
|
55
|
+
|
|
56
|
+
case @config["detect_modification"]
|
|
57
|
+
when "changes"
|
|
58
|
+
# Use "changes"
|
|
59
|
+
@modified = false if @frontmatter["changes"] == index["changes"]
|
|
60
|
+
when "mtimesize"
|
|
61
|
+
# Use mtime and file size.
|
|
62
|
+
@modified = false if @frontmatter["_mtime"] <= (index["_last_proced"] || 0) && @frontmatter["_size"] == index["_size"]
|
|
63
|
+
else
|
|
64
|
+
# Default method, use mtime.
|
|
65
|
+
@modified = false if @frontmatter["_mtime"] <= (index["_last_proced"] || 0)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
if @modified
|
|
69
|
+
$stderr.puts "#{@filename} last modified at #{@frontmatter["_mtime"]}, last processed at #{index["_last_proced"] || 0}"
|
|
70
|
+
else
|
|
71
|
+
$stderr.puts "#{@filename} is not modified."
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
set_timestamp
|
|
75
|
+
|
|
76
|
+
if @frontmatter["skip_update"]
|
|
77
|
+
# Document specific skip update
|
|
78
|
+
@modified = false
|
|
79
|
+
elsif index["_modified"]
|
|
80
|
+
@modified = true
|
|
81
|
+
else
|
|
82
|
+
@modified
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def mark_meta_modified
|
|
87
|
+
# Frontmatter used as a reference for metadata update detection.
|
|
88
|
+
# Keys that are always updated during processing should be removed.
|
|
89
|
+
ex_keys = ["_last_proced", "last_update"] + (@config["compr_ex_keys"] || [])
|
|
90
|
+
@orig_frontmatter ||= {}
|
|
91
|
+
compr_frontmatter = @orig_frontmatter.except(*ex_keys) # Hash#except from Ruby 2.0
|
|
92
|
+
|
|
93
|
+
if compr_frontmatter == frontmatter
|
|
94
|
+
@modified = false
|
|
95
|
+
else
|
|
96
|
+
@frontmatter["_modified"] = true
|
|
97
|
+
@frontmatter.merge!(@orig_frontmatter.slice(*ex_keys))
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def effective_forntmatter
|
|
102
|
+
@modified ? @frontmatter : @orig_frontmatter
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
private
|
|
106
|
+
|
|
107
|
+
def set_timestamp
|
|
108
|
+
@frontmatter["_last_proced"] = @now.to_i
|
|
109
|
+
@frontmatter["last_update"] = @now.strftime("%Y-%m-%d %H:%M:%S")
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
data/lib/pbsimply/frontmatter.rb
CHANGED
data/lib/pbsimply/hooks.rb
CHANGED
data/lib/pbsimply/prayer.rb
CHANGED
|
@@ -78,13 +78,13 @@ module PBSimply::Prayer
|
|
|
78
78
|
begin
|
|
79
79
|
@article_order = @indexes.to_a.sort_by {|i| i[1]["date"]}
|
|
80
80
|
rescue
|
|
81
|
-
abort "*** Automatic Blessing Method Error: Maybe some article
|
|
81
|
+
abort "*** Automatic Blessing Method Error: Maybe some article has no date."
|
|
82
82
|
end
|
|
83
83
|
when "timestamp"
|
|
84
84
|
begin
|
|
85
85
|
@article_order = @indexes.to_a.sort_by {|i| i[1]["timestamp"]}
|
|
86
86
|
rescue
|
|
87
|
-
abort "*** Automatic Blessing Method Error: Maybe some article
|
|
87
|
+
abort "*** Automatic Blessing Method Error: Maybe some article has no timetsamp."
|
|
88
88
|
end
|
|
89
89
|
when "lexical"
|
|
90
90
|
@article_order = @indexes.to_a.sort_by {|i| i[1]["_filename"]}
|
data/lib/pbsimply.rb
CHANGED
|
@@ -16,16 +16,19 @@ require 'pbsimply/docengine/base'
|
|
|
16
16
|
require 'pbsimply/prayer'
|
|
17
17
|
require 'pbsimply/plugger'
|
|
18
18
|
require 'pbsimply/hooks'
|
|
19
|
-
require 'pbsimply/frontmatter'
|
|
20
19
|
require 'pbsimply/accs'
|
|
21
20
|
require 'pbsimply/config-checker.rb'
|
|
21
|
+
require 'pbsimply/document'
|
|
22
22
|
|
|
23
23
|
class PBSimply
|
|
24
24
|
include Prayer
|
|
25
25
|
include Plugger
|
|
26
|
-
include Frontmatter
|
|
27
26
|
include ACCS
|
|
28
27
|
|
|
28
|
+
# Custom exception
|
|
29
|
+
class CommandLineError < StandardError
|
|
30
|
+
end
|
|
31
|
+
|
|
29
32
|
# Use Oj as JSON library for frontmatter passing if possible.
|
|
30
33
|
begin
|
|
31
34
|
require 'oj'
|
|
@@ -119,16 +122,22 @@ class PBSimply
|
|
|
119
122
|
|
|
120
123
|
@refresh = false # Force generate all documents.
|
|
121
124
|
@skip_index = false # Don't register to index.
|
|
125
|
+
@preflight = false # Don't generate output document.
|
|
122
126
|
@outfile = nil # Fixed output filename
|
|
123
127
|
@add_meta = nil
|
|
124
128
|
@accs = nil
|
|
125
129
|
@accs_index = {}
|
|
126
130
|
@now = Time.now
|
|
127
131
|
@hooks = PBSimply::Hooks.new(self, @config)
|
|
132
|
+
@dir = nil
|
|
133
|
+
@frontmatter = {}
|
|
134
|
+
@accs_processing = false
|
|
128
135
|
|
|
129
136
|
@debug = (ENV["DEBUG"] == "yes")
|
|
130
137
|
end
|
|
131
138
|
|
|
139
|
+
attr_reader :config, :dir, :frontmatter, :now, :accs_processing, :outfile
|
|
140
|
+
|
|
132
141
|
# Process command-line
|
|
133
142
|
def treat_cmdline(dir=nil)
|
|
134
143
|
# Options definition.
|
|
@@ -137,8 +146,10 @@ class PBSimply
|
|
|
137
146
|
opts.on("-X", "--ignore-ext") { @ignore_ext = true }
|
|
138
147
|
opts.on("-I", "--skip-index") { @skip_index = true }
|
|
139
148
|
opts.on("-A", "--skip-accs") { @skip_accs = true }
|
|
149
|
+
opts.on("-p", "--preflight") { @preflight = true }
|
|
140
150
|
opts.on("-o FILE", "--output") {|v| @outfile = v }
|
|
141
151
|
opts.on("-m FILE", "--additional-metafile") {|v| @add_meta = Psych.unsafe_load(File.read(v))}
|
|
152
|
+
opts.on("-a", "--only-accs") { @accs_only = true }
|
|
142
153
|
opts.parse!(ARGV)
|
|
143
154
|
|
|
144
155
|
if File.exist?(".pbsimply-bless.rb")
|
|
@@ -171,7 +182,7 @@ class PBSimply
|
|
|
171
182
|
@docobject
|
|
172
183
|
end
|
|
173
184
|
|
|
174
|
-
|
|
185
|
+
attr_reader :indexes
|
|
175
186
|
|
|
176
187
|
###############################################
|
|
177
188
|
# PROCESSING FUNCTIONS #
|
|
@@ -182,7 +193,7 @@ class PBSimply
|
|
|
182
193
|
def proc_dir
|
|
183
194
|
draft_articles = []
|
|
184
195
|
target_docs = []
|
|
185
|
-
|
|
196
|
+
effective_docs = []
|
|
186
197
|
$stderr.puts "in #{@dir}..."
|
|
187
198
|
|
|
188
199
|
$stderr.puts "Checking Frontmatter..."
|
|
@@ -202,11 +213,9 @@ class PBSimply
|
|
|
202
213
|
end
|
|
203
214
|
|
|
204
215
|
$stderr.puts "Checking frontmatter in #{filename}"
|
|
205
|
-
|
|
206
|
-
frontmatter = @frontmatter.merge frontmatter
|
|
207
|
-
frontmatter.merge!(@add_meta) if @add_meta
|
|
216
|
+
doc = Document.new(self, filename)
|
|
208
217
|
|
|
209
|
-
if
|
|
218
|
+
if doc.draft?
|
|
210
219
|
draft_articles.push({
|
|
211
220
|
article_filename: filename,
|
|
212
221
|
filename: filename,
|
|
@@ -215,32 +224,26 @@ class PBSimply
|
|
|
215
224
|
next
|
|
216
225
|
end
|
|
217
226
|
|
|
218
|
-
|
|
219
|
-
@indexes[filename] = frontmatter
|
|
227
|
+
doc.orig_frontmatter = @indexes[filename]
|
|
228
|
+
@indexes[filename] = doc.frontmatter
|
|
220
229
|
|
|
221
230
|
# Push to target documents without checking modification.
|
|
222
|
-
target_docs.push(
|
|
231
|
+
target_docs.push(doc)
|
|
232
|
+
|
|
233
|
+
# Push to all effective documents.
|
|
234
|
+
effective_docs.push(doc)
|
|
223
235
|
end
|
|
224
236
|
ENV.delete("pbsimply_currentdoc")
|
|
225
237
|
ENV.delete("pbsimply_filename")
|
|
226
238
|
|
|
227
239
|
delete_turn_draft draft_articles
|
|
228
240
|
|
|
229
|
-
|
|
230
|
-
processed_docs = proc_docs target_docs.dup
|
|
241
|
+
proc_docs target_docs
|
|
231
242
|
|
|
232
243
|
delete_missing
|
|
233
244
|
|
|
234
|
-
# Restore skipped doc's frontmatter
|
|
235
|
-
orig_filelist = Set.new(target_docs.map {|i| i[0]})
|
|
236
|
-
proc_filelist = Set.new(processed_docs.map {|i| i[0]})
|
|
237
|
-
recov_filelist = orig_filelist - proc_filelist
|
|
238
|
-
recov_filelist.each do |filename|
|
|
239
|
-
@indexes[filename] = @indexes_orig[filename]
|
|
240
|
-
end
|
|
241
|
-
|
|
242
245
|
# Save index.
|
|
243
|
-
|
|
246
|
+
save_index(effective_docs) unless @skip_index
|
|
244
247
|
|
|
245
248
|
# ACCS processing
|
|
246
249
|
if @accs && !target_docs.empty?
|
|
@@ -250,37 +253,41 @@ class PBSimply
|
|
|
250
253
|
|
|
251
254
|
def proc_docs target_docs
|
|
252
255
|
# Exclude unchanged documents.
|
|
253
|
-
|
|
256
|
+
unless @singlemode
|
|
254
257
|
$stderr.puts "Checking modification..."
|
|
255
|
-
|
|
258
|
+
if !@preflight
|
|
259
|
+
target_docs.delete_if do |doc|
|
|
260
|
+
next false if @refresh # Force refresh mode
|
|
261
|
+
!doc.modified?
|
|
262
|
+
end
|
|
263
|
+
# target_docs.delete_if {|filename, frontmatter, pos| !check_modify(filename, frontmatter)}
|
|
264
|
+
end
|
|
256
265
|
end
|
|
257
266
|
|
|
258
267
|
# Modify frontmatter `BLESSING'
|
|
259
|
-
target_docs.each do |
|
|
260
|
-
$stderr.puts "Blessing #{filename}..."
|
|
261
|
-
bless frontmatter
|
|
268
|
+
target_docs.each do |doc|
|
|
269
|
+
$stderr.puts "Blessing #{doc.filename}..."
|
|
270
|
+
bless doc.frontmatter
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
if !@singlemode && @preflight
|
|
274
|
+
$stderr.puts "Checking metadata modification..."
|
|
275
|
+
target_docs.each {|doc| doc.mark_meta_modified }
|
|
276
|
+
return # Resign processing document in preflight mode.
|
|
262
277
|
end
|
|
263
278
|
|
|
264
279
|
# Ready.
|
|
265
280
|
$stderr.puts "Okay, Now ready. Process documents..."
|
|
266
281
|
|
|
267
282
|
# Proccess documents
|
|
268
|
-
target_docs.each do |
|
|
269
|
-
|
|
270
|
-
ENV["
|
|
271
|
-
|
|
272
|
-
@
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
if @config["unicode_normalize"] && !frontmatter["skip_normalize"]
|
|
277
|
-
doc_content.unicode_normalize!(@config["unicode_normalize"].to_sym)
|
|
278
|
-
end
|
|
279
|
-
File.open(File.join(@workdir, "current_document#{ext}"), "w") {|fo| fo.write doc_content }
|
|
280
|
-
end
|
|
281
|
-
|
|
282
|
-
$stderr.puts "Processing #{filename}"
|
|
283
|
-
generate(@dir, filename, frontmatter)
|
|
283
|
+
target_docs.each do |doc|
|
|
284
|
+
ENV["pbsimply_currentdoc"] = File.join(@workdir, "current_document#{doc.ext}")
|
|
285
|
+
ENV["pbsimply_filename"] = doc.filename
|
|
286
|
+
@index = doc.frontmatter
|
|
287
|
+
doc.read_document(workdir: @workdir)
|
|
288
|
+
|
|
289
|
+
$stderr.puts "Processing #{doc.filename}"
|
|
290
|
+
generate(doc)
|
|
284
291
|
end
|
|
285
292
|
|
|
286
293
|
# Call post plugins
|
|
@@ -337,11 +344,20 @@ class PBSimply
|
|
|
337
344
|
ENV["pbsimply_frontmatter"] = @workfile_frontmatter
|
|
338
345
|
@workfile_pandoc_defaultfiles ||= File.join(@workdir, "pbsimply-defaultfiles.yaml")
|
|
339
346
|
# If target file is regular file, run as single mode.
|
|
340
|
-
@singlemode =
|
|
347
|
+
@singlemode = File.file?(@dir)
|
|
348
|
+
|
|
349
|
+
if @accs_only && !@accs_processing
|
|
350
|
+
accs_only_mode_check
|
|
341
351
|
|
|
342
|
-
|
|
343
|
-
|
|
352
|
+
# Process ACCS without regular generating document
|
|
353
|
+
setup_config(@dir)
|
|
354
|
+
load_index
|
|
355
|
+
|
|
356
|
+
process_accs
|
|
357
|
+
elsif @singlemode # Check single file mode.
|
|
344
358
|
# Single file mode
|
|
359
|
+
return if @preflight
|
|
360
|
+
|
|
345
361
|
if @dir =~ %r:(.*)/([^/]+):
|
|
346
362
|
dir = $1
|
|
347
363
|
filename = $2
|
|
@@ -354,14 +370,13 @@ class PBSimply
|
|
|
354
370
|
|
|
355
371
|
load_index
|
|
356
372
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
@index = frontmatter
|
|
373
|
+
doc = Document.new(self, filename)
|
|
374
|
+
@index = doc.frontmatter
|
|
360
375
|
|
|
361
|
-
proc_docs([
|
|
376
|
+
proc_docs([doc])
|
|
362
377
|
|
|
363
378
|
if File.exist?(File.join(@dir, ".accs.yaml")) && !@accs_processing && !@skip_accs
|
|
364
|
-
single_accs filename, frontmatter
|
|
379
|
+
single_accs doc.filename, doc.frontmatter
|
|
365
380
|
end
|
|
366
381
|
else
|
|
367
382
|
# Normal (directory) mode.
|
|
@@ -379,13 +394,14 @@ class PBSimply
|
|
|
379
394
|
@workfile_pandoc_defaultfiles = nil
|
|
380
395
|
end
|
|
381
396
|
|
|
382
|
-
def generate(
|
|
397
|
+
def generate(doc)
|
|
398
|
+
dir, filename, frontmatter = *doc.to_a
|
|
383
399
|
print_fileproc_msg(filename) # at sub-class
|
|
384
400
|
|
|
385
401
|
# Preparing and pre script.
|
|
386
|
-
orig_filepath =
|
|
387
|
-
ext =
|
|
388
|
-
procdoc =
|
|
402
|
+
orig_filepath = doc.orig_filepath
|
|
403
|
+
ext = doc.ext
|
|
404
|
+
procdoc = doc.proc_doc_path
|
|
389
405
|
|
|
390
406
|
pre_plugins(procdoc, frontmatter)
|
|
391
407
|
@hooks.pre.run({procdoc: procdoc, frontmatter: frontmatter})
|
|
@@ -454,41 +470,20 @@ class PBSimply
|
|
|
454
470
|
end
|
|
455
471
|
end
|
|
456
472
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
index = @indexes_orig[filename]&.dup || {}
|
|
461
|
-
|
|
462
|
-
case @config["detect_modification"]
|
|
463
|
-
when "changes"
|
|
464
|
-
# Use "changes"
|
|
465
|
-
modify = false if frontmatter["changes"] == index["changes"]
|
|
466
|
-
when "mtimesize"
|
|
467
|
-
# Use mtime and file size.
|
|
468
|
-
modify = false if frontmatter["_mtime"] <= (index["_last_proced"] || 0) && frontmatter["_size"] == index["_size"]
|
|
469
|
-
else
|
|
470
|
-
# Default method, use mtime.
|
|
471
|
-
modify = false if frontmatter["_mtime"] <= (index["_last_proced"] || 0)
|
|
473
|
+
def accs_only_mode_check
|
|
474
|
+
unless File.exist?(File.join(@dir, ".accs.yaml"))
|
|
475
|
+
raise CommandLineError.new "ACCS-only processing mode can only be performed on the ACCS directory."
|
|
472
476
|
end
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
if modify
|
|
476
|
-
$stderr.puts "#{filename} last modified at #{frontmatter["_mtime"]}, last processed at #{@indexes_orig[filename]&.[]("_last_proced") || 0}"
|
|
477
|
-
else
|
|
478
|
-
$stderr.puts "#{filename} is not modified."
|
|
477
|
+
unless File.directory?(@dir)
|
|
478
|
+
raise CommandLineError.new "ACCS-only processing needs ACCS directory as an argument."
|
|
479
479
|
end
|
|
480
|
+
end
|
|
480
481
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
# Document specific skip update
|
|
486
|
-
false
|
|
487
|
-
elsif @refresh
|
|
488
|
-
# Refresh (force update) mode.
|
|
489
|
-
true
|
|
490
|
-
else
|
|
491
|
-
modify
|
|
482
|
+
def save_index(effective_docs)
|
|
483
|
+
new_indexes = {}
|
|
484
|
+
effective_docs.each do |doc|
|
|
485
|
+
new_indexes[doc.filename] = doc.effective_forntmatter
|
|
492
486
|
end
|
|
487
|
+
@db.dump(new_indexes)
|
|
493
488
|
end
|
|
494
489
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pbsimply
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Masaki Haruka
|
|
@@ -36,6 +36,7 @@ files:
|
|
|
36
36
|
- lib/pbsimply/docengine/misc.rb
|
|
37
37
|
- lib/pbsimply/docengine/pandoc.rb
|
|
38
38
|
- lib/pbsimply/docengine/rdoc.rb
|
|
39
|
+
- lib/pbsimply/document.rb
|
|
39
40
|
- lib/pbsimply/frontmatter.rb
|
|
40
41
|
- lib/pbsimply/hooks.rb
|
|
41
42
|
- lib/pbsimply/plugger.rb
|