myoutline 0.2.0 → 0.2.1

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
  SHA1:
3
- metadata.gz: b4a0da8fbdd54aa465b6b42d98b0d5a7efb6612b
4
- data.tar.gz: fbc5c84534132fa2a9b9bf67e3332e74f572b43e
3
+ metadata.gz: 752b310a3ffc4f555e366c6a4b0f82a2377873b1
4
+ data.tar.gz: 7fb8965d9a4f5516f012cfbfe053f374c48c17f6
5
5
  SHA512:
6
- metadata.gz: 70f5d5ac636616fbacdb6056fb92c7eb789b9cb58bcaae203e9a13124a53312090eea39bf4695a83db88c14d6246250e769138387fed1144b86229f37892a561
7
- data.tar.gz: 3b1512d0cfe823326387b8e142db482b1c2592e3e241ae6cb27cf16c7825891191424cbbb5828eb5819aab8d0bb18cac1786b67b620475fb7e4fb628704e7cc5
6
+ metadata.gz: 2da3cacae84e95865054d059430f03810092841ec1ba4b925e85874623cdb4bc99bc17e9f8d6548879178810af509a8057c7f84651d792bc2e4c342acdc01441
7
+ data.tar.gz: 78906df6f38baae13d4b3482747ae3a204e0cc05e0e984b63884dca8e3f20de11d1de044e7e481d3ee01925e34122d5171dbc74e07a7a7e110164b6841b1bd37
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/myoutline.rb CHANGED
@@ -7,6 +7,8 @@ require 'nokogiri'
7
7
 
8
8
 
9
9
  class MyOutline
10
+
11
+ attr_reader :pxi
10
12
 
11
13
  def initialize(source, debug: false, allsorted: true,
12
14
  autoupdate: true, topic_url: '$topic')
@@ -28,7 +30,7 @@ class MyOutline
28
30
  # add the new entries to the main index
29
31
  s << a3.join("\n")
30
32
 
31
- s.prepend '<?ph schema="entries/entry[title]"?>
33
+ s.prepend '<?ph schema="entries/section[heading]/entry[title, url]"?>
32
34
 
33
35
  '
34
36
 
@@ -49,14 +51,31 @@ class MyOutline
49
51
  end
50
52
 
51
53
  def to_html()
54
+
55
+ px = self.to_px
52
56
 
53
- doc = Nokogiri::XML(self.to_px.to_xml)
57
+ px.each_recursive do |x, parent|
58
+
59
+ if x.is_a? Entry then
60
+
61
+ trail = parent.attributes[:trail]
62
+ s = x.title.gsub(/ +/,'-')
63
+ x.attributes[:trail] = trail.nil? ? s : trail + '/' + s
64
+
65
+ end
66
+
67
+ end
68
+
69
+ doc = Nokogiri::XML(px.to_xml)
54
70
  xsl = Nokogiri::XSLT(xslt())
55
71
 
56
72
  doc = Rexle.new(xsl.transform(doc).to_s)
57
73
 
58
- doc.root.css('.atopic').each do |e|
59
- e.attributes[:href] = @topic_url.sub(/\$topic/, e.text)
74
+ doc.root.css('.atopic').each do |e|
75
+ puts 'e: ' + e.parent.parent.xml.inspect if @debug
76
+ e.attributes[:href] = @topic_url.sub(/\$topic/, e.text)\
77
+ .sub(/\$id/, e.attributes[:id]).sub(/\$trail/, e.attributes[:trail])\
78
+ .to_s.gsub(/ +/,'-')
60
79
  end
61
80
 
62
81
  doc.xml(pretty: true)
@@ -77,11 +96,12 @@ class MyOutline
77
96
 
78
97
  end
79
98
 
80
- def to_tree
99
+ def to_tree(alphabet: true)
81
100
 
82
101
  a = @pxi.to_s.lines
83
102
  a.shift # remove the ph declaration
84
- a.reject! {|x| x =~ /^(?:#[^\n]+|\n+)$/}
103
+ a.reject! {|x| x =~ /^(?:#[^\n]+|\n+)$/} unless alphabet
104
+ a.map! {|x| r = x[/^.*(?= # )/]; r ? r + "\n" : x } # strip out the URLS
85
105
 
86
106
  a.join
87
107
 
@@ -105,8 +125,8 @@ class MyOutline
105
125
  <xsl:template match='entries/summary'>
106
126
  </xsl:template>
107
127
 
108
- <xsl:template match='records/entry'>
109
- <li><h1><xsl:value-of select="summary/title"/></h1><xsl:text>
128
+ <xsl:template match='records/section'>
129
+ <li><h1><xsl:value-of select="summary/heading"/></h1><xsl:text>
110
130
  </xsl:text>
111
131
 
112
132
  <xsl:apply-templates select='records'/>
@@ -117,10 +137,12 @@ class MyOutline
117
137
  </xsl:template>
118
138
 
119
139
 
120
- <xsl:template match='records/entry/records/entry'>
140
+ <xsl:template match='records/entry'>
121
141
  <ul id="{summary/title}">
122
142
  <li><xsl:text>
123
- </xsl:text><a href="{summary/title}" class='atopic'><xsl:value-of select="summary/title"/></a><xsl:text>
143
+ </xsl:text>
144
+ <a href="{summary/url}" class='atopic' id='{@id}' trail='{@trail}'>
145
+ <xsl:value-of select="summary/title"/></a><xsl:text>
124
146
  </xsl:text>
125
147
 
126
148
  <xsl:apply-templates select='records'/>
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myoutline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  DFhc5TDtqEkJYiaiznQFl34HUKeCAdeAHkmD8jP3fUC8O7zcLXq69EAXGMXw4efB
31
31
  3Co=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-03-21 00:00:00.000000000 Z
33
+ date: 2018-03-30 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: pxindex
metadata.gz.sig CHANGED
Binary file