wiki_md 0.7.8 → 0.8.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/wiki_md.rb +52 -4
- data.tar.gz.sig +0 -0
- metadata +27 -27
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 148a00fe5a9fcef0a37edbcd2bc78ede1069dfce519deaa69768ee2c35afd011
|
4
|
+
data.tar.gz: ab50dee21bfeb59cdc5f0405c920510dea75d985cac63a45d4677db70f6a619b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea1a9af18ed278b4c3e963428c00a637a96058b80672b749a5b6f91a2c9694acc96a50b4802bd37d3c798793ac25e9da1fea724909bad0d731c062dca7e73e9f
|
7
|
+
data.tar.gz: 7fe0eeb327e020b8bfa5a26b06fefe724c7ff2c1f2d5791a4ae9d411d15ab6727566baa1da3ee7cbadc52ba1f795c18eb490ef04ab291bf5f726121963b5b104
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/wiki_md.rb
CHANGED
@@ -6,6 +6,9 @@ require 'dxsectionx'
|
|
6
6
|
require 'dynarex-tags'
|
7
7
|
|
8
8
|
|
9
|
+
class WikiMdReadError < Exception
|
10
|
+
end
|
11
|
+
|
9
12
|
class WikiMd
|
10
13
|
include RXFHelperModule
|
11
14
|
using ColouredText
|
@@ -99,6 +102,9 @@ class WikiMd
|
|
99
102
|
elsif type == :file or type == :dfs
|
100
103
|
|
101
104
|
@filename = wiki
|
105
|
+
|
106
|
+
valid, msg = validate s
|
107
|
+
raise WikiMdReadError, msg unless valid
|
102
108
|
|
103
109
|
puts ('s: ' + s.inspect).debug if @debug
|
104
110
|
@dxsx = DxSectionX.new s, debug: debug, autosave: true,
|
@@ -331,7 +337,13 @@ EOF
|
|
331
337
|
@dxsx.save filename.sub(/\.md$/, '.xml')
|
332
338
|
@dx = new_index(File.join(@filepath, 'index.xml')) unless @dx
|
333
339
|
|
334
|
-
end
|
340
|
+
end
|
341
|
+
|
342
|
+
def sort!()
|
343
|
+
@dxsx.dx.sort_by! do |rec|
|
344
|
+
rec.element('x').value.lines.first.chomp[/(?<=^# ).*/]
|
345
|
+
end
|
346
|
+
end
|
335
347
|
|
336
348
|
def title()
|
337
349
|
@dxsx.dx.title()
|
@@ -344,12 +356,35 @@ EOF
|
|
344
356
|
def to_aztoc(base_url: '')
|
345
357
|
Yatoc.new(self.entries.map(&:to_s).join).to_aztoc.gsub(/(?<=href=')([^']+)/, base_url + '\1')
|
346
358
|
end
|
359
|
+
|
360
|
+
# generates an accordion menu in XML format. It can be rendered to
|
361
|
+
# HTML using the Martile gem
|
362
|
+
#
|
363
|
+
def to_accordion()
|
364
|
+
|
365
|
+
doc = Rexle.new('<accordion/>')
|
366
|
+
|
367
|
+
sort!()
|
368
|
+
|
369
|
+
entries.each do |x|
|
370
|
+
|
371
|
+
e = Rexle::Element.new('panel')
|
372
|
+
e.add_attribute(title: x.heading)
|
373
|
+
|
374
|
+
body = "<body>%s</body>" % Martile.new(x.body).to_html
|
375
|
+
Rexle.new(body).root.elements.each {|element| e.add element }
|
376
|
+
|
377
|
+
doc.root.add e
|
378
|
+
|
379
|
+
end
|
380
|
+
|
381
|
+
doc.root.xml pretty: true
|
382
|
+
|
383
|
+
end
|
347
384
|
|
348
385
|
def to_sections()
|
349
386
|
|
350
|
-
|
351
|
-
rec.element('x').value.lines.first.chomp[/(?<=^# ).*/]
|
352
|
-
end
|
387
|
+
sort!()
|
353
388
|
|
354
389
|
@dxsx.to_doc.root.xpath('records/section')\
|
355
390
|
.map {|x| x.xml(pretty: true)}.join("\n")
|
@@ -485,4 +520,17 @@ EOF
|
|
485
520
|
dx
|
486
521
|
|
487
522
|
end
|
523
|
+
|
524
|
+
def validate(s)
|
525
|
+
|
526
|
+
a = s[/(?<=--#\n).*/m].split(/(?=\n# )/)
|
527
|
+
valid = a.all? {|x| x.lines.last[0] == '+'}
|
528
|
+
return true if valid
|
529
|
+
|
530
|
+
r = a.detect {|x| x.lines.last[0] != '+'}
|
531
|
+
|
532
|
+
heading = r[/(?<=# ).*/]
|
533
|
+
|
534
|
+
[false, 'Tagline missing from heading # ' + heading]
|
535
|
+
end
|
488
536
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wiki_md
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -11,31 +11,31 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
/
|
25
|
-
|
26
|
-
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwMTIxMjMxNTI0WhcN
|
15
|
+
MjEwMTIwMjMxNTI0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC4Ru7o
|
17
|
+
KHnj/uJU7F5Xbp5yPX2YgOohtrEf06+HIdWoYWo0+ThvAuh07+HrmGytjrzxP8wv
|
18
|
+
kA9m8tp7Gw92k1aPL60Jwbq1Dpjb68xVh1c4cnTPd5oip6MyVwPQnvSzwNpVZBHj
|
19
|
+
fPYHtEnzzSyGLQbhX0nB4ZqguSQBIpo+2n1DdG59ub2j4kJreghEsZfUKgdiSsEh
|
20
|
+
Kfk7+ZMq3wd0biOV8yO8pBNthqKcj4VKY1Zi63Dt0jqHImOXXAIuOTxoUpMeZGbL
|
21
|
+
N87LZRQu8/Wrj9M6OQu8rS1qV1+tSzPhdovBK/Z+nFuDvtr6WbyDst/RHr0y42mu
|
22
|
+
XzSexab8CwuLhfi7WvEnoYoOxBVDlS85OaFIEBbLHb/DqXEluzpGwWOKJ3Y06uF0
|
23
|
+
I/ucQCOPOV3lmgyLPfYsf8lB/qxJ+ovHFaxhsoK4wbofWPEknv2bYQ4XzBxSdgIZ
|
24
|
+
tjsyN0nwfgftpj9VUj9T9To5nvEHLYYk00zYxJaGn4+vDk90/aTk69abDeUCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUIe+GCuMp
|
26
|
+
s6MGlmJRJw9yMMVqzAQwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
27
|
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAkJSE2shCsfjnUSnopr7iNTU9V8uuw3MZtOmRFS2K
|
29
|
+
ca2afbjPRPZjDSElwU9UfTQd6tJRaXNoaBcmrokxzg+qkbi8YinMg+ULuNb5K+Wq
|
30
|
+
TovMj1i7h1ORBTVcu7vWnuycXWCj4jNo0HrquxwvEBcSOwcLP3evJ+EZlJ+YEaxI
|
31
|
+
qRiNtkk4g29oPBUtNh/bEmuysSe+eh7Rv+hAN6jeor3Eoc/rgKCiJvNPbP/NTIY0
|
32
|
+
So08bfqBUrPqn/wzT8W6KLfAlCzlT7Pfj5Qq5O7wSmPZSYD66Ossm0wC5Uhg/fi4
|
33
|
+
Rxh5s0z+KhRLZ/Nk9rOtjMtflV1OHvabvyamw0p6a8cNmb1N1pV/RHULjPEyHJc9
|
34
|
+
3f6jP2IUfB7et2sBm/gB9ZnoZubDoHvy0Sws8qTfQ116vgW9vr2hH4XGB0s9uWiA
|
35
|
+
N5hZmnA6M2h3NysLCPRtwS2vMJh8qq6OS5RjU9cc5V08vyIkQ7/YC/x+7kLm5Kn0
|
36
|
+
kvoWXxa8gpUBS+qMlSYFDHlq
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2020-01-21 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: dxsectionx
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
version: '0.3'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.3.
|
49
|
+
version: 0.3.2
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -56,7 +56,7 @@ dependencies:
|
|
56
56
|
version: '0.3'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.3.
|
59
|
+
version: 0.3.2
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: dynarex-tags
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
rubygems_version: 3.0.
|
106
|
+
rubygems_version: 3.0.3
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: 'Designed for maintaining many wiki entries within a single document in Markdown
|
metadata.gz.sig
CHANGED
Binary file
|