runeblog 0.1.98 → 0.1.99
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
- data/lib/liveblog.rb +75 -44
- data/lib/runeblog_version.rb +1 -1
- data/themes/standard/blog/index.lt3 +3 -1
- data/themes/standard/sidebar/README +3 -0
- data/themes/standard/widgets/ad/ad.lt3 +11 -0
- data/themes/standard/widgets/ad/ad2.lt3 +12 -0
- data/themes/standard/{sidebar → widgets/calendar}/calendar.lt3 +0 -0
- data/themes/standard/widgets/news/card-news.html +17 -0
- data/themes/standard/{sidebar/news.lt3 → widgets/news/list.data} +2 -5
- data/themes/standard/widgets/news/main-news.html +9 -0
- data/themes/standard/widgets/news/news.lt3 +4 -0
- data/themes/standard/widgets/pages/main.lt3 +2 -2
- data/themes/standard/{sidebar → widgets/tag-cloud}/tag-cloud.lt3 +0 -0
- metadata +11 -6
- data/themes/standard/sidebar/ad.lt3 +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aec5b477d7f2cb604623e089adbaae8bb87d5ddcb784ebc3d2935aa02892e9d1
|
4
|
+
data.tar.gz: f3a03f9555b4bc7a4d9e6149e0cd9606e1d1269ceb184cac04e8d579797647ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2956b5197b0d57215fdf7701eb3369755cdc04494b357b0dbfe538e8614c8f41f643f78cd26e67d6687a925a47b9486f6375af0d3a16810d2598625b7156ae0e
|
7
|
+
data.tar.gz: f788243f1c0c1802ecc99218de1d92f87d51a67093f8d31fbf330a8825b43e8c70f478c6b756c993a295f26c76dbe0dbcd5e7d3a9d4fa39e3b22bd365cc1c482
|
data/lib/liveblog.rb
CHANGED
@@ -5,7 +5,7 @@ require 'date'
|
|
5
5
|
require 'livetext'
|
6
6
|
require 'runeblog'
|
7
7
|
|
8
|
-
errfile = File.new("liveblog.out", "w")
|
8
|
+
errfile = File.new("/tmp/liveblog.out", "w")
|
9
9
|
STDERR.reopen(errfile)
|
10
10
|
|
11
11
|
def init_liveblog # FIXME - a lot of this logic sucks
|
@@ -28,12 +28,6 @@ def post
|
|
28
28
|
_out " <!-- Post number #{@meta.num} -->\n "
|
29
29
|
end
|
30
30
|
|
31
|
-
def _view_from_cwd
|
32
|
-
md = Dir.pwd.match(%r[.*/views/(.*?)/])
|
33
|
-
return md[1] if md
|
34
|
-
nil
|
35
|
-
end
|
36
|
-
|
37
31
|
def quote
|
38
32
|
_passthru "<blockquote>"
|
39
33
|
_passthru _body
|
@@ -60,11 +54,68 @@ def h6; _passthru "<h6>#{@_data}</h6>"; end
|
|
60
54
|
|
61
55
|
def hr; _passthru "<hr>"; end
|
62
56
|
|
63
|
-
def
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
57
|
+
def list
|
58
|
+
_out "<ul>"
|
59
|
+
_body {|line| _out "<li>#{line}</li>" }
|
60
|
+
_out "</ul>"
|
61
|
+
_optional_blank_line
|
62
|
+
end
|
63
|
+
|
64
|
+
def list!
|
65
|
+
_out "<ul>"
|
66
|
+
lines = _body.each
|
67
|
+
loop do
|
68
|
+
line = lines.next
|
69
|
+
line = _format(line)
|
70
|
+
if line[0] == " "
|
71
|
+
_out line
|
72
|
+
else
|
73
|
+
_out "<li>#{line}</li>"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
_out "</ul>"
|
77
|
+
_optional_blank_line
|
78
|
+
end
|
79
|
+
|
80
|
+
def html_body(file)
|
81
|
+
file.puts "<html>\n <body>"
|
82
|
+
yield
|
83
|
+
file.puts " </body>\n</html>"
|
84
|
+
end
|
85
|
+
|
86
|
+
def make_magic_links
|
87
|
+
# FIXME remember strings may not be safe
|
88
|
+
line = _data.chomp
|
89
|
+
input, cardfile, mainfile, card_title = *line.split(" ", 4)
|
90
|
+
pairs = File.readlines(input).map {|line| line.chomp.split(",", 2) }
|
91
|
+
# HTML for main area (iframe)
|
92
|
+
File.open("#{mainfile}.html", "w") do |f|
|
93
|
+
html_body(f) do
|
94
|
+
f.puts "<h1>#{card_title}</h1>"
|
95
|
+
pairs.each {|file, title| f.puts %[<a href="#{file}">#{title}</a> <br>] }
|
96
|
+
end
|
97
|
+
end
|
98
|
+
# HTML for sidebar card
|
99
|
+
File.open("#{cardfile}.html", "w") do |f|
|
100
|
+
f.puts <<-EOS
|
101
|
+
<div class="card mb-3">
|
102
|
+
<div class="card-body">
|
103
|
+
<h5 class="card-title">
|
104
|
+
<a href="javascript: void(0)"
|
105
|
+
onclick="javascript:open_main('#{mainfile}')"
|
106
|
+
style="text-decoration: none; color: black">#{card_title}</a>
|
107
|
+
</h5>
|
108
|
+
EOS
|
109
|
+
pairs.each do |file, title|
|
110
|
+
f.puts <<-EOS
|
111
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
112
|
+
onclick="javascript:open_main('#{file}')">#{title}</a> </li>
|
113
|
+
EOS
|
114
|
+
end
|
115
|
+
f.puts <<-EOS
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
EOS
|
68
119
|
end
|
69
120
|
end
|
70
121
|
|
@@ -164,29 +215,6 @@ def pin
|
|
164
215
|
_optional_blank_line
|
165
216
|
end
|
166
217
|
|
167
|
-
def list
|
168
|
-
_out "<ul>"
|
169
|
-
_body {|line| _out "<li>#{line}</li>" }
|
170
|
-
_out "</ul>"
|
171
|
-
_optional_blank_line
|
172
|
-
end
|
173
|
-
|
174
|
-
def list!
|
175
|
-
_out "<ul>"
|
176
|
-
lines = _body.each
|
177
|
-
loop do
|
178
|
-
line = lines.next
|
179
|
-
line = _format(line)
|
180
|
-
if line[0] == " "
|
181
|
-
_out line
|
182
|
-
else
|
183
|
-
_out "<li>#{line}</li>"
|
184
|
-
end
|
185
|
-
end
|
186
|
-
_out "</ul>"
|
187
|
-
_optional_blank_line
|
188
|
-
end
|
189
|
-
|
190
218
|
def write_post
|
191
219
|
raise "'post' was not called" unless @meta
|
192
220
|
save = Dir.pwd
|
@@ -277,6 +305,8 @@ class Livetext::Functions
|
|
277
305
|
end
|
278
306
|
end
|
279
307
|
|
308
|
+
###
|
309
|
+
|
280
310
|
def _var(name) # FIXME scope issue!
|
281
311
|
::Livetext::Vars[name] || "[:#{name} is undefined]"
|
282
312
|
end
|
@@ -367,12 +397,12 @@ end
|
|
367
397
|
def sidebar
|
368
398
|
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
369
399
|
_body do |line|
|
370
|
-
tag = line.chomp.strip
|
371
|
-
|
372
|
-
|
373
|
-
source
|
400
|
+
tag = line.chomp.strip.downcase
|
401
|
+
Dir.chdir("widgets/#{tag}") do
|
402
|
+
source = "#{tag}.lt3"
|
403
|
+
livetext source, "/dev/null"
|
404
|
+
_include_file "card-#{source}.html"
|
374
405
|
end
|
375
|
-
_include_file source
|
376
406
|
end
|
377
407
|
_out %[</div>]
|
378
408
|
end
|
@@ -457,7 +487,7 @@ def all_teasers
|
|
457
487
|
end
|
458
488
|
text << "</body></html>"
|
459
489
|
File.write("recent.html", text)
|
460
|
-
_out %[<iframe id="main" style="width: 100vw;height: 100vh;position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
|
490
|
+
_out %[<iframe id="main" style="width: 100vw; height: 100vh; position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
|
461
491
|
end
|
462
492
|
|
463
493
|
def _post_lookup(postid) # side-effect
|
@@ -547,7 +577,9 @@ def card1
|
|
547
577
|
end
|
548
578
|
|
549
579
|
def card2
|
550
|
-
|
580
|
+
str = _data
|
581
|
+
file, card_title = str.chomp.split(" ", 2)
|
582
|
+
card_title = %[<a #{_main(file)} style="text-decoration: none; color: black">#{card_title}</a>]
|
551
583
|
|
552
584
|
# FIXME is this wrong??
|
553
585
|
|
@@ -555,7 +587,6 @@ def card2
|
|
555
587
|
<div class="card mb-3">
|
556
588
|
<div class="card-body">
|
557
589
|
<h5 class="card-title">#{card_title}</h5>
|
558
|
-
</div>
|
559
590
|
<ul class="list-group list-group-flush">
|
560
591
|
HTML
|
561
592
|
_out open
|
@@ -564,7 +595,7 @@ def card2
|
|
564
595
|
main = _main(url)
|
565
596
|
_out %[<li class="list-group-item"><a #{main}}">#{cdata}</a> </li>]
|
566
597
|
end
|
567
|
-
close = %[ </ul>\n </div>]
|
598
|
+
close = %[ </ul>\n </div>\n </div>]
|
568
599
|
_out close
|
569
600
|
end
|
570
601
|
|
data/lib/runeblog_version.rb
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
. This is the "card" (sidebar) version.
|
2
|
+
|
3
|
+
. In real life, there may be complex code here
|
4
|
+
. referencing some advertiser or ad network
|
5
|
+
. which will bring up a random ad.
|
6
|
+
|
7
|
+
.card1 Advertisement
|
8
|
+
Build your amazing website with blabla.com.
|
9
|
+
https://google.com/,btn btn-light float-right,Visit Page
|
10
|
+
.end
|
11
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
.set classname="btn btn-light float-right"
|
2
|
+
.set card.title="Advertisement"
|
3
|
+
.set card.text="Build your amazing website with blabla.com."
|
4
|
+
.set extra="bg-dark text-white"
|
5
|
+
|
6
|
+
<div class="card #{_var[:extra]} mb-3">
|
7
|
+
<div class="card-body">
|
8
|
+
<h5 class="card-title">#{_var["card.title"]}</h5>
|
9
|
+
<p class="card-text">#{_var["card.text"]}</p>
|
10
|
+
<a #{main} class="#{classname}">#{_var["card.text"]}</a>
|
11
|
+
</div>
|
12
|
+
</div>
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="card mb-3">
|
2
|
+
<div class="card-body">
|
3
|
+
<h5 class="card-title">
|
4
|
+
<a href="javascript: void(0)"
|
5
|
+
onclick="javascript:open_main('main-news')"
|
6
|
+
style="text-decoration: none; color: black">Recent News</a>
|
7
|
+
</h5>
|
8
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
9
|
+
onclick="javascript:open_main('https://techcrunch.com/2019/09/16/fossa-scores-8-5-million-series-a-to-help-enterprise-manage-open-source-licenses/')">FOSSA scores \$8.5 million Series A to help enterprise manage open-source licenses</a> </li>
|
10
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
11
|
+
onclick="javascript:open_main('https://techcrunch.com/2019/09/17/spacexs-orbital-starship-prototype-construction-progress-detailed-in-new-photos/')">SpaceX’s orbital Starship prototype construction progress detailed in new photos</a> </li>
|
12
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
13
|
+
onclick="javascript:open_main('https://developers.googleblog.com/2019/05/Flutter-io19.html')">Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop</a> </li>
|
14
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
15
|
+
onclick="javascript:open_main('https://jaycarlson.net/microcontrollers/')">The Amazing \$1 Microcontroller (2017)</a> </li>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -1,7 +1,4 @@
|
|
1
|
-
.
|
2
|
-
https://techcrunch.com/2019/09/16/fossa-scores-8-5-million-series-a-to-help-enterprise-manage-open-source-licenses/,FOSSA scores $8.5 million Series A to help enterprise manage open-source licenses
|
1
|
+
https://techcrunch.com/2019/09/16/fossa-scores-8-5-million-series-a-to-help-enterprise-manage-open-source-licenses/,FOSSA scores \$8.5 million Series A to help enterprise manage open-source licenses
|
3
2
|
https://techcrunch.com/2019/09/17/spacexs-orbital-starship-prototype-construction-progress-detailed-in-new-photos/,SpaceX’s orbital Starship prototype construction progress detailed in new photos
|
4
3
|
https://developers.googleblog.com/2019/05/Flutter-io19.html,Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop
|
5
|
-
https://jaycarlson.net/microcontrollers/,The Amazing
|
6
|
-
.end
|
7
|
-
|
4
|
+
https://jaycarlson.net/microcontrollers/,The Amazing \$1 Microcontroller (2017)
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<html>
|
2
|
+
<body>
|
3
|
+
<h1>Recent News</h1>
|
4
|
+
<a href="https://techcrunch.com/2019/09/16/fossa-scores-8-5-million-series-a-to-help-enterprise-manage-open-source-licenses/">FOSSA scores \$8.5 million Series A to help enterprise manage open-source licenses</a> <br>
|
5
|
+
<a href="https://techcrunch.com/2019/09/17/spacexs-orbital-starship-prototype-construction-progress-detailed-in-new-photos/">SpaceX’s orbital Starship prototype construction progress detailed in new photos</a> <br>
|
6
|
+
<a href="https://developers.googleblog.com/2019/05/Flutter-io19.html">Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop</a> <br>
|
7
|
+
<a href="https://jaycarlson.net/microcontrollers/">The Amazing \$1 Microcontroller (2017)</a> <br>
|
8
|
+
</body>
|
9
|
+
</html>
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: runeblog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.99
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|
@@ -94,11 +94,15 @@ files:
|
|
94
94
|
- themes/standard/post/head.lt3
|
95
95
|
- themes/standard/post/index.lt3
|
96
96
|
- themes/standard/post/permalink.lt3
|
97
|
-
- themes/standard/sidebar/
|
98
|
-
- themes/standard/sidebar/calendar.lt3
|
99
|
-
- themes/standard/sidebar/news.lt3
|
100
|
-
- themes/standard/sidebar/tag-cloud.lt3
|
97
|
+
- themes/standard/sidebar/README
|
101
98
|
- themes/standard/widgets/README
|
99
|
+
- themes/standard/widgets/ad/ad.lt3
|
100
|
+
- themes/standard/widgets/ad/ad2.lt3
|
101
|
+
- themes/standard/widgets/calendar/calendar.lt3
|
102
|
+
- themes/standard/widgets/news/card-news.html
|
103
|
+
- themes/standard/widgets/news/list.data
|
104
|
+
- themes/standard/widgets/news/main-news.html
|
105
|
+
- themes/standard/widgets/news/news.lt3
|
102
106
|
- themes/standard/widgets/pages/README
|
103
107
|
- themes/standard/widgets/pages/disclaim.lt3
|
104
108
|
- themes/standard/widgets/pages/faq.lt3
|
@@ -108,6 +112,7 @@ files:
|
|
108
112
|
- themes/standard/widgets/pages/list.data
|
109
113
|
- themes/standard/widgets/pages/main.html
|
110
114
|
- themes/standard/widgets/pages/main.lt3
|
115
|
+
- themes/standard/widgets/tag-cloud/tag-cloud.lt3
|
111
116
|
homepage: https://github.com/Hal9000/runeblog
|
112
117
|
licenses:
|
113
118
|
- Ruby
|