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