wikimindcards_directory 0.1.0 → 0.3.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: 73b1bedf5ee2d0744780b57e6d3df862defd6f55e5d6759684ca53fbab466822
4
- data.tar.gz: 2700b6ea63021cc86c34952ff87367fad7ba572446cd23641405d7780e506eaa
3
+ metadata.gz: f240190d279673c4ef684b7e903eba49f4a0c5c11749aef6226f7c8346d07377
4
+ data.tar.gz: c5052fc27516117b3001c2cae2644375d940dbb1343580372cdaa29596a8f0c1
5
5
  SHA512:
6
- metadata.gz: 828b05b985add568247f6c873f973b0a9974f9cb1b6a1763d03cc574994fe3f62845924df2fe828316cedd68a4223ea8122bcb01975621b884ab00d864b92691
7
- data.tar.gz: 7d7a3b3acc9964fae4f4009d541938cf8085d373392898db3c4bd06fe4d60744c732f22ce432cb656c6b651772eef842bcfadca8f6dd0ced2bb317ec93275e50
6
+ metadata.gz: 10e4d6a5381c70538be399441bf8b8c3ddf9a0cf303b6c3a5662ee0eef926e78ae76b6113612e35e4cf2bf4b90bd8c47ef488904c322dc8cbccf1c04f2447067
7
+ data.tar.gz: 760c130f5e3c460c72c4bfc501b23c44aef741cc1ab8442b947c13ebb744e2ce9cde09d10c1b6d651ae3478f24b9a8432d863192591a7cab3ca6467ce4831134
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,216 +9,536 @@ require 'mindwords'
9
9
  require 'polyrex-links'
10
10
  require 'jstreebuilder'
11
11
  require 'martile'
12
+ require 'onedrb'
13
+ require 'hashcache'
14
+ require 'dxlite'
15
+
16
+
17
+
18
+ KVX_XSL =<<EOF
19
+ <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
20
+ <xsl:output method="xml" omit-xml-declaration="yes" />
21
+
22
+ <xsl:template match='*'>
23
+
24
+ <xsl:apply-templates select='summary' />
25
+
26
+ <xsl:element name='div'>
27
+ <!--
28
+ <xsl:attribute name='created'>
29
+ <xsl:value-of select='@created'/>
30
+ </xsl:attribute>
31
+ <xsl:attribute name='last_modified'>
32
+ <xsl:value-of select='@last_modified'/>
33
+ </xsl:attribute>
34
+ -->
35
+ <xsl:apply-templates select='body' />
36
+
37
+ <a href="editcard?title={summary/title}">edit</a>
38
+
39
+ </xsl:element>
40
+
41
+ </xsl:template>
42
+
43
+ <xsl:template match='summary'>
44
+
45
+ <h1>
46
+ <xsl:value-of select='title' />
47
+ </h1>
48
+
49
+ </xsl:template>
50
+
51
+
52
+ <xsl:template match='body'>
53
+
54
+ <ul>
55
+
56
+ <li><label>info: </label> <xsl:copy-of select='desc' /></li>
57
+ <li><label>url: </label> <xsl:value-of select='url' /></li>
58
+ <xsl:element name='li'>
59
+ <xsl:attribute name='class'><xsl:value-of select='wiki/@class' /></xsl:attribute>
60
+ <label>wiki: </label> <xsl:copy-of select='wiki' />
61
+ </xsl:element>
62
+
63
+ </ul>
64
+
65
+ </xsl:template>
66
+
67
+ </xsl:stylesheet>
68
+ EOF
12
69
 
13
70
  class WikiMindCardsDirectory
