wikimindcards_directory 0.2.0 → 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: 6b59cefe21bf6ae5b976d6a9dce62dc8f8e228d12e413841e2d3e7d9c911800e
4
- data.tar.gz: be2fb281be914839913c0aea34fd51b03a16e1a3b3a47b45cc8cae1747782869
3
+ metadata.gz: 4c73853e1988635ec5bd4d214541e3f32ab3c78cac54a48bbb4c89d306fe5483
4
+ data.tar.gz: d3421352cf733e13d3608b1d308dc9e3576e967e47fd1f9b1ac9989dc2a255f5
5
5
  SHA512:
6
- metadata.gz: 0e20c99c053b69102c913e823ef6d9119c536e8da87ceb481a0a5d98e67a69699cfafdd632cc75d3f1114e36f9aa19f6a39da44163ebc3e3a16d4d21dcf7a331
7
- data.tar.gz: ae308c26c3f23e117ce25fd71062fa217626c6bd6df6e818251feaa8ac49f6b4f464d2d02332acf8a685722c196e04c2228f9f2c90d6dc32f0a6890547f8782c
6
+ metadata.gz: 4c75ba1587542cae52f69342fe70c65e251dbcb9224b978f9d09487cd16dcbe84d0eaef7024ba0a8903dfb11f19d458ca3bcdb09bdafcb64a2979ad217a979dd
7
+ data.tar.gz: 6caa85c24c17fd462f530234ab94e6c498d34eab46612a7407c5c13742176bc28567b73fba544f4daf029241aa3a604e2021d1c07d4c93afb13b08f387472fd3
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,328 +9,526 @@ 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: '.', debug: false)
16
-
17
- @dir = File.expand_path(dir)
18
- @debug = debug
19
-
20
- # open the file if it exists
21
- mindwords_file = File.join(dir, 'mindwords.txt')
22
-
23
- if File.exists? mindwords_file then
24
-
25
- @mw = MindWords.new(mindwords_file)
26
-
27
- # create the activeoutline document if it doesn't already exist
28
- outline_txt = File.join(dir, 'outline.txt')
29
- @outline_xml = File.join(dir, 'outline.xml')
30
-
31
- if not File.exists? outline_txt then
32
-
33
- s = "<?polyrex-links?>\n\n" + @mw.to_outline
34
- File.write outline_txt, s
35
-
71
+ include RXFReadWriteModule
72
+
73
+ class MindWordsX < MindWords
74
+ include RXFReadWriteModule
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 RXFReadWriteModule
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
+
36
187
  end
37
-
38
- @pl = PolyrexLinks.new(outline_txt)
39
-
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
+
40
209
  end
41
-
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
42
253
  end
43
-
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 = 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
+
44
270
  def edit(type=:mindwords, title=nil)
45
-
271
+
46
272
  case type
47
273
  when :link
48
- linkedit(title)
274
+ @pl.linkedit(title)
49
275
  when :mindwords
50
- mindwords_edit()
51
- when :outline
52
- outlinefile_edit()
53
- when :tree
54
- tree_edit()
276
+ @mw.edit()
277
+ when :outline
278
+ @pl.outlinefile_edit()
279
+ when :tree
280
+ @pl.tree_edit()
55
281
  when :card
56
282
  cardedit(title)
57
283
  end
58
-
284
+
59
285
  end
60
286
 
61
287
  def import_mindwords(s)
62
-
63
- @mw = MindWords.new(s)
64
- mindwords_file = File.join(@dir, 'mindwords.txt')
65
- @mw.save mindwords_file
66
-
67
- s2 = "<?polyrex-links?>\n\n" + @mw.to_outline
68
- outline_txt = File.join(@dir, 'outline.txt')
69
-
70
- @pl = PolyrexLinks.new(s2)
71
- @pl.save outline_txt
72
-
73
-
288
+
289
+ @mw = MindWordsX.new(@dir, s)
290
+ @pl = PxLinks.new(@dir, @mw.to_outline)
291
+
74
292
  end
