runeblog 0.1.86 → 0.1.92
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/helpers-blog.rb +8 -5
- data/lib/liveblog.rb +59 -68
- data/lib/post.rb +2 -25
- data/lib/repl.rb +0 -21
- data/lib/runeblog.rb +21 -32
- data/lib/runeblog_version.rb +1 -1
- data/themes/standard/README +33 -0
- data/themes/standard/{blog-generate.lt3 → blog/generate.lt3} +3 -3
- data/themes/standard/blog/head.lt3 +10 -0
- data/themes/standard/blog/index.lt3 +4 -0
- data/themes/standard/{blog-_postentry.lt3 → blog/post_entry.lt3} +0 -0
- data/themes/standard/{assets → etc}/blog.css +2 -0
- data/themes/standard/{blog-head.lt3 → etc/externals.lt3} +0 -9
- data/themes/standard/{assets → etc}/favicon.ico +0 -0
- data/themes/standard/liveblog.out +27 -0
- data/themes/standard/{about.html → navbar/about.html} +0 -0
- data/themes/standard/{navbar.lt3 → navbar/navbar.lt3} +0 -0
- data/themes/standard/post/generate.lt3 +21 -0
- data/themes/standard/{post-head.lt3 → post/head.lt3} +0 -0
- data/themes/standard/{post-index.lt3 → post/index.lt3} +0 -0
- metadata +15 -19
- data/themes/standard/blog-index.lt3 +0 -11
- data/themes/standard/blog-meta.lt3 +0 -3
- data/themes/standard/blog-navbar.lt3 +0 -6
- data/themes/standard/post-generate.lt3 +0 -5
- data/themes/standard/sidebar-ad.lt3 +0 -5
- data/themes/standard/sidebar-calendar.lt3 +0 -6
- data/themes/standard/sidebar-news.lt3 +0 -7
- data/themes/standard/sidebar-tag-cloud.lt3 +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28db91c5c187f46387a81fae94e52e61498c5d85bcfbb9f1e6291acc330e94a7
|
4
|
+
data.tar.gz: 526ffa1a59ce7abb2fd014b23ca92fb7d03b2830541f1e0fbd361c71de101f6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17711b8b724d0d7d75bb75da955187c4973070f82d18fa4dba4dbe0f1a55d6ae09b14bb0b31f33b36326803aab43ed14869dacde224b5109c6ba9c31024bd9ca
|
7
|
+
data.tar.gz: 8a7d737cc8eba180ba4293c161fbdb5458fa201770e707795e2811d3e5f6df135421a1c98794cf848ddaec79c809ce496019dfa3f4e0be08986eb02d309bc388
|
data/lib/helpers-blog.rb
CHANGED
@@ -133,11 +133,14 @@ end
|
|
133
133
|
files
|
134
134
|
end
|
135
135
|
|
136
|
-
def
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
136
|
+
def create_dirs(*dirs)
|
137
|
+
dirs.each do |dir|
|
138
|
+
dir = dir.to_s # symbols allowed
|
139
|
+
next if Dir.exist?(dir)
|
140
|
+
cmd = "mkdir -p #{dir} >/dev/null"
|
141
|
+
result = system(cmd)
|
142
|
+
raise CantCreateDir(dir) unless result
|
143
|
+
end
|
141
144
|
end
|
142
145
|
|
143
146
|
def interpolate(str, binding)
|
data/lib/liveblog.rb
CHANGED
@@ -8,17 +8,6 @@ require 'runeblog'
|
|
8
8
|
errfile = File.new("liveblog.out", "w")
|
9
9
|
STDERR.reopen(errfile)
|
10
10
|
|
11
|
-
=begin
|
12
|
-
123:def title # side-effect
|
13
|
-
133:def pubdate # side-effect
|
14
|
-
153:def tags # side-effect
|
15
|
-
160:def views # side-effect
|
16
|
-
167:def pin # side-effect
|
17
|
-
218:def write_post # side-effect
|
18
|
-
393:def main # side-effect
|
19
|
-
491:def _post_lookup(postid) # side-effect
|
20
|
-
=end
|
21
|
-
|
22
11
|
def init_liveblog # FIXME - a lot of this logic sucks
|
23
12
|
here = Dir.pwd
|
24
13
|
dir = here
|
@@ -57,7 +46,7 @@ end
|
|
57
46
|
|
58
47
|
def style
|
59
48
|
fname = _args[0]
|
60
|
-
_passthru %[<link rel="stylesheet" href="???/
|
49
|
+
_passthru %[<link rel="stylesheet" href="???/etc/#{fname}')">]
|
61
50
|
end
|
62
51
|
|
63
52
|
# Move elsewhere later!
|
@@ -124,7 +113,7 @@ def _passthru_noline(line)
|
|
124
113
|
_out "<p>" if line.empty? && ! @_nopara
|
125
114
|
end
|
126
115
|
|
127
|
-
def title
|
116
|
+
def title
|
128
117
|
raise "'post' was not called" unless @meta
|
129
118
|
title = @_data.chomp
|
130
119
|
@meta.title = title
|
@@ -133,7 +122,7 @@ def title # side-effect
|
|
133
122
|
_optional_blank_line
|
134
123
|
end
|
135
124
|
|
136
|
-
def pubdate
|
125
|
+
def pubdate
|
137
126
|
raise "'post' was not called" unless @meta
|
138
127
|
_debug "data = #@_data"
|
139
128
|
# Check for discrepancy?
|
@@ -153,21 +142,21 @@ def image # primitive so far
|
|
153
142
|
_optional_blank_line
|
154
143
|
end
|
155
144
|
|
156
|
-
def tags
|
145
|
+
def tags
|
157
146
|
raise "'post' was not called" unless @meta
|
158
147
|
_debug "args = #{_args}"
|
159
148
|
@meta.tags = _args.dup || []
|
160
149
|
_optional_blank_line
|
161
150
|
end
|
162
151
|
|
163
|
-
def views
|
152
|
+
def views
|
164
153
|
raise "'post' was not called" unless @meta
|
165
154
|
_debug "data = #{_args}"
|
166
|
-
@meta.views = _args.dup
|
155
|
+
@meta.views = _args.dup
|
167
156
|
_optional_blank_line
|
168
157
|
end
|
169
158
|
|
170
|
-
def pin
|
159
|
+
def pin
|
171
160
|
raise "'post' was not called" unless @meta
|
172
161
|
_debug "data = #{_args}"
|
173
162
|
# verify only already-specified views?
|
@@ -198,7 +187,7 @@ def list!
|
|
198
187
|
_optional_blank_line
|
199
188
|
end
|
200
189
|
|
201
|
-
def write_post
|
190
|
+
def write_post
|
202
191
|
raise "'post' was not called" unless @meta
|
203
192
|
save = Dir.pwd
|
204
193
|
@postdir.gsub!(/\/\//, "/") # FIXME unneeded?
|
@@ -224,7 +213,6 @@ def teaser
|
|
224
213
|
raise "'post' was not called" unless @meta
|
225
214
|
@meta.teaser = _body_text
|
226
215
|
_out @meta.teaser + "\n"
|
227
|
-
STDERR.puts "TEASER cwd = #{Dir.pwd}"
|
228
216
|
# FIXME
|
229
217
|
end
|
230
218
|
|
@@ -234,7 +222,7 @@ def finalize
|
|
234
222
|
return
|
235
223
|
end
|
236
224
|
if @blog.nil?
|
237
|
-
return @meta
|
225
|
+
return @meta
|
238
226
|
end
|
239
227
|
|
240
228
|
@slug = @blog.make_slug(@meta)
|
@@ -292,7 +280,12 @@ def _var(name) # FIXME scope issue!
|
|
292
280
|
::Livetext::Vars[name] || "[:#{name} is undefined]"
|
293
281
|
end
|
294
282
|
|
295
|
-
def head
|
283
|
+
def head # Does NOT output <head> tags
|
284
|
+
args = _args
|
285
|
+
args.each do |inc|
|
286
|
+
self.data = inc
|
287
|
+
_include
|
288
|
+
end
|
296
289
|
# Depends on vars: title, desc, host
|
297
290
|
defaults = {}
|
298
291
|
defaults = { "charset" => %[<meta charset="utf-8">],
|
@@ -306,9 +299,9 @@ def head
|
|
306
299
|
"linkc" => %[<link rel="canonical" href="#{_var(:host)}">],
|
307
300
|
"og:url" => %[<meta property="og:url" content="#{_var(:host)}">],
|
308
301
|
"og:site_name" => %[<meta property="og:site_name" content="#{_var(:title)}">],
|
309
|
-
"style" => %[<link rel="stylesheet" href="
|
302
|
+
"style" => %[<link rel="stylesheet" href="etc/blog.css">],
|
310
303
|
"feed" => %[<link type="application/atom+xml" rel="alternate" href="#{_var(:host)}/feed.xml" title="#{_var(:title)}">],
|
311
|
-
"favicon" => %[<link rel="shortcut icon" type="image/x-icon" href="../
|
304
|
+
"favicon" => %[<link rel="shortcut icon" type="image/x-icon" href="../etc/favicon.ico">\n <link rel="apple-touch-icon" href="../etc/favicon.ico">]
|
312
305
|
}
|
313
306
|
result = {}
|
314
307
|
lines = _body
|
@@ -318,12 +311,12 @@ def head
|
|
318
311
|
case word
|
319
312
|
when "viewport"
|
320
313
|
result["viewport"] = %[<meta name="viewport" content="#{remain}">]
|
321
|
-
when "script"
|
314
|
+
when "script" # FIXME this is broken
|
322
315
|
file = remain
|
323
316
|
text = File.read(file)
|
324
317
|
result["script"] = Livetext.new.transform(text)
|
325
318
|
when "style"
|
326
|
-
result["style"] = %[<link rel="stylesheet" href="('/
|
319
|
+
result["style"] = %[<link rel="stylesheet" href="('/etc/#{remain}')">]
|
327
320
|
# Later: allow other overrides
|
328
321
|
when ""; break
|
329
322
|
else
|
@@ -332,9 +325,7 @@ def head
|
|
332
325
|
end
|
333
326
|
hash = defaults.dup.update(result) # FIXME collisions?
|
334
327
|
# _out "<html lang=en_US>"
|
335
|
-
_out "<head>"
|
336
328
|
hash.each_value {|x| _out " " + x }
|
337
|
-
_out "</head>"
|
338
329
|
_out "<body>"
|
339
330
|
end
|
340
331
|
|
@@ -359,16 +350,9 @@ def meta
|
|
359
350
|
_out str
|
360
351
|
end
|
361
352
|
|
362
|
-
def
|
353
|
+
def recent_posts # side-effect
|
363
354
|
_out %[<div class="col-lg-9 col-md-9 col-sm-9 col-xs-12">]
|
364
|
-
|
365
|
-
STDERR.puts "--- inside #main: which = #{which.inspect}"
|
366
|
-
case which
|
367
|
-
when "recent_posts"
|
368
|
-
all_teasers
|
369
|
-
when "post" # No longer needed??
|
370
|
-
_out %[<iframe style="width: 100vw;height: 100vh;position: relative;" src='whats-at-stubbs.html' width=100% frameborder="0" allowfullscreen></iframe>]
|
371
|
-
end
|
355
|
+
all_teasers
|
372
356
|
_out %[</div>]
|
373
357
|
end
|
374
358
|
|
@@ -382,7 +366,7 @@ def sidebar
|
|
382
366
|
_out %[</div>]
|
383
367
|
end
|
384
368
|
|
385
|
-
def
|
369
|
+
def sidebar!
|
386
370
|
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
387
371
|
_args do |line|
|
388
372
|
tag = line.chomp.strip
|
@@ -446,7 +430,7 @@ def all_teasers
|
|
446
430
|
|
447
431
|
text = <<-HTML
|
448
432
|
<html>
|
449
|
-
<head><link rel="stylesheet" href="
|
433
|
+
<head><link rel="stylesheet" href="etc/blog.css"></head>
|
450
434
|
<body>
|
451
435
|
HTML
|
452
436
|
posts = _find_recent_posts
|
@@ -485,7 +469,7 @@ end
|
|
485
469
|
def _teaser(slug)
|
486
470
|
id = slug.to_i
|
487
471
|
text = nil
|
488
|
-
post_entry_name = @theme + "blog
|
472
|
+
post_entry_name = @theme + "blog/post_entry.lt3"
|
489
473
|
@_post_entry ||= File.read(post_entry_name)
|
490
474
|
vp = _post_lookup(id)
|
491
475
|
nslug, aslug, title, date, teaser_text =
|
@@ -498,50 +482,57 @@ def _teaser(slug)
|
|
498
482
|
text
|
499
483
|
end
|
500
484
|
|
485
|
+
def _card_generic(card_title:, middle:, extra: "")
|
486
|
+
front = <<-HTML
|
487
|
+
<div class="card #{extra} mb-3">
|
488
|
+
<div class="card-body">
|
489
|
+
<h5 class="card-title">#{card_title}</h5>
|
490
|
+
HTML
|
491
|
+
|
492
|
+
tail = <<-HTML
|
493
|
+
</div>
|
494
|
+
</div>
|
495
|
+
HTML
|
496
|
+
text = front + middle + tail
|
497
|
+
_out text + "\n "
|
498
|
+
end
|
501
499
|
|
502
500
|
def card_iframe
|
503
|
-
title = _data
|
504
|
-
lines
|
501
|
+
title, lines = _data, _body
|
502
|
+
lines.map!(&:chomp)
|
505
503
|
url = lines[0].chomp
|
506
504
|
stuff = lines[1..-1].join(" ") # FIXME later
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
style="border: 0" height="350"
|
513
|
-
frameborder="0" scrolling="no">
|
514
|
-
</iframe>
|
515
|
-
</div>
|
516
|
-
</div>
|
505
|
+
middle = <<-HTML
|
506
|
+
<iframe src="#{url}" #{stuff}
|
507
|
+
style="border: 0" height="350"
|
508
|
+
frameborder="0" scrolling="no">
|
509
|
+
</iframe>
|
517
510
|
HTML
|
518
|
-
|
519
|
-
|
520
|
-
|
511
|
+
|
512
|
+
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
513
|
+
|
521
514
|
end
|
522
515
|
|
523
516
|
def card1
|
524
|
-
|
525
|
-
lines = _body
|
517
|
+
title, lines = _data, _body
|
526
518
|
lines.map!(&:chomp)
|
519
|
+
|
527
520
|
card_text = lines[0]
|
528
521
|
url, target, classname, cdata = lines[1].split(",", 4)
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
<p class="card-text">#{card_text}</p>
|
534
|
-
<a href="#{url}" target="#{target}" class="#{classname}">#{cdata}</a>
|
535
|
-
</div>
|
536
|
-
</div>
|
522
|
+
|
523
|
+
middle = <<-HTML
|
524
|
+
<p class="card-text">#{card_text}</p>
|
525
|
+
<a href="#{url}" target="#{target}" class="#{classname}">#{cdata}</a>
|
537
526
|
HTML
|
538
|
-
|
539
|
-
|
540
|
-
puts @live.body
|
527
|
+
|
528
|
+
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
541
529
|
end
|
542
530
|
|
543
531
|
def card2
|
544
532
|
card_title = _data
|
533
|
+
|
534
|
+
# FIXME is this wrong??
|
535
|
+
|
545
536
|
open = <<-HTML
|
546
537
|
<div class="card mb-3">
|
547
538
|
<div class="card-body">
|
data/lib/post.rb
CHANGED
@@ -105,34 +105,11 @@ class RuneBlog::Post
|
|
105
105
|
error(err)
|
106
106
|
end
|
107
107
|
|
108
|
-
def build
|
108
|
+
def build
|
109
109
|
post = self
|
110
110
|
views = post.meta.views
|
111
111
|
text = File.read(@draft)
|
112
|
-
|
113
|
-
@blog.generate_post(@draft)
|
114
|
-
return
|
115
|
-
|
116
|
-
STDERR.puts "-- Post#build starts in #{Dir.pwd} ..."
|
117
|
-
|
118
|
-
@meta.views.each do |view_name|
|
119
|
-
# Create dir using slug (index.html, metadata?)
|
120
|
-
dir = "#{@blog.root}/views/#{view_name}/posts/"
|
121
|
-
pdir = dir + meta.slug + "/"
|
122
|
-
create_dir(pdir) unless Dir.exist?(pdir)
|
123
|
-
Dir.chdir(pdir) do
|
124
|
-
title_name = pdir + (meta.slug + ".lt3").sub(/^\d{4}-/, "")
|
125
|
-
dump(text, title_name)
|
126
|
-
cmd = "livetext #{title_name} >#{title_name.sub(/.lt3$/, ".html")}"
|
127
|
-
STDERR.puts "--- In #{pdir}"
|
128
|
-
STDERR.puts "--- cmd = #{cmd}\n "
|
129
|
-
system(cmd)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
@meta
|
133
|
-
rescue => err
|
134
|
-
p err
|
135
|
-
puts err.backtrace.join("\n")
|
112
|
+
@blog.generate_post(@draft)
|
136
113
|
end
|
137
114
|
end
|
138
115
|
|
data/lib/repl.rb
CHANGED
@@ -233,7 +233,6 @@ module RuneBlog::REPL
|
|
233
233
|
# Simplify this
|
234
234
|
tag = "#{'%04d' % id}"
|
235
235
|
files = Find.find(@blog.root+"/drafts").to_a
|
236
|
-
p files
|
237
236
|
files = files.grep(/#{tag}-.*lt3/)
|
238
237
|
files = files.map {|f| File.basename(f) }
|
239
238
|
if files.size > 1
|
@@ -252,27 +251,7 @@ p files
|
|
252
251
|
file = files.first
|
253
252
|
draft = "#{@blog.root}/drafts/#{file}"
|
254
253
|
result = edit_file(draft)
|
255
|
-
|
256
|
-
STDERR.puts "Calling gp: pwd = #{Dir.pwd} draft = #{draft}"
|
257
|
-
puts
|
258
|
-
|
259
254
|
@blog.generate_post(draft)
|
260
|
-
return
|
261
|
-
|
262
|
-
# NEW code...
|
263
|
-
view = @blog.view
|
264
|
-
# livetext source > naked post 9999-slug (dir?)
|
265
|
-
draft = @blog.root + "/drafts/#{file}"
|
266
|
-
# theme = "#{@blog.view.dir}/themes/standard"
|
267
|
-
# src = "#{theme}/post-index.lt3"
|
268
|
-
|
269
|
-
system("cp #{draft} #{src}") # terms are confusing
|
270
|
-
file2 = file.sub(/.lt3$/, ".html")
|
271
|
-
Dir.chdir(theme) do
|
272
|
-
system("livetext index.lt3 >#{file2}")
|
273
|
-
end
|
274
|
-
# @blog.rebuild_post(file)
|
275
|
-
@out
|
276
255
|
end
|
277
256
|
|
278
257
|
def cmd_list_views(arg, testing = false)
|
data/lib/runeblog.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'date'
|
2
|
-
# require 'livetext'
|
3
2
|
|
4
3
|
require 'runeblog_version'
|
5
4
|
require 'global'
|
@@ -25,7 +24,6 @@ class RuneBlog
|
|
25
24
|
make_exception(:CantCreateDir, "Can't create directory $1")
|
26
25
|
make_exception(:EditorProblem, "Could not edit $1")
|
27
26
|
make_exception(:NoSuchView, "No such view: $1")
|
28
|
-
# make_exception(:LivetextError, "Livetext#process_file returned nil for $1")
|
29
27
|
make_exception(:NoBlogAccessor, "Runeblog.blog is not set")
|
30
28
|
|
31
29
|
|
@@ -56,11 +54,9 @@ class RuneBlog
|
|
56
54
|
$_blog = self # Dumber still?
|
57
55
|
root = Dir.pwd + "/" + root
|
58
56
|
raise BlogRepoAlreadyExists if Dir.exist?(root)
|
59
|
-
|
57
|
+
create_dirs(root)
|
60
58
|
Dir.chdir(root) do
|
61
|
-
|
62
|
-
create_dir("views")
|
63
|
-
#? create_dir("assets")
|
59
|
+
create_dirs(:drafts, :views)
|
64
60
|
new_sequence
|
65
61
|
end
|
66
62
|
put_config(root: root)
|
@@ -174,34 +170,27 @@ class RuneBlog
|
|
174
170
|
|
175
171
|
vdir = "#@root/views/#{arg}/"
|
176
172
|
raise DirAlreadyExists(vdir) if Dir.exist?(vdir)
|
177
|
-
|
173
|
+
create_dirs(vdir)
|
178
174
|
up = Dir.pwd
|
179
175
|
|
180
|
-
Dir.chdir(vdir)
|
181
|
-
|
182
|
-
#
|
183
|
-
|
184
|
-
|
185
|
-
|
176
|
+
Dir.chdir(vdir) do
|
177
|
+
x = RuneBlog::Default
|
178
|
+
copy!("#{Themes}", "themes")
|
179
|
+
create_dirs(:assets, :posts)
|
180
|
+
create_dirs(:staging, :remote)
|
181
|
+
copy!("themes/standard/*", "staging/")
|
182
|
+
copy!("themes/standard/*", "remote/")
|
186
183
|
|
187
|
-
|
188
|
-
|
189
|
-
create_dir('remote')
|
190
|
-
create_dir('remote/assets')
|
184
|
+
pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
|
185
|
+
dump(pub, "publish")
|
191
186
|
|
192
|
-
|
193
|
-
copy("themes/standard/assets/*", "remote/assets/")
|
187
|
+
# Add to global.lt3 here? FIXME
|
194
188
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
view = RuneBlog::View.new(arg)
|
201
|
-
self.view = view
|
202
|
-
vdir = self.view.dir
|
203
|
-
dump("Initial creation", "last_published")
|
204
|
-
Dir.chdir(up)
|
189
|
+
view = RuneBlog::View.new(arg)
|
190
|
+
self.view = view
|
191
|
+
vdir = self.view.dir
|
192
|
+
dump("Initial creation", "last_published")
|
193
|
+
end
|
205
194
|
@views << view
|
206
195
|
@views
|
207
196
|
end
|
@@ -248,7 +237,7 @@ class RuneBlog
|
|
248
237
|
def teaser(slug)
|
249
238
|
id = slug.to_i
|
250
239
|
text = nil
|
251
|
-
post_entry_name = @theme + "/blog
|
240
|
+
post_entry_name = @theme + "/blog/post_entry.lt3"
|
252
241
|
@_post_entry ||= File.read(post_entry_name)
|
253
242
|
vp = post_lookup(id)
|
254
243
|
nslug, aslug, title, date, teaser_text =
|
@@ -274,7 +263,7 @@ class RuneBlog
|
|
274
263
|
posts = posts[0..19] # return 20 at most
|
275
264
|
text = <<-HTML
|
276
265
|
<html>
|
277
|
-
<head><link rel="stylesheet" href="
|
266
|
+
<head><link rel="stylesheet" href="etc/blog.css"></head>
|
278
267
|
<body>
|
279
268
|
HTML
|
280
269
|
# posts = _find_recent_posts
|
@@ -412,7 +401,7 @@ class RuneBlog
|
|
412
401
|
copy html, "../remote"
|
413
402
|
collect_recent_posts("recent.html")
|
414
403
|
copy("recent.html", "../remote")
|
415
|
-
livetext "blog
|
404
|
+
livetext "blog/generate", "../remote/index"
|
416
405
|
end
|
417
406
|
end
|
418
407
|
end
|
data/lib/runeblog_version.rb
CHANGED
data/themes/standard/README
CHANGED
@@ -1,3 +1,36 @@
|
|
1
|
+
New structire:
|
2
|
+
|
3
|
+
.
|
4
|
+
├── README
|
5
|
+
├── assets
|
6
|
+
├── banner
|
7
|
+
├── blog
|
8
|
+
│ ├── generate.lt3
|
9
|
+
│ ├── head.lt3
|
10
|
+
│ ├── index.lt3
|
11
|
+
│ └── post_entry.lt3
|
12
|
+
├── etc
|
13
|
+
│ ├── blog.css
|
14
|
+
│ ├── externals.lt3
|
15
|
+
│ └── favicon.ico
|
16
|
+
├── global.lt3
|
17
|
+
├── head.lt3
|
18
|
+
├── liveblog.out
|
19
|
+
├── meta.lt3
|
20
|
+
├── navbar
|
21
|
+
│ ├── about.html
|
22
|
+
│ └── navbar.lt3
|
23
|
+
├── pages
|
24
|
+
├── post
|
25
|
+
│ ├── generate.lt3
|
26
|
+
│ ├── head.lt3
|
27
|
+
│ └── index.lt3
|
28
|
+
└── sidebar
|
29
|
+
├── ad.lt3
|
30
|
+
├── calendar.lt3
|
31
|
+
├── news.lt3
|
32
|
+
└── tag-cloud.lt3
|
33
|
+
|
1
34
|
|
2
35
|
templates The first "default theme" - more later
|
3
36
|
├── README This file
|
@@ -5,12 +5,12 @@
|
|
5
5
|
<!-- It was generated from $File on $$date. -->
|
6
6
|
|
7
7
|
.include global.lt3
|
8
|
-
.include blog
|
8
|
+
.include blog/head.lt3
|
9
9
|
<body>
|
10
|
-
$.include navbar.lt3
|
10
|
+
$.include navbar/navbar.lt3
|
11
11
|
<div class="content container-fluid mt-4">
|
12
12
|
<div class="row">
|
13
|
-
$.include blog
|
13
|
+
$.include blog/index.lt3
|
14
14
|
</div>
|
15
15
|
</div>
|
16
16
|
</body>
|
File without changes
|
@@ -1,7 +1,3 @@
|
|
1
|
-
<head> <!-- fix this later -->
|
2
|
-
|
3
|
-
.include meta.lt3
|
4
|
-
|
5
1
|
.stylesheet
|
6
2
|
https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css
|
7
3
|
sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T
|
@@ -21,8 +17,3 @@ sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1
|
|
21
17
|
https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js
|
22
18
|
sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM
|
23
19
|
.end
|
24
|
-
|
25
|
-
</head>
|
26
|
-
|
27
|
-
.head # fix/remove later
|
28
|
-
.end
|
File without changes
|
@@ -0,0 +1,27 @@
|
|
1
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
2
|
+
- about to process global.lt3
|
3
|
+
...finished
|
4
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
5
|
+
- about to process blog/head.lt3
|
6
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
7
|
+
- about to process meta.lt3
|
8
|
+
...finished
|
9
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
10
|
+
- about to process navbar.lt3
|
11
|
+
...finished
|
12
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
13
|
+
- about to process blog-index.lt3
|
14
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
15
|
+
- about to process sidebar/ad.lt3
|
16
|
+
...finished
|
17
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
18
|
+
- about to process sidebar/news.lt3
|
19
|
+
...finished
|
20
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
21
|
+
- about to process sidebar/calendar.lt3
|
22
|
+
...finished
|
23
|
+
In /Users/Hal/Dropbox/files/runeblog/themes/standard
|
24
|
+
- about to process sidebar/tag-cloud.lt3
|
25
|
+
...finished
|
26
|
+
...finished
|
27
|
+
...finished
|
File without changes
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.mixin liveblog
|
2
|
+
|
3
|
+
. FIXME?
|
4
|
+
|
5
|
+
<html>
|
6
|
+
<!-- Editing this file is not recommended. -->
|
7
|
+
<!-- It was generated from $File on $$date. -->
|
8
|
+
|
9
|
+
.include global.lt3
|
10
|
+
.include blog/head.lt3
|
11
|
+
. post head stuff...
|
12
|
+
|
13
|
+
. html/body mismatch?
|
14
|
+
|
15
|
+
<section class="post">
|
16
|
+
<div class="entry-content">
|
17
|
+
$.include post/index.lt3
|
18
|
+
</div>
|
19
|
+
</section>
|
20
|
+
</body>
|
21
|
+
</html>
|
File without changes
|
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.92
|
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-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|
@@ -78,26 +78,22 @@ files:
|
|
78
78
|
- test/make_blog.rb
|
79
79
|
- test/test
|
80
80
|
- themes/standard/README
|
81
|
-
- themes/standard/
|
82
|
-
- themes/standard/
|
83
|
-
- themes/standard/
|
84
|
-
- themes/standard/blog
|
85
|
-
- themes/standard/blog
|
86
|
-
- themes/standard/
|
87
|
-
- themes/standard/
|
88
|
-
- themes/standard/blog-meta.lt3
|
89
|
-
- themes/standard/blog-navbar.lt3
|
81
|
+
- themes/standard/blog/generate.lt3
|
82
|
+
- themes/standard/blog/head.lt3
|
83
|
+
- themes/standard/blog/index.lt3
|
84
|
+
- themes/standard/blog/post_entry.lt3
|
85
|
+
- themes/standard/etc/blog.css
|
86
|
+
- themes/standard/etc/externals.lt3
|
87
|
+
- themes/standard/etc/favicon.ico
|
90
88
|
- themes/standard/global.lt3
|
91
89
|
- themes/standard/head.lt3
|
90
|
+
- themes/standard/liveblog.out
|
92
91
|
- themes/standard/meta.lt3
|
93
|
-
- themes/standard/navbar.
|
94
|
-
- themes/standard/
|
95
|
-
- themes/standard/post
|
96
|
-
- themes/standard/post
|
97
|
-
- themes/standard/
|
98
|
-
- themes/standard/sidebar-calendar.lt3
|
99
|
-
- themes/standard/sidebar-news.lt3
|
100
|
-
- themes/standard/sidebar-tag-cloud.lt3
|
92
|
+
- themes/standard/navbar/about.html
|
93
|
+
- themes/standard/navbar/navbar.lt3
|
94
|
+
- themes/standard/post/generate.lt3
|
95
|
+
- themes/standard/post/head.lt3
|
96
|
+
- themes/standard/post/index.lt3
|
101
97
|
- themes/standard/sidebar/ad.lt3
|
102
98
|
- themes/standard/sidebar/calendar.lt3
|
103
99
|
- themes/standard/sidebar/news.lt3
|
@@ -1,7 +0,0 @@
|
|
1
|
-
.card2 Recent News
|
2
|
-
https://nest.com/whats-happening/,_blank,Google Is Turning Off the Works-with-Nest API
|
3
|
-
https://developers.googleblog.com/2019/05/Flutter-io19.html,_blank,Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop
|
4
|
-
https://github.com/kkuchta/css-only-chat,_blank,Css-only-chat: A truly monstrous async web chat using no JS on the front end
|
5
|
-
https://jaycarlson.net/microcontrollers/,_blank,The Amazing $1 Microcontroller (2017)
|
6
|
-
.end
|
7
|
-
|
@@ -1,10 +0,0 @@
|
|
1
|
-
.tag_cloud
|
2
|
-
https://google.com/,_blank,btn btn-dark m-1,Programming
|
3
|
-
https://google.com/,_blank,btn btn-danger m-1,Science Fiction
|
4
|
-
https://google.com/,_blank,btn btn-light m-1,Art
|
5
|
-
https://google.com/,_blank,btn btn-dark m-1,Robotics
|
6
|
-
https://google.com/,_blank,btn btn-warning m-1,Food and Travel
|
7
|
-
https://google.com/,_blank,btn btn-light m-1,DIY Hacks
|
8
|
-
https://google.com/,_blank,btn btn-info m-1,Surfing
|
9
|
-
.end
|
10
|
-
|