14
-
15
- def initialize(dir: '.')
16
-
71
+ include RXFHelperModule
72
+
73
+ class MindWordsX < MindWords
74
+ include RXFHelperModule
75
+
76
+ def initialize(dir, s='')
77
+
78
+ @dir = dir
79
+ super(s)
80
+
81
+ end
82
+
83
+ def edit()
84
+
85
+ %Q(<form action="fileupdate" method="post">
86
+ <textarea name="treelinks" cols="73" rows="17">#{self.to_s}</textarea>
87
+ <input type="submit" value="apply"/>
88
+ </form>
89
+ )
90
+
91
+ end
92
+
93
+
94
+ def import(s='')
95
+
96
+ super(s)
97
+
98
+ FileX.mkdir_p File.join(@dir, 'data')
99
+ mindwords_file = File.join(@dir, 'data', 'mindwords.txt')
100
+ self.save mindwords_file
101
+
102
+ end
103
+
104
+ end
105
+
106
+ class PxLinks < PolyrexLinks
107
+ include RXFHelperModule
108
+
109
+ def initialize(dir, raws)
110
+
111
+ @dir = dir
112
+
113
+ if raws.lines.length > 1 then
114
+
115
+ s = if raws.lstrip.lines.first =~ /<\?polyrex/ then
116
+ raws
117
+ else
118
+ "<?polyrex-links?>\n\n" + raws
119
+ end
120
+
121
+ super(s)
122
+
123
+ outline_xml = File.join(@dir, 'data', 'outline.xml')
124
+ save outline_xml
125
+
126
+ elsif raws.length > 1
127
+
128
+ # it must be a filename
129
+
130
+ if FileX.exists? raws then
131
+ super(raws)
132
+ end
133
+
134
+ end
135
+
136
+ end
137
+
138
+ def linkedit(rawtitle)
139
+
140
+ r = find_by_link_title rawtitle
141
+ return 'title not found' unless r
142
+
143
+ "<form action='updatelink' type='post'>
144
+ <input type='hidden' name='title' value='#{r.title}'/>
145
+ <input type='input' name='url' value='#{r.url}'/>
146
+ <input type='submit' value='apply'/>
147
+ </form>
148
+ "
149
+
150
+ end
151
+
152
+ def linkupdate(rawtitle, rawurl)
153
+
154
+ r = find_by_link_title rawtitle
155
+ return unless r
156
+
157
+ r.url = rawurl
158
+
159
+ outline_xml = File.join(@dir, 'data', 'outline.xml')
160
+ save outline_xml
161
+
162
+ # ... also save it to the associated card (kvx document).
163
+
164
+ title = rawtitle.downcase.gsub(/ +/,'-')
165
+ file = title + '.txt'
166
+ filepath = File.join(@dir, file)
167
+
168
+ kvx = Kvx.new filepath
169
+ kvx.url = rawurl
170
+ kvx.save filepath
171
+
172
+ end
173
+
174
+ def indexview(base_url='')
175
+
176
+ a = index()
177
+
178
+ raw_links = a.map do |title, rawurl, path|
179
+
180
+ anchortag = if rawurl.empty? then
181
+ "<a href='%seditcard?title=%s' style='color: red'>%s</a>" % [base_url, title, title]
182
+ else
183
+ "<a href='%sviewcard?title=%s'>%s</a>" % [base_url, title, title]
184
+ end
185
+ [title, anchortag]
186
+
187
+ end
188
+
189
+ links = raw_links.to_h
190
+
191
+ a2 = a.map do |title, rawurl, rawpath|
192
+
193
+ path = rawpath[0..-2].reverse.map {|x| links[x]}.join('/')
194
+ "<tr><td>%s</td><td>%s</td></tr>" % [links[title], path]
195
+
196
+ end
197
+
198
+ "<table>#{a2.join("\n")}</table>"
199
+ end
200
+
201
+ def outlinefile_edit()
202
+
203
+ %Q(<form action="fileupdate" method="post">
204
+ <textarea name="treelinks" cols="73" rows="17">#{self.to_s}</textarea>
205
+ <input type="submit" value="apply"/>
206
+ </form>
207
+ )
208
+
209
+ end
210
+
211
+ def tree_edit()
212
+
213
+ links = PxLinks.new(@dir, self.to_s)
214
+ base_url = 'linkedit?title='
215
+ links.each_recursive { |x| x.url = base_url + x.title }
216
+ jtb = JsTreeBuilder.new({src: links, type: :plain, debug: false})
217
+
218
+ style = "
219
+ <style>
220
+ .newspaper1 {
221
+ columns: 100px 3;
222
+ }
223
+ ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
224
+ ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
225
+ </style>
226
+ "
227
+ html = "<div class='newspaper1'>#{jtb.to_html}</div>"
228
+ style + "\n" + html
229
+ end
230
+
231
+ def treeview()
232
+
233
+ jtb = JsTreeBuilder.new({src: self, type: :plain, debug: false})
234
+ jtb.links {|x| x.attributes[:target] = 'icontent'}
235
+ html = "<div class='newspaper2'>#{jtb.to_html}</div>"
236
+
237
+ style = "
238
+ <style>
239
+ .newspaper1 {
240
+ columns: 100px 3;
241
+ }
242
+ ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
243
+ ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
244
+ </style>
245
+ "
246
+
247
+ style + "\n" + html
248
+
249
+ end
250
+ end
251
+
252
+ class Card
253
+ end
254
+
255
+ # the directory being read should be the root directory of the
256
+ # project data store
257
+ #
258
+ def initialize(dir: '.', dxpath: nil, debug: false)
259
+
260
+ @dir = File.expand_path(dir)
261
+ @dxpath = dxpath
262
+ @debug = debug
263
+
264
+ # attempt to read the mindwords and outline (polyrex-links) files
265
+ #
266
+ read()
267
+
268
+ end
269
+
270
+ def edit(type=:mindwords, title=nil)
271
+
272
+ case type
273
+ when :link
274
+ @pl.linkedit(title)
275
+ when :mindwords
276
+ @mw.edit()
277
+ when :outline
278
+ @pl.outlinefile_edit()
279
+ when :tree
280
+ @pl.tree_edit()
281
+ when :card
282
+ cardedit(title)
283
+ end
284
+
285
+ end
286
+
287
+ def import_mindwords(s)
288
+
289
+ @mw = MindWordsX.new(@dir, s)
290
+ @pl = PxLinks.new(@dir, @mw.to_outline)
291
+
292
+ end
293
+
294
+ def read(path='')
295
+
296
+ data_dir = File.join(@dir, *path.split('/'), 'data')
297
+
17
298
  # open the file if it exists
