runeblog 0.1.94 → 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/default.rb +0 -3
- data/lib/helpers-blog.rb +14 -3
- data/lib/liveblog.rb +102 -60
- data/lib/repl.rb +3 -2
- data/lib/runeblog.rb +6 -22
- data/lib/runeblog_version.rb +1 -1
- data/runeblog.gemspec +1 -1
- data/themes/standard/README +31 -31
- data/themes/standard/blog/head.lt3 +2 -3
- data/themes/standard/blog/index.lt3 +3 -1
- data/themes/standard/etc/blog.css.lt3 +36 -0
- data/themes/standard/etc/misc.js +6 -0
- data/themes/standard/global.lt3 +10 -1
- data/themes/standard/navbar/about.html +4 -2
- data/themes/standard/navbar/contact.html +6 -0
- data/themes/standard/post/generate.lt3 +4 -2
- data/themes/standard/post/permalink.lt3 +26 -0
- data/themes/standard/sidebar/README +3 -0
- data/themes/standard/widgets/README +4 -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/widgets/news/list.data +4 -0
- data/themes/standard/widgets/news/main-news.html +9 -0
- data/themes/standard/widgets/news/news.lt3 +4 -0
- data/themes/standard/widgets/pages/README +2 -0
- data/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/themes/standard/widgets/pages/list.data +4 -0
- data/themes/standard/widgets/pages/main.html +9 -0
- data/themes/standard/widgets/pages/main.lt3 +18 -0
- data/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +10 -0
- metadata +27 -13
- data/themes/standard/etc/blog.css +0 -34
- data/themes/standard/liveblog.out +0 -27
- data/themes/standard/meta.lt3 +0 -3
- data/themes/standard/sidebar/ad.lt3 +0 -5
- data/themes/standard/sidebar/news.lt3 +0 -7
- data/themes/standard/sidebar/tag-cloud.lt3 +0 -10
- data/themes/standard/tryme.lt3 +0 -47
- data/themes/standard/vars +0 -29
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/default.rb
CHANGED
data/lib/helpers-blog.rb
CHANGED
@@ -12,9 +12,20 @@ module RuneBlog::Helpers
|
|
12
12
|
system("cp -r #{src} #{dst}")
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def stale?(src, dst)
|
16
|
+
return true unless File.exist?(dst)
|
17
|
+
return true if File.mtime(src) > File.mtime(dst)
|
18
|
+
return false
|
19
|
+
end
|
20
|
+
|
21
|
+
def livetext(src, dst=nil)
|
16
22
|
src << ".lt3" unless src.end_with?(".lt3")
|
17
|
-
|
23
|
+
if dst
|
24
|
+
dst << ".html" unless dst.end_with?(".html")
|
25
|
+
else
|
26
|
+
dst = src.sub(/.lt3$/, "")
|
27
|
+
end
|
28
|
+
return unless stale?(src, dst)
|
18
29
|
system("livetext #{src} >#{dst}")
|
19
30
|
end
|
20
31
|
|
@@ -65,7 +76,7 @@ module RuneBlog::Helpers
|
|
65
76
|
vals
|
66
77
|
end
|
67
78
|
|
68
|
-
def put_config(root:, view:"test_view", editor: "/bin/vim")
|
79
|
+
def put_config(root:, view:"test_view", editor: "/usr/local/bin/vim")
|
69
80
|
Dir.mkdir(root) unless Dir.exist?(root)
|
70
81
|
Dir.chdir(root) do
|
71
82
|
File.open("config", "w") do |cfg|
|
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 "
#{@_data}"; 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
|
@@ -291,12 +321,12 @@ def head # Does NOT output tags
|
|
291
321
|
defaults = {}
|
292
322
|
defaults = { "charset" => %[<meta charset="utf-8">],
|
293
323
|
"http-equiv" => %[<meta http-equiv="X-UA-Compatible" content="IE=edge">],
|
294
|
-
"title" => %[<title>\n #{_var(:blog)} | #{_var(
|
324
|
+
"title" => %[<title>\n #{_var(:blog)} | #{_var("blog.desc")}\n </title>],
|
295
325
|
"generator" => %[<meta name="generator" content="Runeblog v #@version">],
|
296
326
|
"og:title" => %[<meta property="og:title" content="#{_var(:blog)}">],
|
297
327
|
"og:locale" => %[<meta property="og:locale" content="#{_var(:locale)}">],
|
298
|
-
"description" => %[<meta name="description" content="#{_var(
|
299
|
-
"og:description" => %[<meta property="og:description" content="#{_var(
|
328
|
+
"description" => %[<meta name="description" content="#{_var("blog.desc")}">],
|
329
|
+
"og:description" => %[<meta property="og:description" content="#{_var("blog.desc")}">],
|
300
330
|
"linkc" => %[<link rel="canonical" href="#{_var(:host)}">],
|
301
331
|
"og:url" => %[<meta property="og:url" content="#{_var(:host)}">],
|
302
332
|
"og:site_name" => %[<meta property="og:site_name" content="#{_var(:blog)}">],
|
@@ -367,9 +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
|
-
|
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"
|
405
|
+
end
|
373
406
|
end
|
374
407
|
_out %[</div>]
|
375
408
|
end
|
@@ -378,8 +411,11 @@ def sidebar!
|
|
378
411
|
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
379
412
|
_args do |line|
|
380
413
|
tag = line.chomp.strip
|
381
|
-
|
382
|
-
|
414
|
+
source = "sidebar/#{tag.downcase}.lt3"
|
415
|
+
unless File.exist?(source)
|
416
|
+
source = "widgets/#{tag.downcase}/main.lt3"
|
417
|
+
end
|
418
|
+
_include_file source
|
383
419
|
end
|
384
420
|
_out %[</div>]
|
385
421
|
end
|
@@ -451,7 +487,7 @@ def all_teasers
|
|
451
487
|
end
|
452
488
|
text << "</body></html>"
|
453
489
|
File.write("recent.html", text)
|
454
|
-
_out %[<iframe 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>]
|
455
491
|
end
|
456
492
|
|
457
493
|
def _post_lookup(postid) # side-effect
|
@@ -512,7 +548,7 @@ def card_iframe
|
|
512
548
|
stuff = lines[1..-1].join(" ") # FIXME later
|
513
549
|
middle = <<-HTML
|
514
550
|
<iframe src="#{url}" #{stuff}
|
515
|
-
style="border: 0"
|
551
|
+
style="border: 0" #{stuff}
|
516
552
|
frameborder="0" scrolling="no">
|
517
553
|
</iframe>
|
518
554
|
HTML
|
@@ -520,23 +556,30 @@ def card_iframe
|
|
520
556
|
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
521
557
|
end
|
522
558
|
|
559
|
+
def _main(url)
|
560
|
+
%[href="javascript: void(0)" onclick="javascript:open_main('#{url}')"]
|
561
|
+
end
|
562
|
+
|
523
563
|
def card1
|
524
564
|
title, lines = _data, _body
|
525
565
|
lines.map!(&:chomp)
|
526
566
|
|
527
567
|
card_text = lines[0]
|
528
|
-
url,
|
568
|
+
url, classname, cdata = lines[1].split(",", 4)
|
569
|
+
main = _main(url)
|
529
570
|
|
530
571
|
middle = <<-HTML
|
531
572
|
<p class="card-text">#{card_text}</p>
|
532
|
-
<a
|
573
|
+
<a #{main} class="#{classname}">#{cdata}</a>
|
533
574
|
HTML
|
534
575
|
|
535
576
|
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
536
577
|
end
|
537
578
|
|
538
579
|
def card2
|
539
|
-
|
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>]
|
540
583
|
|
541
584
|
# FIXME is this wrong??
|
542
585
|
|
@@ -544,18 +587,16 @@ def card2
|
|
544
587
|
<div class="card mb-3">
|
545
588
|
<div class="card-body">
|
546
589
|
<h5 class="card-title">#{card_title}</h5>
|
547
|
-
</div>
|
548
590
|
<ul class="list-group list-group-flush">
|
549
591
|
HTML
|
550
592
|
_out open
|
551
593
|
_body do |line|
|
552
|
-
url,
|
553
|
-
|
594
|
+
url, cdata = line.chomp.split(",", 3)
|
595
|
+
main = _main(url)
|
596
|
+
_out %[<li class="list-group-item"><a #{main}}">#{cdata}</a> </li>]
|
554
597
|
end
|
555
|
-
close = %[ </ul>\n </div>]
|
598
|
+
close = %[ </ul>\n </div>\n </div>]
|
556
599
|
_out close
|
557
|
-
rescue
|
558
|
-
puts @live.body
|
559
600
|
end
|
560
601
|
|
561
602
|
def tag_cloud
|
@@ -569,15 +610,15 @@ def tag_cloud
|
|
569
610
|
_out open
|
570
611
|
_body do |line|
|
571
612
|
line.chomp!
|
572
|
-
url,
|
573
|
-
|
613
|
+
url, classname, cdata = line.split(",", 4)
|
614
|
+
main = _main(url)
|
615
|
+
_out %[<a #{main} class="#{classname}">#{cdata}</a>]
|
574
616
|
end
|
575
|
-
rescue
|
576
|
-
puts @live.body
|
577
617
|
end
|
578
618
|
|
579
619
|
def navbar
|
580
620
|
title = _var(:blog)
|
621
|
+
|
581
622
|
open = <<-HTML
|
582
623
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
583
624
|
<a class="navbar-brand" href="index.html">#{title}</a>
|
@@ -590,7 +631,6 @@ def navbar
|
|
590
631
|
aria-label="Toggle navigation">
|
591
632
|
<span class="navbar-toggler-icon"></span>
|
592
633
|
</button>
|
593
|
-
|
594
634
|
<div class="collapse navbar-collapse pull-right"
|
595
635
|
id="navbarSupportedContent">
|
596
636
|
<ul class="navbar-nav mr-auto">
|
@@ -605,11 +645,13 @@ def navbar
|
|
605
645
|
_out open
|
606
646
|
_body do |line|
|
607
647
|
href, cdata = line.chomp.strip.split(" ", 2)
|
648
|
+
main = _main(href)
|
608
649
|
if first
|
609
650
|
first = false
|
610
651
|
_out %[<li class="nav-item active"> <a class="nav-link" href="#{href}">#{cdata}<span class="sr-only">(current)</span></a> </li>]
|
611
652
|
else
|
612
|
-
|
653
|
+
main = _main("navbar/#{href}")
|
654
|
+
_out %[<li class="nav-item"> <a class="nav-link" #{main}>#{cdata}</a> </li>]
|
613
655
|
end
|
614
656
|
end
|
615
657
|
_out close
|
data/lib/repl.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
|
-
|
1
|
+
require 'runeblog'
|
2
2
|
require 'global'
|
3
3
|
require 'ostruct'
|
4
4
|
require 'helpers-repl' # FIXME structure
|
5
5
|
|
6
6
|
make_exception(:PublishError, "Error during publishing")
|
7
|
-
|
7
|
+
make_exception(:EditorProblem, "Could not edit $1")
|
8
8
|
|
9
9
|
module RuneBlog::REPL
|
10
10
|
|
11
11
|
def edit_file(file)
|
12
12
|
result = system("#{@blog.editor} #{file}")
|
13
|
+
STDERR.puts "editor = #{@blog.editor} FILE = #{file}"
|
13
14
|
raise EditorProblem(file) unless result
|
14
15
|
sleep 0.1
|
15
16
|
STDSCR.clear
|
data/lib/runeblog.rb
CHANGED
@@ -177,7 +177,8 @@ class RuneBlog
|
|
177
177
|
x = RuneBlog::Default
|
178
178
|
copy!("#{Themes}", "themes")
|
179
179
|
create_dirs(:assets, :posts)
|
180
|
-
create_dirs(:staging,
|
180
|
+
create_dirs(:staging, "remote/permalink", "remote/navbar")
|
181
|
+
livetext "themes/standard/etc/blog.css.lt3" # strip ext
|
181
182
|
copy!("themes/standard/*", "staging/")
|
182
183
|
copy!("themes/standard/etc", "remote/")
|
183
184
|
copy!("themes/standard/assets", "remote/")
|
@@ -185,8 +186,6 @@ class RuneBlog
|
|
185
186
|
pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
|
186
187
|
dump(pub, "publish")
|
187
188
|
|
188
|
-
# Add to global.lt3 here? FIXME
|
189
|
-
|
190
189
|
view = RuneBlog::View.new(arg)
|
191
190
|
self.view = view
|
192
191
|
vdir = self.view.dir
|
@@ -212,14 +211,6 @@ class RuneBlog
|
|
212
211
|
files.reject! {|f| File.mtime(f) < File.mtime("#{vdir}/last_published") }
|
213
212
|
end
|
214
213
|
|
215
|
-
def files_by_id(id) # FIXME get rid of this later
|
216
|
-
raise ArgumentError unless id.is_a?(Integer)
|
217
|
-
files = Find.find(self.view.dir).to_a
|
218
|
-
tag = prefix(id)
|
219
|
-
result = files.grep(/#{tag}-/)
|
220
|
-
result
|
221
|
-
end
|
222
|
-
|
223
214
|
def post_lookup(postid) # side-effect?
|
224
215
|
# .. = templates, ../.. = views/thisview
|
225
216
|
slug = title = date = teaser_text = nil
|
@@ -278,11 +269,10 @@ class RuneBlog
|
|
278
269
|
text << "</body></html>"
|
279
270
|
File.write(file, text) # FIXME ???
|
280
271
|
iframe_text = <<-HTML
|
281
|
-
<iframe style="width: 100vw;height: 100vh;position: relative;"
|
272
|
+
<iframe name="main" style="width: 100vw;height: 100vh;position: relative;"
|
282
273
|
src='recent.html' width=100% frameborder="0" allowfullscreen>
|
283
274
|
</iframe>
|
284
275
|
HTML
|
285
|
-
# _out iframe_text # FIXME ??
|
286
276
|
end
|
287
277
|
|
288
278
|
def create_new_post(title, testing = false, teaser: nil, body: nil, other_views: [])
|
@@ -392,12 +382,10 @@ class RuneBlog
|
|
392
382
|
lt3 = draft.split("/")[-1]
|
393
383
|
# Remember: Some posts may be in more than one view -- careful with links back
|
394
384
|
# system("livetext #{draft} >staging/#{name}/index.html") # permalink?
|
395
|
-
# Structure is borked?
|
396
385
|
copy!("#{@theme}/*", "#{staging}")
|
397
386
|
copy(lt3, staging)
|
398
387
|
html = noext[5..-1]
|
399
388
|
livetext draft, html
|
400
|
-
STDERR.puts "pwd = #{Dir.pwd}"
|
401
389
|
copy(draft, "../../staging/post/index.html")
|
402
390
|
title_line = File.readlines(draft).grep(/^.title /).first
|
403
391
|
title = title_line.split(" ", 2)[1]
|
@@ -408,8 +396,10 @@ STDERR.puts "pwd = #{Dir.pwd}"
|
|
408
396
|
File.open("vars.lt3", "w") {|f| f.puts vars }
|
409
397
|
livetext "post/generate.lt3", html
|
410
398
|
copy html, "../remote"
|
399
|
+
livetext "post/permalink.lt3", "../remote/permalink/#{html}"
|
411
400
|
collect_recent_posts("recent.html")
|
412
401
|
copy("recent.html", "../remote")
|
402
|
+
copy!("navbar/*html", "../remote/navbar/")
|
413
403
|
livetext "blog/generate", "../remote/index"
|
414
404
|
end
|
415
405
|
end
|
@@ -425,7 +415,7 @@ STDERR.puts "pwd = #{Dir.pwd}"
|
|
425
415
|
check_meta(meta, "index_entry1")
|
426
416
|
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
427
417
|
check_meta(meta, "index_entry2")
|
428
|
-
self.make_slug(meta)
|
418
|
+
self.make_slug(meta)
|
429
419
|
check_meta(meta, "index_entry3")
|
430
420
|
# FIXME clean up and generalize
|
431
421
|
ref = "#{view}/#{meta.slug}/index.html"
|
@@ -490,12 +480,6 @@ STDERR.puts "pwd = #{Dir.pwd}"
|
|
490
480
|
system("rm -rf #@root/drafts/#{tag}-*")
|
491
481
|
end
|
492
482
|
|
493
|
-
def post_exists?(num)
|
494
|
-
raise ArgumentError unless num.is_a?(Integer)
|
495
|
-
list = files_by_id(num) # FIXME search under view dirs
|
496
|
-
list.empty? ? nil : list
|
497
|
-
end
|
498
|
-
|
499
483
|
def make_slug(meta)
|
500
484
|
raise ArgumentError unless meta.title.is_a?(String)
|
501
485
|
label = '%04d' % meta.num # FIXME can do better
|
data/lib/runeblog_version.rb
CHANGED
data/runeblog.gemspec
CHANGED
@@ -20,7 +20,7 @@ spec = Gem::Specification.new do |s|
|
|
20
20
|
s.authors = ["Hal Fulton"]
|
21
21
|
s.email = 'rubyhacker@gmail.com'
|
22
22
|
s.executables << "blog"
|
23
|
-
s.add_runtime_dependency 'livetext', '~> 0.8', '>= 0.8.
|
23
|
+
s.add_runtime_dependency 'livetext', '~> 0.8', '>= 0.8.92'
|
24
24
|
s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.16'
|
25
25
|
|
26
26
|
# Files...
|
data/themes/standard/README
CHANGED
@@ -1,37 +1,37 @@
|
|
1
|
-
New
|
1
|
+
New structure:
|
2
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
|
-
├──
|
18
|
-
├──
|
19
|
-
|
20
|
-
├──
|
21
|
-
|
22
|
-
│
|
23
|
-
├──
|
24
|
-
├──
|
25
|
-
│
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
├── news.lt3
|
32
|
-
└── tag-cloud.lt3
|
3
|
+
themes/standard The first "default theme" - more later
|
4
|
+
├── README This file
|
5
|
+
├── assets Assets (images/videos/etc) for entire view
|
6
|
+
├── banner Top banner for the view
|
7
|
+
├── blog All files/info for view
|
8
|
+
│ ├── generate.lt3 Generate index.html from wrapper (rarely edited)
|
9
|
+
│ ├── head.lt3 Header info for index.html
|
10
|
+
│ ├── index.lt3 "Guts" of view (user-edited, wrapped by generate.lt3)
|
11
|
+
│ └── post_entry.lt3
|
12
|
+
├── etc
|
13
|
+
│ ├── blog.css
|
14
|
+
│ ├── externals.lt3
|
15
|
+
│ └── favicon.ico
|
16
|
+
├── global.lt3
|
17
|
+
├── navbar
|
18
|
+
│ ├── about.html
|
19
|
+
│ └── navbar.lt3
|
20
|
+
├── pages
|
21
|
+
├── post
|
22
|
+
│ ├── generate.lt3
|
23
|
+
│ ├── head.lt3
|
24
|
+
│ ├── index.lt3
|
25
|
+
│ └── permalink.lt3
|
26
|
+
└── sidebar
|
27
|
+
├── ad.lt3
|
28
|
+
├── calendar.lt3
|
29
|
+
├── news.lt3
|
30
|
+
└── tag-cloud.lt3
|
33
31
|
|
34
32
|
|
33
|
+
Old structure:
|
34
|
+
|
35
35
|
templates The first "default theme" - more later
|
36
36
|
├── README This file
|
37
37
|
├── about.html An "about" file (will move)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.nopara
|
2
|
+
.include themes/standard/global.lt3
|
3
|
+
|
4
|
+
\.post-title a {
|
5
|
+
color: $post.title.color;
|
6
|
+
font-size: $post.title.size;
|
7
|
+
float: right;
|
8
|
+
display: inline-block;
|
9
|
+
text-align: top;
|
10
|
+
text-decoration: none;
|
11
|
+
}
|
12
|
+
|
13
|
+
\.post-title a:hover {
|
14
|
+
text-decoration: none;
|
15
|
+
}
|
16
|
+
|
17
|
+
\.post-title-text a {
|
18
|
+
color: $post.text.color;
|
19
|
+
font-size: $post.text.size;
|
20
|
+
# float: right;
|
21
|
+
display: block;
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
\.post-title-text a:hover {
|
26
|
+
text-decoration: none;
|
27
|
+
}
|
28
|
+
|
29
|
+
\.post-date {
|
30
|
+
color: $post.date.color;
|
31
|
+
font-size: $post.date.size;
|
32
|
+
display: block;
|
33
|
+
float: left;
|
34
|
+
text-align: top;
|
35
|
+
}
|
36
|
+
|
data/themes/standard/global.lt3
CHANGED
@@ -1,12 +1,21 @@
|
|
1
1
|
.variables
|
2
2
|
author Hal Fulton
|
3
3
|
blog My Blog (and Welcome To It)
|
4
|
-
|
4
|
+
blog.desc All the stuff you never needed to know
|
5
5
|
host localhost:4000//
|
6
6
|
charset utf-8
|
7
7
|
site rubyhacker.com
|
8
8
|
url localhost:4000//
|
9
9
|
locale en_US
|
10
|
+
|
11
|
+
post.title.color #010101
|
12
|
+
post.title.size 28px
|
13
|
+
|
14
|
+
post.text.color #0101a1
|
15
|
+
post.text.size 22px
|
16
|
+
|
17
|
+
post.date.color #9a9a9a
|
18
|
+
post.date.size 15px
|
10
19
|
.end
|
11
20
|
|
12
21
|
. Maybe move publish info here?
|
@@ -6,10 +6,9 @@
|
|
6
6
|
<!-- Editing this file is not recommended. -->
|
7
7
|
<!-- It was generated from $File on $$date. -->
|
8
8
|
|
9
|
-
.include meta.lt3
|
10
9
|
.include global.lt3
|
11
|
-
|
12
10
|
.include vars.lt3
|
11
|
+
|
13
12
|
.head
|
14
13
|
og:title $title
|
15
14
|
description $teaser
|
@@ -20,5 +19,8 @@ description $teaser
|
|
20
19
|
$.include post/index.html
|
21
20
|
</div>
|
22
21
|
</section>
|
22
|
+
|
23
|
+
<br>
|
24
|
+
<a href="javascript:history.go(-1)">[Back]</a>
|
23
25
|
</body>
|
24
26
|
</html>
|
@@ -0,0 +1,26 @@
|
|
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 vars.lt3
|
11
|
+
|
12
|
+
.head
|
13
|
+
og:title $title
|
14
|
+
description $teaser
|
15
|
+
.end
|
16
|
+
|
17
|
+
<section class="post">
|
18
|
+
<div class="entry-content">
|
19
|
+
$.include post/index.html
|
20
|
+
</div>
|
21
|
+
</section>
|
22
|
+
|
23
|
+
<br>
|
24
|
+
<a href="../index.html">[Home: $blog]</a>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -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>
|
@@ -0,0 +1,4 @@
|
|
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
|
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
|
3
|
+
https://developers.googleblog.com/2019/05/Flutter-io19.html,Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop
|
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>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.card_iframe
|
2
|
+
<h1>Pages</h1>
|
3
|
+
|
4
|
+
.def make_links
|
5
|
+
pairs = File.readlines("list.data").map {|line| line.chomp.split(" ", 2) }
|
6
|
+
File.open("generated.lt3", "w") do |f|
|
7
|
+
pairs.each do |file, title|
|
8
|
+
f.puts <<-EOS
|
9
|
+
<a href="#{file}">#{title}</a> <br>
|
10
|
+
EOS
|
11
|
+
end
|
12
|
+
end
|
13
|
+
.end
|
14
|
+
|
15
|
+
.make_links
|
16
|
+
|
17
|
+
.include generated.lt3
|
18
|
+
.end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.tag_cloud
|
2
|
+
https://google.com/,btn btn-dark m-1,Programming
|
3
|
+
https://google.com/,btn btn-danger m-1,Science Fiction
|
4
|
+
https://google.com/,btn btn-light m-1,Art
|
5
|
+
https://google.com/,btn btn-dark m-1,Robotics
|
6
|
+
https://google.com/,btn btn-warning m-1,Food and Travel
|
7
|
+
https://google.com/,btn btn-light m-1,DIY Hacks
|
8
|
+
https://google.com/,btn btn-info m-1,Surfing
|
9
|
+
.end
|
10
|
+
|
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
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '0.8'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.8.
|
22
|
+
version: 0.8.92
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '0.8'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.8.
|
32
|
+
version: 0.8.92
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rubytext
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,23 +82,37 @@ files:
|
|
82
82
|
- themes/standard/blog/head.lt3
|
83
83
|
- themes/standard/blog/index.lt3
|
84
84
|
- themes/standard/blog/post_entry.lt3
|
85
|
-
- themes/standard/etc/blog.css
|
85
|
+
- themes/standard/etc/blog.css.lt3
|
86
86
|
- themes/standard/etc/externals.lt3
|
87
87
|
- themes/standard/etc/favicon.ico
|
88
|
+
- themes/standard/etc/misc.js
|
88
89
|
- themes/standard/global.lt3
|
89
|
-
- themes/standard/liveblog.out
|
90
|
-
- themes/standard/meta.lt3
|
91
90
|
- themes/standard/navbar/about.html
|
91
|
+
- themes/standard/navbar/contact.html
|
92
92
|
- themes/standard/navbar/navbar.lt3
|
93
93
|
- themes/standard/post/generate.lt3
|
94
94
|
- themes/standard/post/head.lt3
|
95
95
|
- themes/standard/post/index.lt3
|
96
|
-
- themes/standard/
|
97
|
-
- themes/standard/sidebar/
|
98
|
-
- themes/standard/
|
99
|
-
- themes/standard/
|
100
|
-
- themes/standard/
|
101
|
-
- themes/standard/
|
96
|
+
- themes/standard/post/permalink.lt3
|
97
|
+
- themes/standard/sidebar/README
|
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
|
106
|
+
- themes/standard/widgets/pages/README
|
107
|
+
- themes/standard/widgets/pages/disclaim.lt3
|
108
|
+
- themes/standard/widgets/pages/faq.lt3
|
109
|
+
- themes/standard/widgets/pages/generated.lt3
|
110
|
+
- themes/standard/widgets/pages/lifestory.lt3
|
111
|
+
- themes/standard/widgets/pages/like-dislike.lt3
|
112
|
+
- themes/standard/widgets/pages/list.data
|
113
|
+
- themes/standard/widgets/pages/main.html
|
114
|
+
- themes/standard/widgets/pages/main.lt3
|
115
|
+
- themes/standard/widgets/tag-cloud/tag-cloud.lt3
|
102
116
|
homepage: https://github.com/Hal9000/runeblog
|
103
117
|
licenses:
|
104
118
|
- Ruby
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# include variables before this file?
|
2
|
-
|
3
|
-
.post-title a {
|
4
|
-
color: #010101;
|
5
|
-
font-size: 28px;
|
6
|
-
float: right;
|
7
|
-
display: inline-block;
|
8
|
-
text-align: top;
|
9
|
-
text-decoration: none;
|
10
|
-
}
|
11
|
-
|
12
|
-
.post-title a:hover {
|
13
|
-
text-decoration: none;
|
14
|
-
}
|
15
|
-
|
16
|
-
.post-title-text a {
|
17
|
-
color: #0101a1;
|
18
|
-
font-size: 22px;
|
19
|
-
# float: right;
|
20
|
-
display: block;
|
21
|
-
text-decoration: none;
|
22
|
-
}
|
23
|
-
|
24
|
-
.post-title-text a:hover {
|
25
|
-
text-decoration: none;
|
26
|
-
}
|
27
|
-
|
28
|
-
.post-date {
|
29
|
-
color: #9a9a9a;
|
30
|
-
font-size: 15px;
|
31
|
-
display: block;
|
32
|
-
float: left;
|
33
|
-
text-align: top;
|
34
|
-
}
|
@@ -1,27 +0,0 @@
|
|
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
|
data/themes/standard/meta.lt3
DELETED
@@ -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
|
-
|
data/themes/standard/tryme.lt3
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# include variables before this file?
|
2
|
-
|
3
|
-
.set postcolor=#010101
|
4
|
-
|
5
|
-
.raw
|
6
|
-
.post-title a {
|
7
|
-
.end
|
8
|
-
color: $postcolor;
|
9
|
-
font-size: 28px;
|
10
|
-
float: right;
|
11
|
-
display: inline-block;
|
12
|
-
text-align: top;
|
13
|
-
text-decoration: none;
|
14
|
-
}
|
15
|
-
|
16
|
-
.raw
|
17
|
-
.post-title a:hover {
|
18
|
-
.end
|
19
|
-
text-decoration: none;
|
20
|
-
}
|
21
|
-
|
22
|
-
.raw
|
23
|
-
.post-title-text a {
|
24
|
-
.end
|
25
|
-
color: #0101a1;
|
26
|
-
font-size: 22px;
|
27
|
-
# float: right;
|
28
|
-
display: block;
|
29
|
-
text-decoration: none;
|
30
|
-
}
|
31
|
-
|
32
|
-
.raw
|
33
|
-
.post-title-text a:hover {
|
34
|
-
.end
|
35
|
-
text-decoration: none;
|
36
|
-
}
|
37
|
-
|
38
|
-
.raw
|
39
|
-
.post-date {
|
40
|
-
.end
|
41
|
-
color: #9a9a9a;
|
42
|
-
font-size: 15px;
|
43
|
-
display: block;
|
44
|
-
float: left;
|
45
|
-
text-align: top;
|
46
|
-
}
|
47
|
-
|
data/themes/standard/vars
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
|
2
|
-
charset: utf-8
|
3
|
-
blog: My Blog (and Welcome To It)
|
4
|
-
blog_desc: All the stuff you never needed to know
|
5
|
-
site: rubyhacker.com
|
6
|
-
url: localhost:4000//
|
7
|
-
locale: en_US
|
8
|
-
|
9
|
-
<meta charset="utf-8">
|
10
|
-
** <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
11
|
-
** <meta name="viewport" content="width=device-width,initial-scale=1">
|
12
|
-
|
13
|
-
<p>
|
14
|
-
<title>
|
15
|
-
My Blog (and Welcome To It) | All the stuff you never needed to know
|
16
|
-
</title>
|
17
|
-
<meta name="generator" content="Runeblog v 0.1.93">
|
18
|
-
<meta property="og:title" content="My Blog (and Welcome To It)">
|
19
|
-
<meta property="og:locale" content="en_US">
|
20
|
-
<meta name="description" content="All the stuff you never needed to know">
|
21
|
-
<meta property="og:description" content="All the stuff you never needed to know">
|
22
|
-
<link rel="canonical" href="localhost:4000//">
|
23
|
-
<meta property="og:url" content="localhost:4000//">
|
24
|
-
<meta property="og:site_name" content="My Blog (and Welcome To It)">
|
25
|
-
<link rel="stylesheet" href="etc/blog.css">
|
26
|
-
<link type="application/atom+xml" rel="alternate" href="localhost:4000///feed.xml" title="My Blog (and Welcome To It)">
|
27
|
-
<link rel="shortcut icon" type="image/x-icon" href="../etc/favicon.ico">
|
28
|
-
<link rel="apple-touch-icon" href="../etc/favicon.ico">
|
29
|
-
<body>
|