liveblog 0.7.5 → 0.8.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/liveblog.css +24 -2
- data/lib/liveblog.rb +25 -10
- data/lib/liveblog.xsl +12 -4
- metadata +22 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 358e69b707fae031126bb00f028d7d82fe313859
|
4
|
+
data.tar.gz: 014819ed04a17097ef30ecd318a9a9e75b62f7be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71ff00459b818b4648070eb08ef86614cc9a02afbc6002a934673e54bfd8e2a3f975c184d20aab03dda0016f16e2d903fd1cc091f0677e8bbb143f6743880c0d
|
7
|
+
data.tar.gz: 178137083c31ef0fbf33ca8538aa52c3b73a067529cce11f9e8234526344eccd59ee83512c1b5416a94da91618c151e745126c08b7c248388a9bc1f9b2de96e2
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/liveblog.css
CHANGED
@@ -34,6 +34,13 @@ body {
|
|
34
34
|
header>nav>ul>li>a:focus {background-color: #161; color: #fff;}
|
35
35
|
header>nav>ul>li>a:active {background-color: rgba(200,200,200,0.4); color: #5a5;}
|
36
36
|
|
37
|
+
#wrap > p {
|
38
|
+
background-color: rgba(50,50,50,0.2);
|
39
|
+
color: #fff;
|
40
|
+
font-size: 1.2em;
|
41
|
+
padding: 2em 4em;
|
42
|
+
}
|
43
|
+
|
37
44
|
#summary {
|
38
45
|
background-color: transparent;
|
39
46
|
color: #AFC332;
|
@@ -150,12 +157,12 @@ section {
|
|
150
157
|
|
151
158
|
section a:link {
|
152
159
|
background-color: transparent;
|
153
|
-
color: #
|
160
|
+
color: #917;
|
154
161
|
}
|
155
162
|
|
156
163
|
section a:hover {
|
157
164
|
background-color: transparent;
|
158
|
-
color: #
|
165
|
+
color: #815;
|
159
166
|
}
|
160
167
|
|
161
168
|
section a:active {
|
@@ -163,7 +170,22 @@ section {
|
|
163
170
|
color: #C33267;
|
164
171
|
}
|
165
172
|
|
173
|
+
section a~span {
|
174
|
+
background-color: transparent;
|
175
|
+
color: #444;
|
176
|
+
font-size: 0.8em;
|
177
|
+
margin-left: 0;
|
178
|
+
padding: 0.2em;
|
179
|
+
}
|
166
180
|
|
181
|
+
time {
|
182
|
+
background-color: transparent;
|
183
|
+
background-color: rgba(150,170,150,0.15);
|
184
|
+
color: #348;
|
185
|
+
font-family: courier;
|
186
|
+
font-size: 0.9em;
|
187
|
+
padding: 0.1em 0.3em;
|
188
|
+
}
|
167
189
|
|
168
190
|
aside {
|
169
191
|
background-color: #eee;
|
data/lib/liveblog.rb
CHANGED
@@ -15,7 +15,8 @@ class LiveBlog
|
|
15
15
|
|
16
16
|
config ||= 'liveblog.conf'
|
17
17
|
h = SimpleConfig.new(config).to_h
|
18
|
-
dir, @urlbase, @edit_url, @css_url
|
18
|
+
dir, @urlbase, @edit_url, @css_url, @xsl_path, @xsl_url, @bannertext = \
|
19
|
+
%i(dir urlbase edit_url css_url xsl_path xsl_url bannertext).map{|x| h[x]}
|
19
20
|
|
20
21
|
|
21
22
|
Dir.chdir dir
|
@@ -50,7 +51,7 @@ class LiveBlog
|
|
50
51
|
|
51
52
|
when /#\w+$/ then
|
52
53
|
|
53
|
-
entry.gsub!(
|
54
|
+
entry.gsub!(/(?:^|\s)!t\b/, time())
|
54
55
|
add_section_entry entry, hashtag
|
55
56
|
|
56
57
|
else
|
@@ -63,7 +64,7 @@ class LiveBlog
|
|
63
64
|
|
64
65
|
# we reserve 30 characters for the link
|
65
66
|
len = (140 - 30 - hashtag.length)
|
66
|
-
raw_entry.gsub!(
|
67
|
+
raw_entry.gsub!(/(?:^|\s)!t\b/,'')
|
67
68
|
entry = raw_entry.length > len ? "%s... %s" % [raw_entry.slice(0, len), hashtag] : raw_entry
|
68
69
|
message = "%s %s%s" % [entry, static_urlpath(), hashtag]
|
69
70
|
|
@@ -114,7 +115,7 @@ EOF
|
|
114
115
|
|
115
116
|
s.gsub!(/\B!ts\b/, "*started #{time(t)}*")
|
116
117
|
s.gsub!(/\B!tc\b/, "*completed #{time(t)}*")
|
117
|
-
s.gsub!(
|
118
|
+
s.gsub!(/(?:^|\s)!t\b/, time(t))
|
118
119
|
|
119
120
|
|
120
121
|
FileUtils.mkdir_p File.join(path())
|
@@ -157,7 +158,7 @@ EOF
|
|
157
158
|
path(d).join('/') + '/'
|
158
159
|
end
|
159
160
|
|
160
|
-
def static_urlpath(d=@d)
|
161
|
+
def static_urlpath(d=@d)
|
161
162
|
@urlbase.sub(/[^\/]$/,'\0/') + urlpath(d)
|
162
163
|
end
|
163
164
|
|
@@ -179,10 +180,12 @@ EOF
|
|
179
180
|
|
180
181
|
add summary, 'edit_url', "%s/%s" % [@edit_url, urlpath()]
|
181
182
|
add summary, 'date', @d.strftime("%d-%b-%Y").upcase
|
183
|
+
add summary, 'day', Date::DAYNAMES[@d.cwday]
|
182
184
|
add summary, 'css_url', @css_url
|
183
185
|
add summary, 'published', Time.now.strftime("%d-%m-%Y %H:%M")
|
184
186
|
add summary, 'prev_day', static_urlpath(@d-1)
|
185
187
|
add summary, 'next_day', @d == Date.today ? '' : static_urlpath(@d+1)
|
188
|
+
add summary, 'bannertext', @bannertext
|
186
189
|
|
187
190
|
tags = Rexle::Element.new('tags')
|
188
191
|
|
@@ -192,11 +195,13 @@ EOF
|
|
192
195
|
end
|
193
196
|
|
194
197
|
summary.add tags
|
198
|
+
|
199
|
+
domain = @urlbase[/https?:\/\/([^\/]+)/,1].split('.')[-2..-1].join('.')
|
195
200
|
|
196
201
|
doc.root.xpath('records/section/x') do |x|
|
197
202
|
|
198
203
|
s = "=%s\n%s\n=" % [x.text.lines.first[/#\w+$/], x.text.unescape]
|
199
|
-
html = Martile.new(s).to_html
|
204
|
+
html = Martile.new(s, ignore_domainlabel: domain).to_html
|
200
205
|
|
201
206
|
e = x.parent
|
202
207
|
x.delete
|
@@ -213,7 +218,12 @@ EOF
|
|
213
218
|
doc2.root.add details
|
214
219
|
e.add doc2.root
|
215
220
|
end
|
216
|
-
|
221
|
+
|
222
|
+
doc.instructions << [
|
223
|
+
'xml-stylesheet',
|
224
|
+
"title='XSL_formatting' type='text/xsl' href='#{@xsl_url}'"
|
225
|
+
]
|
226
|
+
|
217
227
|
File.write newfilepath, doc.xml(pretty: true)
|
218
228
|
|
219
229
|
render_html doc
|
@@ -236,9 +246,14 @@ EOF
|
|
236
246
|
end
|
237
247
|
|
238
248
|
def render_html(doc, d=@d)
|
239
|
-
|
240
|
-
|
241
|
-
|
249
|
+
|
250
|
+
xslt_buffer = if @xsl_path then
|
251
|
+
buffer, _ = RXFHelper.read @xsl_path
|
252
|
+
buffer
|
253
|
+
else
|
254
|
+
lib = File.exists?('liveblog.xsl') ? '.' : File.dirname(__FILE__)
|
255
|
+
File.read(File.join(lib,'liveblog.xsl'))
|
256
|
+
end
|
242
257
|
|
243
258
|
xslt = Nokogiri::XSLT(xslt_buffer)
|
244
259
|
out = xslt.transform(Nokogiri::XML(doc.xml))
|
data/lib/liveblog.xsl
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
xml version="1.0" encoding="utf-8"?>
|
2
2
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
3
3
|
<xsl:output method="html" encoding="utf-8" indent="yes" />
|
4
4
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel='stylesheet' type='text/css' href='{summary/css_url}' media='screen, projection, tv, print'/>
|
11
11
|
</head>
|
12
12
|
<body>
|
13
|
-
|
13
|
+
<div id="wrap">
|
14
14
|
<header>
|
15
15
|
<nav>
|
16
16
|
<ul>
|
@@ -24,6 +24,9 @@
|
|
24
24
|
</nav>
|
25
25
|
</header>
|
26
26
|
|
27
|
+
<xsl:if test='summary/bannertext'>
|
28
|
+
<p><xsl:value-of select='summary/bannertext'/></p>
|
29
|
+
</xsl:if>
|
27
30
|
|
28
31
|
<div id='summary'>
|
29
32
|
<ul>
|
@@ -35,7 +38,12 @@
|
|
35
38
|
</div>
|
36
39
|
<aside>
|
37
40
|
<ul>
|
38
|
-
<li
|
41
|
+
<li>
|
42
|
+
<xsl:value-of select='summary/date'/>
|
43
|
+
</li>
|
44
|
+
<li>
|
45
|
+
<xsl:value-of select='summary/day'/>
|
46
|
+
</li>
|
39
47
|
<li>
|
40
48
|
<a href='{summary/prev_day}' class='arrow'>←</a>
|
41
49
|
<xsl:element name="a">
|
@@ -82,7 +90,7 @@
|
|
82
90
|
</dl>
|
83
91
|
</footer>
|
84
92
|
</article>
|
85
|
-
|
93
|
+
</div>
|
86
94
|
</body>
|
87
95
|
</html>
|
88
96
|
</xsl:template>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: liveblog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
WoOSxvsTN7qoA8F0W4mkDpf+HhHxBOLTPykcHMIlx2gILLnNraaZ1rJlZAqWABGj
|
32
32
|
v8lGgeeqqjd5QA==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2015-03-
|
34
|
+
date: 2015-03-21 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: dynarex
|
@@ -93,6 +93,26 @@ dependencies:
|
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: 0.3.0
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: subunit
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.2'
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 0.2.4
|
106
|
+
type: :runtime
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0.2'
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 0.2.4
|
96
116
|
description:
|
97
117
|
email: james@r0bertson.co.uk
|
98
118
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|