18
- mindwords_file = File.join(dir, 'mindwords.txt')
19
-
20
- if File.exists? mindwords_file then
21
-
22
- @mw = MindWords.new(mindwords_file)
23
-
299
+ mindwords_file = File.join(data_dir, 'mindwords.txt')
300
+
301
+ if FileX.exists? mindwords_file then
302
+
303
+ @mw = MindWordsX.new(@dir, mindwords_file)
304
+
24
305
  # create the activeoutline document if it doesn't already exist
25
- outline_file = File.join(dir, 'outline.txt')
26
-
27
- if not File.exists? outline_file then
28
-
306
+ outline_txt = File.join(data_dir, 'outline.txt')
307
+ @outline_xml = File.join(data_dir, 'outline.xml')
308
+
309
+ if not FileX.exists? outline_txt then
310
+
29
311
  s = "<?polyrex-links?>\n\n" + @mw.to_outline
30
- File.write outline_file, s
31
-
312
+ FileX.write outline_txt, s
313
+
32
314
  end
33
-
34
- @pl = PolyrexLinks.new(outline_file)
35
-
315
+
316
+ @pl = PxLinks.new(@dir, outline_txt)
317
+
36
318
  end
37
-
319
+
320
+ self
321
+
38
322
  end
39
-
40
- def edit(type=:mindwords)
41
-
323
+
324
+ def update(type, title=nil, s)
325
+
42
326
  case type
43
- when :link
44
- linkedit()
45
327
  when :mindwords
46
- mindwords_edit()
47
- when :tree
48
- tree_edit()
49
- when :index
50
- indexview()
328
+ mindwords_update(s)
329
+ when :link
330
+ @pl.linkupdate(title, s)
51
331
  when :card
52
- cardedit()
332
+ cardupdate(title, s)
333
+ when :outline
334
+ @pl = PxLinks.new @dir, s
53
335
  end
54
-
55
- end
56
-
336
+
337
+ end
338
+
57
339
  # options: :mindwords, :tree, :link, :card
