myoutline 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/myoutline.rb +68 -2
- data.tar.gz.sig +0 -0
- metadata +22 -2
- metadata.gz.sig +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4a0da8fbdd54aa465b6b42d98b0d5a7efb6612b
|
4
|
+
data.tar.gz: fbc5c84534132fa2a9b9bf67e3332e74f572b43e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70f5d5ac636616fbacdb6056fb92c7eb789b9cb58bcaae203e9a13124a53312090eea39bf4695a83db88c14d6246250e769138387fed1144b86229f37892a561
|
7
|
+
data.tar.gz: 3b1512d0cfe823326387b8e142db482b1c2592e3e241ae6cb27cf16c7825891191424cbbb5828eb5819aab8d0bb18cac1786b67b620475fb7e4fb628704e7cc5
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/myoutline.rb
CHANGED
@@ -3,13 +3,15 @@
|
|
3
3
|
# file: myoutline.rb
|
4
4
|
|
5
5
|
require 'pxindex'
|
6
|
+
require 'nokogiri'
|
6
7
|
|
7
8
|
|
8
9
|
class MyOutline
|
9
10
|
|
10
|
-
def initialize(source, debug: false, allsorted: true,
|
11
|
+
def initialize(source, debug: false, allsorted: true,
|
12
|
+
autoupdate: true, topic_url: '$topic')
|
11
13
|
|
12
|
-
@debug, @source = debug, source
|
14
|
+
@debug, @source, @topic_url = debug, source, topic_url
|
13
15
|
|
14
16
|
raw_s, _ = RXFHelper.read(source)
|
15
17
|
|
@@ -46,6 +48,21 @@ class MyOutline
|
|
46
48
|
|
47
49
|
end
|
48
50
|
|
51
|
+
def to_html()
|
52
|
+
|
53
|
+
doc = Nokogiri::XML(self.to_px.to_xml)
|
54
|
+
xsl = Nokogiri::XSLT(xslt())
|
55
|
+
|
56
|
+
doc = Rexle.new(xsl.transform(doc).to_s)
|
57
|
+
|
58
|
+
doc.root.css('.atopic').each do |e|
|
59
|
+
e.attributes[:href] = @topic_url.sub(/\$topic/, e.text)
|
60
|
+
end
|
61
|
+
|
62
|
+
doc.xml(pretty: true)
|
63
|
+
|
64
|
+
end
|
65
|
+
|
49
66
|
def to_px()
|
50
67
|
@pxi.to_px
|
51
68
|
end
|
@@ -69,5 +86,54 @@ class MyOutline
|
|
69
86
|
a.join
|
70
87
|
|
71
88
|
end
|
89
|
+
|
90
|
+
private
|
91
|
+
|
92
|
+
def xslt()
|
93
|
+
<<EOF
|
94
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
95
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
96
|
+
<xsl:output method="xml" indent="yes" />
|
97
|
+
|
98
|
+
<xsl:template match='entries'>
|
99
|
+
<ul>
|
100
|
+
<xsl:apply-templates select='summary'/>
|
101
|
+
<xsl:apply-templates select='records'/>
|
102
|
+
</ul>
|
103
|
+
</xsl:template>
|
104
|
+
|
105
|
+
<xsl:template match='entries/summary'>
|
106
|
+
</xsl:template>
|
107
|
+
|
108
|
+
<xsl:template match='records/entry'>
|
109
|
+
<li><h1><xsl:value-of select="summary/title"/></h1><xsl:text>
|
110
|
+
</xsl:text>
|
111
|
+
|
112
|
+
<xsl:apply-templates select='records'/>
|
113
|
+
|
114
|
+
<xsl:text>
|
115
|
+
</xsl:text>
|
116
|
+
</li>
|
117
|
+
</xsl:template>
|
118
|
+
|
119
|
+
|
120
|
+
<xsl:template match='records/entry/records/entry'>
|
121
|
+
<ul id="{summary/title}">
|
122
|
+
<li><xsl:text>
|
123
|
+
</xsl:text><a href="{summary/title}" class='atopic'><xsl:value-of select="summary/title"/></a><xsl:text>
|
124
|
+
</xsl:text>
|
125
|
+
|
126
|
+
<xsl:apply-templates select='records'/>
|
127
|
+
|
128
|
+
<xsl:text>
|
129
|
+
</xsl:text>
|
130
|
+
</li>
|
131
|
+
</ul>
|
132
|
+
</xsl:template>
|
133
|
+
|
134
|
+
|
135
|
+
</xsl:stylesheet>
|
136
|
+
EOF
|
137
|
+
end
|
72
138
|
|
73
139
|
end
|
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.
|
4
|
+
version: 0.2.0
|
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-
|
33
|
+
date: 2018-03-21 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: pxindex
|
@@ -52,6 +52,26 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.1.6
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: nokogiri
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.8'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 1.8.2
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '1.8'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.8.2
|
55
75
|
description:
|
56
76
|
email: james@jamesrobertson.eu
|
57
77
|
executables: []
|
metadata.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
3�nZĘ/��-@�0}���5;��TjL
|
2
|
+
��
|