mindwords 0.7.0 → 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 +4 -2
- data/lib/mindwords.rb +99 -1
- data.tar.gz.sig +0 -0
- metadata +7 -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: 1f5bf74dd560883c0f522b3bf9eb94ba34e1655360347bb25871762e4c592cc1
|
4
|
+
data.tar.gz: 8da5c28a10e9086c72f82eb7615af347da8ec80432249f4716f866c6450b8baf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 361eee1873d6b3aa00ccfc415485c86723e28f398b19824d2e9f7b42322304579a9d672db7e4f13b5caa6711fee38028c4a0e361bdddf27451417a77a5476d64
|
7
|
+
data.tar.gz: 1eb29c350266e6122059017955e2ae615fb8368aec887df5fc6a6ac18aed7d8a3fbfe1ea0cdc6e6fe2050a55d0b7b9cd753e1280d2b101a0a765d9d6d29603fa
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,4 @@
|
|
1
|
-
|
2
|
-
�
|
1
|
+
v�u+x��g���^��hg�a�OYH���Rk����ўƯ��P�y�GC��E�(�/�;c����r9%�sL�v}%�֙I|Z��r�a��`���;���
|
2
|
+
��Z����z���Ey�K�P�"S?���rui}j5-�Y[�����
|
3
|
+
z4�=5���3{�kة՚x��16��I�����gįKQg%���T���zm��x'��agv*3���J(�Ta�_�R��
|
4
|
+
�<���B�-*�X�&�7>ȺF���ӌÀ�A:M^��y!�6��<{.T`a���֚�Ukڿ��p��)�Ó:"�2�S/J=�N�͉��
|
data/lib/mindwords.rb
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
require 'rexle'
|
6
6
|
require 'rxfreadwrite'
|
7
7
|
require 'line-tree'
|
8
|
+
require 'polyrex'
|
9
|
+
|
8
10
|
|
9
11
|
module HashCopy
|
10
12
|
refine Hash do
|
@@ -73,7 +75,7 @@ class MindWords
|
|
73
75
|
|
74
76
|
def import(raws)
|
75
77
|
|
76
|
-
s, type =
|
78
|
+
s, type = RXFReader.read raws
|
77
79
|
|
78
80
|
@filepath = raws if type == :file or type == :dfs
|
79
81
|
lines = (s.strip.gsub(/(^\n|\r)/,'') + "\n").lines.uniq
|
@@ -578,3 +580,99 @@ EOF
|
|
578
580
|
end
|
579
581
|
|
580
582
|
end
|
583
|
+
|
584
|
+
class MindWordsPlus
|
585
|
+
|
586
|
+
attr_reader :to_px
|
587
|
+
|
588
|
+
def initialize(s, fields: %w(title content), debug: false)
|
589
|
+
|
590
|
+
lt = LineTree.new(s)
|
591
|
+
h = lt.to_h
|
592
|
+
|
593
|
+
mw = MindWords.new(h.keys.join("\n"))
|
594
|
+
outline = mw.to_outline
|
595
|
+
|
596
|
+
out = outline.lines.map do |line|
|
597
|
+
|
598
|
+
word = line[/\w[^$]+/]
|
599
|
+
|
600
|
+
found = h.keys.find do |key, value|
|
601
|
+
|
602
|
+
if debug then
|
603
|
+
puts 'key2: ' + key[/^[^#]+(?= #)/].inspect
|
604
|
+
puts 'word: ' + word.chomp.inspect
|
605
|
+
end
|
606
|
+
|
607
|
+
word.chomp == key[/^[^#]+(?= #)/]
|
608
|
+
end
|
609
|
+
|
610
|
+
puts 'found: ' + found.inspect if debug
|
611
|
+
|
612
|
+
if found and h[found][:body] then
|
613
|
+
puts '***' + h[found][:body].keys.inspect if debug
|
614
|
+
line.chomp + ' # ' + h[found][:body].keys.join('<br/>') + "\n"
|
615
|
+
else
|
616
|
+
line
|
617
|
+
end
|
618
|
+
|
619
|
+
end
|
620
|
+
|
621
|
+
puts out.join if debug
|
622
|
+
|
623
|
+
px = Polyrex.new(schema: "entries[title]/entry[#{fields.join(', ')}]",
|
624
|
+
delimiter: ' # ')
|
625
|
+
px.import out.join
|
626
|
+
@px = px
|
627
|
+
|
628
|
+
end
|
629
|
+
|
630
|
+
def to_ph()
|
631
|
+
|
632
|
+
lines = []
|
633
|
+
|
634
|
+
@px.each_recursive do |x, parent, level|
|
635
|
+
|
636
|
+
if level.to_i < 3 then
|
637
|
+
line = ("\n" + '#' * (level.to_i + 1)) + ' ' + x.title + "\n\n"
|
638
|
+
else
|
639
|
+
line = '*' + ' ' + x.title + "\n"
|
640
|
+
end
|
641
|
+
|
642
|
+
if x.content.length >= 1 then
|
643
|
+
txt = '- ' + x.content.gsub('<','<').gsub('>','>')
|
644
|
+
line += "\n" + txt.gsub('<br/>',"\n- ") + "\n"
|
645
|
+
end
|
646
|
+
|
647
|
+
lines << line
|
648
|
+
|
649
|
+
end
|
650
|
+
|
651
|
+
lines.join.gsub(/\n\n\n/,"\n\n")
|
652
|
+
end
|
653
|
+
|
654
|
+
def to_px()
|
655
|
+
@px
|
656
|
+
end
|
657
|
+
|
658
|
+
def to_tree()
|
659
|
+
|
660
|
+
lines = []
|
661
|
+
@px.each_recursive do |x, parent, level|
|
662
|
+
|
663
|
+
line = (' ' * level) + x.title
|
664
|
+
|
665
|
+
if x.content.length >= 1 then
|
666
|
+
txt = x.content.gsub('<','<').gsub('>','>')
|
667
|
+
indent = ' ' * (level+1) + '* '
|
668
|
+
line += "\n" + indent + txt.gsub('<br/>',"\n" + indent)
|
669
|
+
end
|
670
|
+
|
671
|
+
lines << line
|
672
|
+
end
|
673
|
+
|
674
|
+
lines.join("\n")
|
675
|
+
|
676
|
+
end
|
677
|
+
|
678
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mindwords
|
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
|
@@ -35,48 +35,28 @@ cert_chain:
|
|
35
35
|
eUqhPOSrxIRLebVebvo/SHN6+ed3Q1tXowsbLGCT9QwqbaZ5MZ7zks92mIWeJvsA
|
36
36
|
JdpabIXfcOANNKd0ha4NO+Yu
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2022-03-
|
38
|
+
date: 2022-03-16 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
41
|
+
name: polyrex
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '1.4'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 1.4.1
|
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: '
|
56
|
+
version: '1.4'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: rxfreadwrite
|
62
|
-
requirement: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '0.2'
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 0.2.5
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0.2'
|
77
|
-
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: 0.2.5
|
59
|
+
version: 1.4.1
|
80
60
|
description:
|
81
61
|
email: digital.robertson@gmail.com
|
82
62
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|