liveblog 0.7.4 → 0.7.5
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 +18 -10
- data/lib/liveblog.rb +44 -6
- metadata +1 -1
- 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: d96398f0aa49154552843c326d16ce6efa8c913a
|
4
|
+
data.tar.gz: 5827683e8b4ca1996822dbddd0f060b0f2773b3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91f0358914a2986b6ba18a45b91d55102fdf89a8d0a9c0f07ef4b3a5e90949863f16814c7ceaffc5bd2b5c7c29359007f0658853f6528aea9a0855435399d932
|
7
|
+
data.tar.gz: 3f155f79a3d4d1301c5492ed4a82ac01a252bb807cc60907c6e5da0c36b9619e500575f301dd9de5969553b229c983c904fe26b94a9d52a2bd163a876502d8c6
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/liveblog.css
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
body {
|
1
|
+
body {
|
2
|
+
background-color: #c48f33;
|
3
|
+
max-width: 1000px;
|
4
|
+
}
|
2
5
|
|
3
6
|
|
4
7
|
header{
|
@@ -35,21 +38,21 @@ body { background-color: #c48f33;}
|
|
35
38
|
background-color: transparent;
|
36
39
|
color: #AFC332;
|
37
40
|
float: left;
|
38
|
-
margin: 1em
|
39
|
-
max-width:
|
41
|
+
margin: 1em 1em;
|
42
|
+
max-width: 560px;
|
40
43
|
}
|
41
44
|
|
42
45
|
#summary ul {
|
43
46
|
background-color: #D5A95D;
|
44
47
|
list-style-type: square;
|
45
|
-
margin:
|
48
|
+
margin: 0.9em; padding: 1.3em;
|
46
49
|
}
|
47
50
|
|
48
51
|
#summary ul li {
|
49
52
|
background-color: #D5A95D;
|
50
53
|
font-family: arial, verdana;
|
51
|
-
font-size: 1.
|
52
|
-
margin: 0.2em
|
54
|
+
font-size: 1.3em;
|
55
|
+
margin: 0.2em 1.4em; padding: 0.5em;
|
53
56
|
}
|
54
57
|
|
55
58
|
#summary ul li a {
|
@@ -120,7 +123,8 @@ section {
|
|
120
123
|
background-color: #E2C38D;
|
121
124
|
color: #4532C3;
|
122
125
|
font-size: 1.2em;
|
123
|
-
margin: 1.7em 0.7em 1.7em 1.7em; padding: 2.0em
|
126
|
+
margin: 1.7em 0.7em 1.7em 1.7em; padding: 2.0em 2.0em 2.0em 2.0em;
|
127
|
+
padding-bottom: 5em;
|
124
128
|
max-width: 500px
|
125
129
|
}
|
126
130
|
|
@@ -134,7 +138,8 @@ section {
|
|
134
138
|
section p {
|
135
139
|
background-color: #ee3;
|
136
140
|
background-color: transparent;
|
137
|
-
|
141
|
+
font-size: 1.1em;
|
142
|
+
margin: 0.4em 0.4em; padding: 0.6em 0.7em;
|
138
143
|
}
|
139
144
|
|
140
145
|
section a {
|
@@ -180,7 +185,7 @@ aside ul {
|
|
180
185
|
background-color: #e33;
|
181
186
|
|
182
187
|
font-family: helvetica, arial;
|
183
|
-
font-size: 2.
|
188
|
+
font-size: 2.0em;
|
184
189
|
font-weight: 900;
|
185
190
|
|
186
191
|
margin: 0.4em;
|
@@ -245,5 +250,8 @@ article>footer, aside ul li{
|
|
245
250
|
|
246
251
|
pre, output {
|
247
252
|
background-color: rgba(200,200,200,0.4);
|
248
|
-
font-size: 0.
|
253
|
+
font-size: 0.7em;
|
254
|
+
margin: 0.4em; padding: 0.6em;
|
255
|
+
overflow-x: scroll;
|
256
|
+
|
249
257
|
}
|
data/lib/liveblog.rb
CHANGED
@@ -39,12 +39,22 @@ class LiveBlog
|
|
39
39
|
|
40
40
|
def add_entry(raw_entry)
|
41
41
|
|
42
|
-
entry, hashtag = raw_entry.split(/\s*(?=#\w+$)/)
|
42
|
+
entry, hashtag = raw_entry.split(/\s*(?=#\w+$)/)
|
43
|
+
hashtag.downcase!
|
43
44
|
|
44
45
|
success, msg = case raw_entry
|
45
|
-
|
46
|
-
when
|
47
|
-
|
46
|
+
|
47
|
+
when /^#\s*\w.*#\w+$/ then
|
48
|
+
|
49
|
+
add_section raw_entry
|
50
|
+
|
51
|
+
when /#\w+$/ then
|
52
|
+
|
53
|
+
entry.gsub!(/\B!t\b/, time())
|
54
|
+
add_section_entry entry, hashtag
|
55
|
+
|
56
|
+
else
|
57
|
+
[false, 'no valid entry found']
|
48
58
|
end
|
49
59
|
|
50
60
|
return [false, msg] unless success
|
@@ -53,6 +63,7 @@ class LiveBlog
|
|
53
63
|
|
54
64
|
# we reserve 30 characters for the link
|
55
65
|
len = (140 - 30 - hashtag.length)
|
66
|
+
raw_entry.gsub!(/\B!t\b/,'')
|
56
67
|
entry = raw_entry.length > len ? "%s... %s" % [raw_entry.slice(0, len), hashtag] : raw_entry
|
57
68
|
message = "%s %s%s" % [entry, static_urlpath(), hashtag]
|
58
69
|
|
@@ -84,6 +95,28 @@ title: LiveBlog #{ordinalize(@d.day) + @d.strftime(" %B %Y")}
|
|
84
95
|
|
85
96
|
EOF
|
86
97
|
|
98
|
+
t = Time.now
|
99
|
+
# keyword substitions
|
100
|
+
# a !t becomes the Time.now.strftime("%-I:%M%P") #=> 4:27pm
|
101
|
+
s.gsub!(/\B\*started\s+<time>(\d+:\d+[ap]m)<\/time>\*\B\s*!tc/) do |x|
|
102
|
+
|
103
|
+
raw_start_time = $1
|
104
|
+
|
105
|
+
start_time = Time.parse raw_start_time
|
106
|
+
seconds = t - start_time
|
107
|
+
list = Subunit.new(units={minutes:60, hours:60}, seconds: seconds )\
|
108
|
+
.to_h.to_a
|
109
|
+
n = list.find {|_,v| v > 0 }
|
110
|
+
duration = list[list.index(n)..-2].map {|x|"%d %s" % x.reverse}\
|
111
|
+
.join(', ')
|
112
|
+
"*completed %s; duration: %s*" % [time(t), duration]
|
113
|
+
end
|
114
|
+
|
115
|
+
s.gsub!(/\B!ts\b/, "*started #{time(t)}*")
|
116
|
+
s.gsub!(/\B!tc\b/, "*completed #{time(t)}*")
|
117
|
+
s.gsub!(/\B!t\b/, time(t))
|
118
|
+
|
119
|
+
|
87
120
|
FileUtils.mkdir_p File.join(path())
|
88
121
|
|
89
122
|
@dx = Dynarex.new
|
@@ -154,7 +187,8 @@ EOF
|
|
154
187
|
tags = Rexle::Element.new('tags')
|
155
188
|
|
156
189
|
doc.root.xpath('records/section/x/text()').each do |x|
|
157
|
-
tags.add Rexle::Element.new('tag').add_text x.lines.first[/#(\w+)$/,1]
|
190
|
+
tags.add Rexle::Element.new('tag').add_text x.lines.first[/#(\w+)$/,1]\
|
191
|
+
.downcase
|
158
192
|
end
|
159
193
|
|
160
194
|
summary.add tags
|
@@ -209,6 +243,10 @@ EOF
|
|
209
243
|
xslt = Nokogiri::XSLT(xslt_buffer)
|
210
244
|
out = xslt.transform(Nokogiri::XML(doc.xml))
|
211
245
|
File.write File.join(path(d), 'index.html'), out
|
212
|
-
end
|
246
|
+
end
|
247
|
+
|
248
|
+
def time(t=Time.now)
|
249
|
+
t.strftime "<time>%-I:%M%P</time>"
|
250
|
+
end
|
213
251
|
|
214
252
|
end
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|