mindmapdoc 0.3.5 → 0.4.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: 99270b61e55e7b9cdc1452446dde4e60d9581d7fd5b26a40d52d0651774083f0
4
- data.tar.gz: b2218676832f367e68ddeea4edf43760df11a2c937103153098b94d0f2e05619
3
+ metadata.gz: 4f6a39a2e3c276a3d8beb313c1e321335c3185fabfcefdb8e037f4cc45480b89
4
+ data.tar.gz: 06e60ea0d795937983910ece47c91aa9ef5c221f0c5f56c68ea4d0a827d7edd1
5
5
  SHA512:
6
- metadata.gz: f6f272e73ba58e45492dbdf0102a7734d7505ee7b67abb1ebda0484c53828c438aa6326308e30f53ac26691b097656b68c52888ab9d53f7179b29495c1cb8df1
7
- data.tar.gz: d63d0b3ae8de760cd91874e78c059d3cfcc780eb13b537e047b6857c8abdc2ddc9f39704447ec9146ed61060765258939f6f77ac29554af62f5a6ae95e1d6cb3
6
+ metadata.gz: 926ba9b9e4d40ea5d27cc604c77483fa409ee3c303ae0fd866cfd6657f9720ba54e0ff1877acd6b67c0fd17d04d574cd9a9185296c05eecf7349527b143701d6
7
+ data.tar.gz: 63d2f1c47f6965c11f7113754c13905dc0c95f44f12e8c26aa80a88c47a4378e27d995928d6f4f64853713fc70d247b23cc26d92cfd63af7d61b58ca9347e891
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/mindmapdoc.rb CHANGED
@@ -6,12 +6,12 @@
6
6
  require 'c32'
7
7
  require 'kramdown'
8
8
  require 'mindmapviz'
9
-
9
+ require 'rxfreadwrite'
10
10
 
11
11
 
12
12
  class MindmapDoc
13
13
  using ColouredText
14
- include RXFHelperModule
14
+ include RXFReadWriteModule
15
15
 
16
16
  attr_accessor :root
17
17
 
@@ -35,7 +35,7 @@ class MindmapDoc
35
35
  end
36
36
 
37
37
  puts ('@tree: ' + @tree.inspect).debug if @debug
38
- @svg = build_svg(@tree)
38
+ @svg = build_svg(to_tree(rooted: true))
39
39
 
40
40
  end
41
41
 
@@ -117,6 +117,8 @@ class MindmapDoc
117
117
  @html
118
118
  end
119
119
 
120
+ # used for finding and parsing mindmapdoc blocks within a Markdown document
121
+ #
120
122
  def to_mindmapdoc(s)
121
123
 
122
124
  s2 = s.split(/(?=^--?mm-+)/).map do |raw_s|
@@ -167,8 +169,8 @@ class MindmapDoc
167
169
 
168
170
  def to_tree(rooted: false)
169
171
 
170
- if rooted then
171
- @tree
172
+ if rooted then
173
+ @root.chomp + "\n" + @tree
172
174
  else
173
175
 
174
176
  lines = @tree.lines