58
340
  #
59
- def update(type=:mindwords)
60
-
61
- end
62
-
63
- def view(type=:mindwords)
64
-
341
+ def view(type=:mindwords, title: nil, base_url: '')
342
+
343
+ puts 'inside view' if @debug
65
344
  case type
66
345
  when :mindwords
67
346
  @mw.to_s
68
347
  when :mindwords_tree
69
348
  @mw.to_outline
70
- when :tree
71
- treeview()
349
+ when :tree
350
+ @pl.treeview()
72
351
  when :index
73
- indexview()
352
+ @pl.indexview(base_url)
74
353
  when :card
75
- cardview()
354
+ cardview(title)
76
355
  end
77
-
356
+
78
357
  end
79
-
358
+
80
359
  private
81
-
360
+
82
361
  def cardedit(rawtitle)
83
-
362
+
84
363
  title = rawtitle.downcase.gsub(/ +/,'-')
85
364
 
86
365
  file = title + '.txt'
87
366
  filepath = File.join(@dir, file)
88
-
89
- kvx = if File.exists? filepath then
367
+
368
+ kvx = if FileX.exists? filepath then
90
369
  Kvx.new(filepath)
91
370
  else
92
- Kvx.new({summary: {title: params['title']}, body: {md: '', url: ''}}, \
371
+ Kvx.new({summary: {title: rawtitle}, body: {md: '', url: '',wiki: rawtitle.capitalize}}, \
93
372
  debug: false)
94
373
  end
95
-
374
+
96
375
  %Q(<form action="cardupdate" method="post">
97
- <input type='hidden' name='title' value="#{params['title']}"/>
376
+ <input type='hidden' name='title' value="#{rawtitle}"/>
98
377
  <textarea name="kvxtext" cols="73" rows="17">#{kvx.to_s}</textarea>
99
378
  <input type="submit" value="apply"/>
100
379
  </form>
101
380
  )
102
- end
103
-
104
- def cardview(rawtitle)
105
-
381
+ end
382
+
383
+ def cardupdate(rawtitle, rawkvxtext, url_base: '')
384
+
106
385
  title = rawtitle.downcase.gsub(/ +/,'-')
107
-
386
+ kvx = Kvx.new rawkvxtext.gsub(/\r/,'')
387
+
108
388
  file = title + '.txt'
109
389
  filepath = File.join(@dir, file)
110
-
111
- kvx = if File.exists? filepath then
390
+
391
+ kvx.save filepath
392
+
393
+ found = @pl.find_all_by_link_title rawtitle
394
+
395
+ found.each do |link|
396
+
397
+ url = if kvx.body[:url].length > 1 then
398
+ kvx.body[:url]
399
+ # else
400
+ # url_base + 'viewcard?title=' + rawtitle
401
+ end
402
+
403
+ link.url = url
404
+
405
+ end
406
+
407
+ @pl.save @outline_xml
408
+
409
+ end
410
+
411
+ def cardview(rawtitle)
412
+
413
+ puts 'rawtitle: ' + rawtitle.inspect if @debug
414
+ filetitle = rawtitle.downcase.gsub(/ +/,'-')
415
+
416
+ file = filetitle + '.txt'
417
+ filepath = File.join(@dir, file)
418
+ puts 'filepath: ' + filepath.inspect if @debug
419
+
420
+ kvx = if FileX.exists? filepath then
112
421
  Kvx.new(filepath)
113
422
  else
114
- Kvx.new({summary: {title: rawtitle}, body: {md: '', url: ''}}, \
423
+ Kvx.new({summary: {title: rawtitle}, body: {md: '', url: '', wiki: rawtitle.capitalize}}, \
115
424
  debug: false)
116
425
  end
117
-
118
- html = if kvx.body[:md].is_a? Hash then
119
- Kramdown::Document.new(Martile.new(kvx.body[:md][:description].to_s)\
120
- .to_html).to_html
426
+
427
+ puts 'kvx: ' + kvx.inspect if @debug
428
+
429
+ md = if kvx.body[:md].is_a? Hash then
430
+ kvx.body[:md][:description].to_s
121
431
  else
122
- ''
432
+ kvx.body[:md].to_s
123
433
  end
124
-
125
- %Q(<h1></h1>
126
- <ul>
127
- <li><label>info:</label> #{ html }</li>
128
- <li><label>url:</label> <a href="#{kvx.url}">#{kvx.url}</a></li>
129
- </ul>
130
- <a href="editcard?title=#{rawtitle}">edit</a>
131
- )
132
- end
133
-
134
- def linkedit(rawtitle)
135
-
136
- r = @pl.find_by_link_title rawtitle
137
-
138
- "<form action='updatelink' type='psot'>
139
- <input type='hidden' name='title' value='#{r.title}'/>
140
- <input type='input' name='url' value='#{r.url}'/>
141
- <input type='submit' value='apply'/>
142
- </form>
143
- "
144
-
145
- end
146
-
147
- def indexview()
148
-
149
- a = @pl.index
150
-
151
- raw_links = a.map do |title, rawurl, path|
152
-
153
- anchortag = if rawurl.empty? then
154
- "<a href='editcard?title=#{title}' style='color: red'>#{title}</a>"
434
+
435
+ puts 'after md: ' + md.inspect if @debug
436
+
437
+ html = Kramdown::Document.new(Martile.new(md).to_html).to_html
438
+
439
+ # This is the path to the mymedia-wiki directory ->
440
+ dx = DxLite.new @dxpath, debug: false
441
+
442
+ title = rawtitle[/^#{rawtitle}(?= +#)/i]
443
+
444
+ record = dx.all.find do |post|
445
+ post.title =~ /^#{rawtitle}(?= +#)/i
446
+ end
447
+
448
+ doc = kvx.to_doc
449
+
450
+ e = doc.root.element('body/wiki')
451
+
452
+ if e then
453
+
454
+ link = Rexle::Element.new('a').add_text(e.text)
455
+
456
+ if record then
457
+ link.attributes[:href] = '/do/wiki/view?file=' + File.basename(record.url)
155
458
  else
156
- "<a href='viewcard?title=#{title}'>#{title}</a>"
459
+ tags = @mw.hashtags(e.text)
460
+
461
+ href = '/do/wiki/create?title=' + URI::Parser.new.escape(e.text)
462
+ href += '&amp;amp;tags=' + e.text.to_s.split(/ +/).join(' ') + ' ' + tags.join(' ') if tags
463
+
464
+ link.attributes[:href] = href
465
+ e.attributes[:class] = 'newpage'
157
466
  end
158
- [title, anchortag]
159
-
160
- end
161
-
162
- links = raw_links.to_h
163
-
164
- a2 = a.map do |title, rawurl, rawpath|
165
-
166
- path = rawpath[0..-2].reverse.map {|x| links[x]}.join('/')
167
- "<tr><td>%s</td><td>%s</td></tr>" % [links[title], path]
168
-
169
- end
170
-
171
- "<table>#{a2.join("\n")}</table>"
172
- end
173
-
174
- def mindwords_edit()
175
-
176
- %Q(<form action="fileupdate" method="post">
177
- <textarea name="treelinks" cols="73" rows="17">#{@mw.to_s}</textarea>
178
- <input type="submit" value="apply"/>
179
- </form>
180
- )
181
-
182
- end
183
-
184
- def tree_edit()
185
-
186
- base_url = 'linkedit?title='
187
- @pl.each_recursive { |x| x.url = base_url + x.title }
188
- jtb = JsTreeBuilder.new({src: links, type: :plain, debug: true})
189
-
190
- style = "
191
- <style>
192
- .newspaper1 {
193
- columns: 100px 3;
194
- }
195
- ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
196
- ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
197
- </style>
198
- "
199
- html = "<div class='newspaper1'>#{jtb.to_html}</div>"
200
- style + "\n" + html
467
+
468
+ e.text = ''
469
+ e.add link
470
+ end
471
+
472
+
473
+ doc.root.element('body').add Rexle.new('<desc>' + html + '</desc>')
474
+
475
+ nokodoc = Nokogiri::XML(doc.xml)
476
+ #xslt = Nokogiri::XSLT(File.read(File.join(@dir, 'kvx.xsl')))
477
+ xslt = Nokogiri::XSLT(KVX_XSL)
478
+ style = '<style>li.newpage a {color: #e33;}</style>'
479
+ card = xslt.apply_to(nokodoc).to_s
480
+ style + "\n\n" + card
481
+
201
482
  end
202
-
203
- def treeview()
204
483
 
484
+ def mindwords_update(s)
205
485
 
206
- jtb = JsTreeBuilder.new({src: @pl, type: :plain, debug: false})
207
- html = "<div class='newspaper1'>#{jtb.to_html}</div>"
208
-
209
- style = "
210
- <style>
211
- .newspaper2 {
212
- columns: 100px 3;
213
- }
214
- ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
215
- ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
216
- </style>
217
- "
486
+ @mw = MindWordsX.new(@dir, s)
487
+
488
+ pl = @pl.migrate @mw.to_outline
489
+ pl.save @outline_xml
490
+ @pl = pl
218
491
 
219
- style + "\n" + html
220
-
221
492
  end
222
-
493
+
494
+
495
+ end
496
+
497
+
498
+ class MultiWmcd
499
+
500
+ def initialize(dir: '.', dxpath: nil)
501
+
502
+ @dir, @dxpath = dir, dxpath
503
+ @hc = HashCache.new
504
+ cache_read()
505
+
506
+ end
507
+
508
+ def read(path='')
509
+ cache_read(path)
510
+ end
511
+
512
+ private
513
+
514
+ def cache_read(path='')
515
+
516
+ @hc.read(path) do
517
+ wmcd = WikiMindCardsDirectory.new(dir: @dir, dxpath: @dxpath)
518
+ wmcd.read(path)
519
+ end
520
+
521
+ end
522
+
223
523
  end
224
524
 
525
+ module Wmcd
526
+
527
+ class Server < OneDrb::Server
528
+
529
+ def initialize(host: '127.0.0.1', port: '21200', dir: '.', dxpath: nil)
530
+
531
+ super(host: host, port: port, obj: MultiWmcd.new(dir: dir, dxpath: dxpath))
532
+
533
+ end
534
+
535
+ end
536
+
537
+ class Client < OneDrb::Client
538
+
539
+ def initialize(host: '127.0.0.1', port: '21200')
540
+ super(host: host, port: port)
541
+ end
542
+ end
543
+
544
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wikimindcards_directory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  Upf2OcIVt4H+NwuNavOk/frMZYypxNmaFbyXiFNTnoW9vZYwljDOSYEexFbnPRLU
36
36
  JTIQxz9x1yw+KeIiq001B1ON
37
37
  -----END CERTIFICATE-----
38
- date: 2021-06-07 00:00:00.000000000 Z
38
+ date: 2022-01-17 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: martile
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '0.6'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.6.3
69
+ version: 0.6.6
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0.6'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.6.3
79
+ version: 0.6.6
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: polyrex-links
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -97,6 +97,66 @@ dependencies:
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: 0.4.3
100
+ - !ruby/object:Gem::Dependency
101
+ name: onedrb
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 0.1.0
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.1'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 0.1.0
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '0.1'
120
+ - !ruby/object:Gem::Dependency
121
+ name: hashcache
122
+ requirement: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '0.2'
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 0.2.10
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '0.2'
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: 0.2.10
140
+ - !ruby/object:Gem::Dependency
141
+ name: dxlite
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '0.4'
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: 0.4.1
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: '0.4'
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 0.4.1
100
160
  description:
101
161
  email: digital.robertson@gmail.com
102
162
  executables: []
@@ -123,7 +183,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
183
  - !ruby/object:Gem::Version
124
184
  version: '0'
125
185
  requirements: []
126
- rubygems_version: 3.1.2
186
+ rubyforge_project:
187
+ rubygems_version: 2.7.10
127
188
  signing_key:
128
189
  specification_version: 4
129
190
  summary: An experimental MindWords driven wiki editor which uses “cards”.
metadata.gz.sig CHANGED
Binary file