runeblog 0.1.86 → 0.1.92
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
|