@@ -235,12 +237,14 @@ overflow-y: auto; height: 70vh; "
235
237
  .gsub(/\b'\b/,"{::nomarkdown}'{:/}")).to_html
236
238
 
237
239
  lines = md.scan(/#[^\n]+\n/)\
238
- .map {|x| (' ' * (x.scan(/#/).length - 1)) + x[/(?<=# ).*/]}
239
- #@root = lines.first if lines.first
240
- @root = if lines.first[/^[^#\s]/] then
241
- lines.shift.chomp
242
- elsif @root.nil?
243
- 'root'
240
+ .map {|x| (' ' * (x.scan(/#/).length - 1)) + x[/(?<=# ).*/].lstrip}
241
+
242
+ if @root.nil? then
243
+ @root = if lines.first[/^[^#\s]/] then
244
+ lines.shift.chomp
245
+ else
246
+ 'root'
247
+ end
244
248
  end
245
249
 
246
250
  puts ('lines: ' + lines.inspect).debug if @debug
@@ -255,16 +259,23 @@ overflow-y: auto; height: 70vh; "
255
259
  puts ('inside parse_tree').info if @debug
256
260
 
257
261
  lines = s.gsub(/\r/,'').strip.lines
262
+
263
+ if @root.nil? and s[/^\w[^\n]+\n\n/] then
264
+ @root = lines.shift
265
+ lines.shift
266
+ end
267
+
268
+
269
+ if @root.nil? and lines.grep(/^\w/).length == 1 then
270
+ @root = lines.shift
271
+ lines.map! {|x| x[2..-1]}
272
+ end
273
+
258
274
  puts ('lines: ' + lines.inspect) if @debug
259
275
 
260
- @root = if lines.first[/^[^#\s]/] then
261
- lines.shift.chomp
262
- elsif @root.nil?
263
- 'root'
264
- end
265
276
  puts ('@root:' + @root.inspect).debug if @debug
266
277
 
267
- asrc = [@root + "\n"] + lines.map {|x| ' ' + x}
278
+ asrc = lines.map {|x| ' ' + x}
268
279
 
269
280
  a2 = asrc.inject([]) do |r,x|
270
281
 
@@ -275,6 +286,8 @@ overflow-y: auto; height: 70vh; "
275
286
  end
276
287
 
277
288
  end
289
+
290
+ a2.unshift('# ' + @root + "\n") if @root
278
291
 
279
292
  a = @txtdoc.split(/.*(?=\n#)/).map(&:strip)
280
293
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mindmapdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.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
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgxMjE3MjMzMTMzWhcN
15
- MTkxMjE3MjMzMTMzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDJHewT
17
- ZtMhl5C2zGIo9uN+c45XR/VrtflBlzUWWe1JX7NF+AbwHwr6k6S1RVNVW4CJpa52
18
- VP59c5DKQDcuWMHqLC0gS2T5aZeZZ8b6CKG5FkvqKjuQZvObqIR9AtI8rikXqtzm
19
- 1mbdBRc5cj+8dqAP6vT4NK/UE6c3j9zCQBQZB/UxzdFX+HjoCItt9cmSOrUxKYf2
20
- cnBNVI6CMKh1/iCsDmFoWsGM810keRQ5PXsfxjJ+dqbmxD+8+MmO+YkW73fTtkEY
21
- kb46VqWVVgPbDLJ55RrN0W88paALuaxXmRCkHZcj9D2Qy2OChqLexNYLv+7oo5O5
22
- pPag3OL67xNpXdI5OONwUyEiZ52WiBGgrtkO6G9gWRAmtBjb4GHAWuMCiut2LKPs
23
- IxIDvU1VEBzh6mV+LzRnfvIrhwWbrvHIso30QXwJtYMreeQ1RQ9qh/FEd78dzAjV
24
- d+sLmK0/WwqfdojgqRmbimFTqsSQgUhqeOO0MBJ+Dtd2MugUMRCSjJnUqfsCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU8HM17H0I
26
- IFOOcsMtTet6kP0zr18wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMzAxMTAwNzMxWhcN
15
+ MjMwMzAxMTAwNzMxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC20Le2
17
+ p/2o6PoGT/tgVIp7EiB8xXsR/pFsYRFLCV1KJuojAwz4uEb/G2ZDkWTpga+m/Ff+
18
+ 7XRbIb+W7q6xeLtEbtj0D5KBP1FI5GJVOh4h3zH17wwmECr1ZnjkbEoEeAQDOIqC
19
+ 5BYh+FHY3XuVP2gtbXfFG0as1HXmB1gGqR6WXZ8NiHSdBRwZZ9/IwJJYNZIbEaVI
20
+ MJY69E1DUhweQsaNYOBzly7JJjpDzY2X/6iZjX0dq72Oh2FN1XQWThT85uhz1QLw
21
+ swWlsySdNNGze7jQIBZXlt87mys09W5Q4JotoVzJFRejSaMTe8C13CADnHt+pvz2
22
+ HtbCrHUeduyQwftETtRdJXRJImE6H+p0YCkWJfhDnRDuFaseVuZcYQ1sSlRDn9YX
23
+ 3QGa7Q263UunVtQR4BAKLD0ryH4lQ20FQ+790tZB+gTJEiEFGSjJc6R4OHDjHcTp
24
+ r+nWQ8N92QyUT3ZXv66Y8nCYnnbE+8Ot+KNwfesl5rg9PC3QKkkPJqIMzUECAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUXkbiaoXQ
26
+ HbLQMQ50VGHPiur+UzwwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAFVHnp0IYbwcCwWk4Zk8ONrX/UgBQ7pI3cJ2WeWEs
29
- qc0beQVoOJCiwoA7X+oauh0R2uF5MZzb5ayn8/a1dUH639OzNdEgFHZVijQnOMUV
30
- C+LO5bk1RprTfhLJMBrzCa21ePxMimaDWePKW6mIeVKVqMz0a6kXwvPbYBsjKo4/
31
- 0zLQKAftyShLAscxFeYCa4E2nVVuOBCCVUqyh044jgLbCukK+R7e0ArCRkaP079d
32
- jCoFZkJmQOpiy14Cj8BBjTTLcJG7txoAhHri/TdL0JPnwnydFzFv6FURd3WfxUJp
33
- DKhKfoyZdDoT3VZ8s/mS46jv07EGgoa8dJQoiVj/DUkZwFn5MBb/4ldfAPtluEZw
34
- MEezEoWSosUFc/Frq1USJOIt9NF/fg03X1sgUedqNsmDfHxuGzqxtmRPpdFfpZnN
35
- B6lHIpiAVH9Sx621FqXBHf0fkcUSiXCWW1BpBLGqPsRAcA19KUIPOOn9D011To8+
36
- kf4RzXeKdszyRSi+lsn0EdIK
28
+ BgkqhkiG9w0BAQsFAAOCAYEAP7gR6NRBUOclpfWgIWCy11VzMoGLjdbKgUuzrLMX
29
+ dAgECeLmrWOqgreV7jNhVEAwuw9u0hf4AsknZ3zLMiG0pKJ4Ljqlh/rTFkG1XNG+
30
+ zkPL8ybikwohea+8dg3ZTi8C9CZyvOMIni4CMOK3qZ8gEWTvVGNz8dYlAO8FN10d
31
+ /DNb1baZ9hRj9i/E5W3UzaBIaWXsd2fqotIUphLlm/iVHFBzMzBlvmaZy0V9S8xf
32
+ qXML841kOBNOAkpG35s1KoCyY6F1jrnrot/sagyDJH4vpgGME/piHOKVyyVAQtU4
33
+ OiYZBTqDmR4ozlOJv4Uw21Nd1x+eF6OUSXlqXZTH8VsKPHdu+HosGubPbMGLsIm9
34
+ L4YaUgJXuxfCm58Yc+0OA+8VYFEo6+NxL1Iq7uef7DuwWTCC0OYA51Pc17m26JVz
35
+ cZljkW+MlyM8Jl6ReyapxlhkD9UIsbgdo/HXMKjwdTvVSdZwOkBzWLRLg7iNjgyq
36
+ n5DVIF7fsC7lR1JPwIT6dnyR
37
37
  -----END CERTIFICATE-----
38
- date: 2019-06-16 00:00:00.000000000 Z
38
+ date: 2022-03-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: c32
@@ -61,22 +61,22 @@ dependencies:
61
61
  name: kramdown
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 2.1.0
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
66
  version: '2.1'
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 2.1.0
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 2.1.0
77
74
  - - "~>"
78
75
  - !ruby/object:Gem::Version
79
76
  version: '2.1'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 2.1.0
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: mindmapviz
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ dependencies:
98
98
  - !ruby/object:Gem::Version
99
99
  version: 0.2.3
100
100
  description:
101
- email: james@jamesrobertson.eu
101
+ email: digital.robertson@gmail.com
102
102
  executables: []
103
103
  extensions: []
104
104
  extra_rdoc_files: []
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  requirements: []
126
- rubygems_version: 3.0.1
126
+ rubygems_version: 3.2.22
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: Transforms a markdown document into a mindmap or a mindmap into a markdown
metadata.gz.sig CHANGED
Binary file