75
-
293
+
294
+ def read(path='')
295
+
296
+ data_dir = File.join(@dir, *path.split('/'), 'data')
297
+
298
+ # open the file if it exists
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
+
305
+ # create the activeoutline document if it doesn't already exist
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
+
311
+ s = "<?polyrex-links?>\n\n" + @mw.to_outline
312
+ FileX.write outline_txt, s
313
+
314
+ end
315
+
316
+ @pl = PxLinks.new(@dir, outline_txt)
317
+
318
+ end
319
+
320
+ self
321
+
322
+ end
323
+
76
324
  def update(type, title=nil, s)
77
-
325
+
78
326
  case type
79
327
  when :mindwords
80
- mindwords_update(s)
328
+ mindwords_update(s)
81
329
  when :link
82
- linkupdate(title, s)
330
+ @pl.linkupdate(title, s)
83
331
  when :card
84
332
  cardupdate(title, s)
85
333
  when :outline
86
- outlinefile_update(s)
334
+ @pl = PxLinks.new @dir, s
87
335
  end
88
-
336
+
89
337
  end
90
338
 
91
339
  # options: :mindwords, :tree, :link, :card
92
- #
93
- def view(type=:mindwords, title=nil)
94
-
340
+ #
341
+ def view(type=:mindwords, title: nil, base_url: '')
342
+
343
+ puts 'inside view' if @debug
95
344
  case type
96
345
  when :mindwords
97
346
  @mw.to_s
98
347
  when :mindwords_tree
99
348
  @mw.to_outline
100
- when :tree
101
- treeview()
349
+ when :tree
350
+ @pl.treeview()
102
351
  when :index
103
- indexview()
352
+ @pl.indexview(base_url)
104
353
  when :card
105
354
  cardview(title)
106
355
  end
107
-
356
+
108
357
  end
109
-
358
+
110
359
  private
111
-
360
+
112
361
  def cardedit(rawtitle)
113
-
362
+
114
363
  title = rawtitle.downcase.gsub(/ +/,'-')
115
364
 
116
365
  file = title + '.txt'
117
366
  filepath = File.join(@dir, file)
118
-
119
- kvx = if File.exists? filepath then
367
+
368
+ kvx = if FileX.exists? filepath then
120
369
  Kvx.new(filepath)
121
370
  else
122
- Kvx.new({summary: {title: rawtitle}, body: {md: '', url: ''}}, \
371
+ Kvx.new({summary: {title: rawtitle}, body: {md: '', url: '',wiki: rawtitle.capitalize}}, \
123
372
  debug: false)
124
373
  end
125
-
374
+
126
375
  %Q(<form action="cardupdate" method="post">
127
376
  <input type='hidden' name='title' value="#{rawtitle}"/>
128
377
  <textarea name="kvxtext" cols="73" rows="17">#{kvx.to_s}</textarea>
129
378
  <input type="submit" value="apply"/>
130
379
  </form>
131
380
  )
132
- end
133
-
134
- def cardupdate(rawtitle, rawkvxtext)
135
-
381
+ end
382
+
383
+ def cardupdate(rawtitle, rawkvxtext, url_base: '')
384
+
136
385
  title = rawtitle.downcase.gsub(/ +/,'-')
137
386
  kvx = Kvx.new rawkvxtext.gsub(/\r/,'')
138
387
 
139
388
  file = title + '.txt'
140
389
  filepath = File.join(@dir, file)
141
-
390
+
142
391
  kvx.save filepath
143
-
392
+
144
393
  found = @pl.find_all_by_link_title rawtitle
145
-
394
+
146
395
  found.each do |link|
147
-
396
+
148
397
  url = if kvx.body[:url].length > 1 then
149
398
  kvx.body[:url]
150
- else
151
- '/do/activeoutline/viewcard?title=' + rawtitle
399
+ # else
400
+ # url_base + 'viewcard?title=' + rawtitle
152
401
  end
153
-
402
+
154
403
  link.url = url
155
-
404
+
156
405
  end
157
-
406
+
158
407
  @pl.save @outline_xml
159
408
 
160
409
  end
161
-
410
+
162
411
  def cardview(rawtitle)
163
-
412
+
164
413
  puts 'rawtitle: ' + rawtitle.inspect if @debug
165
- title = rawtitle.downcase.gsub(/ +/,'-')
166
-
167
- file = title + '.txt'
414
+ filetitle = rawtitle.downcase.gsub(/ +/,'-')
415
+
416
+ file = filetitle + '.txt'
168
417
  filepath = File.join(@dir, file)
169
418
  puts 'filepath: ' + filepath.inspect if @debug
170
-
171
- kvx = if File.exists? filepath then
419
+
420
+ kvx = if FileX.exists? filepath then
172
421
  Kvx.new(filepath)
173
422
  else
174
- Kvx.new({summary: {title: rawtitle}, body: {md: '', url: ''}}, \
423
+ Kvx.new({summary: {title: rawtitle}, body: {md: '', url: '', wiki: rawtitle.capitalize}}, \
175
424
  debug: false)
176
425
  end
177
-
426
+
178
427
  puts 'kvx: ' + kvx.inspect if @debug
179
-
180
- html = if kvx.body[:md].is_a? Hash then
181
- Kramdown::Document.new(Martile.new(kvx.body[:md][:description].to_s)\
182
- .to_html).to_html
428
+
429
+ md = if kvx.body[:md].is_a? Hash then
430
+ kvx.body[:md][:description].to_s
183
431
  else
184
- ''
432
+ kvx.body[:md].to_s
185
433
  end
186
-
187
- %Q(<h1></h1>
188
- <ul>
189
- <li><label>info:</label> #{ html }</li>
190
- <li><label>url:</label> <a href="#{kvx.url}">#{kvx.url}</a></li>
191
- </ul>
192
- <a href="editcard?title=#{rawtitle}">edit</a>
193
- )
194
- end
195
-
196
- def linkedit(rawtitle)
197
-
198
- r = @pl.find_by_link_title rawtitle
199
-
200
- "<form action='updatelink' type='psot'>
201
- <input type='hidden' name='title' value='#{r.title}'/>
202
- <input type='input' name='url' value='#{r.url}'/>
203
- <input type='submit' value='apply'/>
204
- </form>
205
- "
206
-
207
- end
208
-
209
- def linkupdate(rawtitle, rawurl)
210
-
211
- r = @pl.find_by_link_title rawtitle
212
- return unless r
213
-
214
- r.url = rawurl
215
-
216
- @outline_xml = File.join(@dir, 'outline.xml') unless @outline_xml
217
- @pl.save @outline_xml
218
434
 
219
- end
220
-
221
- def indexview()
222
-
223
- a = @pl.index
224
-
225
- raw_links = a.map do |title, rawurl, path|
226
-
227
- anchortag = if rawurl.empty? then
228
- "<a href='editcard?title=#{title}' style='color: red'>#{title}</a>"
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)
229
458
  else
230
- "<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'
231
466
  end
232
- [title, anchortag]
233
-
234
- end
235
-
236
- links = raw_links.to_h
237
-
238
- a2 = a.map do |title, rawurl, rawpath|
239
-
240
- path = rawpath[0..-2].reverse.map {|x| links[x]}.join('/')
241
- "<tr><td>%s</td><td>%s</td></tr>" % [links[title], path]
242
-
467
+
468
+ e.text = ''
469
+ e.add link
243
470
  end
244
-
245
- "<table>#{a2.join("\n")}</table>"
246
- end
247
-
248
- def mindwords_edit()
249
-
250
- %Q(<form action="fileupdate" method="post">
251
- <textarea name="treelinks" cols="73" rows="17">#{@mw.to_s}</textarea>
252
- <input type="submit" value="apply"/>
253
- </form>
254
- )
255
-
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
+
256
482
  end
257
-
483
+
258
484
  def mindwords_update(s)
259
-
260
- @mw = MindWords.new(s)
261
-
485
+
486
+ @mw = MindWordsX.new(@dir, s)
487
+
262
488
  pl = @pl.migrate @mw.to_outline
263
- pl.save @outline_xml
489
+ pl.save @outline_xml
264
490
  @pl = pl
265
-
266
- end
267
-
268
- def outlinefile_edit()
269
-
270
- %Q(<form action="fileupdate" method="post">
271
- <textarea name="treelinks" cols="73" rows="17">#{@pl.to_s}</textarea>
272
- <input type="submit" value="apply"/>
273
- </form>
274
- )
275
-
276
- end
277
-
278
- def outlinefile_update(s)
279
-
280
- @pl = PolyrexLinks.new
281
- @pl.import s
282
-
283
- end
284
-
285
- def tree_edit()
286
-
287
- base_url = 'linkedit?title='
288
- @pl.each_recursive { |x| x.url = base_url + x.title }
289
- jtb = JsTreeBuilder.new({src: @pl, type: :plain, debug: true})
290
-
291
- style = "
292
- <style>
293
- .newspaper1 {
294
- columns: 100px 3;
295
- }
296
- ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
297
- ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
298
- </style>
299
- "
300
- html = "<div class='newspaper1'>#{jtb.to_html}</div>"
301
- style + "\n" + html
491
+
302
492
  end
303
-
304
- def treeview()
305
493
 
306
494
 
307
- jtb = JsTreeBuilder.new({src: @pl, type: :plain, debug: false})
308
- html = "<div class='newspaper1'>#{jtb.to_html}</div>"
309
-
310
- style = "
311
- <style>
312
- .newspaper2 {
313
- columns: 100px 3;
314
- }
315
- ul {list-style-type: none; background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 1.3em}
316
- ul li {background-color: transparent; margin: 0.1em 0.1em; padding: 0.3em 0.3em}
317
- </style>
318
- "
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()
319
505
 
320
- style + "\n" + html
321
-
322
506
  end
323
-
324
- end
325
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
+
523
+ end
326
524
 
327
525
  module Wmcd
328
526
 
329
527
  class Server < OneDrb::Server
330
528
 
331
- def initialize(host: '127.0.0.1', port: '21200', dir: '.')
529
+ def initialize(host: '127.0.0.1', port: '21200', dir: '.', dxpath: nil)
332
530
 
333
- super(host: host, port: port, obj: WikiMindCardsDirectory.new(dir: dir))
531
+ super(host: host, port: port, obj: MultiWmcd.new(dir: dir, dxpath: dxpath))
334
532
 
335
533
  end
336
534
 
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.2.0
4
+ version: 0.4.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-30 00:00:00.000000000 Z
38
+ date: 2022-03-17 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: martile
@@ -43,60 +43,120 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.4'
46
+ version: '1.5'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 1.4.6
49
+ version: 1.5.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '1.4'
56
+ version: '1.5'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.4.6
59
+ version: 1.5.0
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: mindwords
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '0.6'
66
+ version: '0.8'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.6.4
69
+ version: 0.8.0
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.6'
76
+ version: '0.8'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.6.4
79
+ version: 0.8.0
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: polyrex-links
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: '0.4'
86
+ version: '0.5'
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.4.3
89
+ version: 0.5.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.4'
96
+ version: '0.5'
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 0.5.0
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'
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 0.1.0
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'
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.1.0
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.6'
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: 0.6.0
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: '0.6'
97
157
  - - ">="
98
158
  - !ruby/object:Gem::Version
99
- version: 0.4.3
159
+ version: 0.6.0
100
160
  description:
101
161
  email: digital.robertson@gmail.com
102
162
  executables: []
@@ -123,7 +183,7 @@ 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
+ rubygems_version: 3.2.22
127
187
  signing_key:
128
188
  specification_version: 4
129
189
  summary: An experimental MindWords driven wiki editor which uses “cards”.
metadata.gz.sig CHANGED
Binary file