runeblog 0.2.48 → 0.2.49
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/empty_view/themes/standard/banner/about.lt3 +18 -0
- data/empty_view/themes/standard/banner/blog-banner.jpg +0 -0
- data/empty_view/themes/standard/banner/contact.lt3 +18 -0
- data/empty_view/themes/standard/banner/faq.lt3 +1 -0
- data/empty_view/themes/standard/banner/navbar.lt3 +17 -0
- data/lib/helpers-repl.rb +1 -0
- data/lib/liveblog.rb +78 -0
- data/lib/repl.rb +73 -2
- data/lib/runeblog.rb +1 -1
- data/lib/runeblog_version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 148dacf82516a20ba94f7ddf83e3160d717aacf156a88b23187bc5e891a80542
|
4
|
+
data.tar.gz: 296c90e497e7efb780fb73c91caff732626bfbeb8f3400c866bdf156688ed059
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58fca96171e5fd86d3c6fd207a481c6e957dcd6b777dbec7f7b9f588bed9a6a71c5ceee01ba78bffec3b4acb722df8f597dc397f1153f0517f7d5f9b205e154d
|
7
|
+
data.tar.gz: 3d46a5f3720342d13e8b9d4665a40f92fb4f70418449dccbd71efdc3e2f96dc64785a6ae1b6d82adbe4022492eb23678c5aea15a4d88de900ef18cce0a9da737
|
@@ -0,0 +1,18 @@
|
|
1
|
+
. --------------------------------------------------
|
2
|
+
. This is a sample file typical of page referenced
|
3
|
+
. directly from the navigation bar.
|
4
|
+
. It is like a special case of a page in the "pages"
|
5
|
+
. widget.
|
6
|
+
. --------------------------------------------------
|
7
|
+
|
8
|
+
.set this.title="About me"
|
9
|
+
. make this better later
|
10
|
+
<html><body>
|
11
|
+
<div class="content container-fluid mt-4">
|
12
|
+
<div class="row">
|
13
|
+
<h1>$this.title</h1>
|
14
|
+
. content starts here...
|
15
|
+
Blah blah blah...
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</body></html>
|
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
. --------------------------------------------------
|
2
|
+
. This is a sample file typical of page referenced
|
3
|
+
. directly from the navigation bar.
|
4
|
+
. It is like a special case of a page in the "pages"
|
5
|
+
. widget.
|
6
|
+
. --------------------------------------------------
|
7
|
+
|
8
|
+
.set this.title="Contact"
|
9
|
+
. make this better later
|
10
|
+
<html><body>
|
11
|
+
<div class="content container-fluid mt-4">
|
12
|
+
<div class="row">
|
13
|
+
<h1>$this.title</h1>
|
14
|
+
. content starts here...
|
15
|
+
How to contact me by email, smoke signals, ICBM, seance, ...
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</body></html>
|
@@ -0,0 +1 @@
|
|
1
|
+
.include ../widgets/pages/faq.lt3
|
@@ -0,0 +1,17 @@
|
|
1
|
+
. --------------------------------------------------
|
2
|
+
. This defines the content of the navigation bar.
|
3
|
+
. The first one is a special case.
|
4
|
+
. The others are understood to refer to .lt3 files
|
5
|
+
. such as navbar/about.lt3 (which is processed into
|
6
|
+
. HTML).
|
7
|
+
. The title may be more than one word. Quotes are
|
8
|
+
. not needed.
|
9
|
+
. --------------------------------------------------
|
10
|
+
|
11
|
+
.navbar2
|
12
|
+
index Home
|
13
|
+
about About
|
14
|
+
contact Contact
|
15
|
+
faq FAQ
|
16
|
+
.end
|
17
|
+
|
data/lib/helpers-repl.rb
CHANGED
data/lib/liveblog.rb
CHANGED
@@ -64,10 +64,52 @@ def post_trailer
|
|
64
64
|
# damned syntax highlighting
|
65
65
|
end
|
66
66
|
|
67
|
+
def faq
|
68
|
+
@faq_count ||= 0
|
69
|
+
@faq_count += 1
|
70
|
+
ques = _data.chomp
|
71
|
+
ans = _body_text
|
72
|
+
id = "faq#@faq_count"
|
73
|
+
_out %[ <a class="btn btn-default btn-xs" data-toggle="collapse" href="##{id}" role="button" aria-expanded="false" aria-controls="collapseExample">+</a>]
|
74
|
+
_out %[ <b>#{ques}</b>]
|
75
|
+
_out %[<div class="collapse" id="#{id}"><br><font size=+1> #{ans}</font></div><br><br>\n]
|
76
|
+
_optional_blank_line
|
77
|
+
end
|
78
|
+
|
67
79
|
def backlink
|
68
80
|
_out %[<br><a href="javascript:history.go(-1)">[Back]</a>]
|
69
81
|
end
|
70
82
|
|
83
|
+
def banner # still experimental
|
84
|
+
_out "<table>"
|
85
|
+
_body do |line|
|
86
|
+
pieces = line.split
|
87
|
+
cols = pieces.size
|
88
|
+
span = cols == 2 ? 1 : 2 # whaaat?
|
89
|
+
_out " <tr>"
|
90
|
+
pieces.each do |piece|
|
91
|
+
_out " <td colspan=#{span}>"
|
92
|
+
case
|
93
|
+
when piece.start_with?("hnav")
|
94
|
+
_out "<center>hnav1 hnav2 hnav3 hnav4</center>"
|
95
|
+
when piece.start_with?("vnav")
|
96
|
+
_out "vnav1<br>vnav2<br>vnav3<br>vnav4<br>"
|
97
|
+
when piece.start_with?("text")
|
98
|
+
file = piece.split(":")[1]
|
99
|
+
_out File.read(file)
|
100
|
+
when piece.start_with?("image")
|
101
|
+
file = piece.split(":")[1]
|
102
|
+
_out " <img src=#{file} height=100></img>"
|
103
|
+
else
|
104
|
+
_out " '#{piece}' isn't known"
|
105
|
+
end
|
106
|
+
_out " </td>"
|
107
|
+
end
|
108
|
+
_out " </tr>"
|
109
|
+
end
|
110
|
+
_out "</table>"
|
111
|
+
end
|
112
|
+
|
71
113
|
def quote
|
72
114
|
_passthru "<blockquote>"
|
73
115
|
_passthru _body.join(" ")
|
@@ -556,6 +598,42 @@ def tag_cloud
|
|
556
598
|
_out close
|
557
599
|
end
|
558
600
|
|
601
|
+
def vnavbar
|
602
|
+
end
|
603
|
+
|
604
|
+
def navbar2
|
605
|
+
vdir = @blog.view.dir
|
606
|
+
title = _var(:blog)
|
607
|
+
|
608
|
+
open = <<-HTML
|
609
|
+
<nav class="navbar navbar-light bg-light">
|
610
|
+
<a class="navbar-brand" href="index.html">#{title}</a>
|
611
|
+
<ul class="navbar-nav mr-auto">
|
612
|
+
HTML
|
613
|
+
close = <<-HTML
|
614
|
+
</ul>
|
615
|
+
</div>
|
616
|
+
</nav>
|
617
|
+
HTML
|
618
|
+
|
619
|
+
first = true
|
620
|
+
_out open
|
621
|
+
lines = _body
|
622
|
+
lines.each do |line|
|
623
|
+
basename, cdata = line.chomp.strip.split(" ", 2)
|
624
|
+
full = :navbar/basename+".html"
|
625
|
+
href_main = _main(full)
|
626
|
+
if first
|
627
|
+
first = false # hardcode this part??
|
628
|
+
_out %[<li class="nav-item active"> <a class="nav-link" href="index.html">#{cdata}<span class="sr-only">(current)</span></a> </li>]
|
629
|
+
else
|
630
|
+
xlate cwd: "navbar", src: basename, dst: vdir/"remote/navbar"/basename+".html" # , debug: true
|
631
|
+
_out %[<li class="nav-item"> <a class="nav-link" #{href_main}>#{cdata}</a> </li>]
|
632
|
+
end
|
633
|
+
end
|
634
|
+
_out close
|
635
|
+
end
|
636
|
+
|
559
637
|
def navbar
|
560
638
|
vdir = @blog.view.dir
|
561
639
|
title = _var(:blog)
|
data/lib/repl.rb
CHANGED
@@ -37,7 +37,78 @@ module RuneBlog::REPL
|
|
37
37
|
@out
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
40
|
+
def cmd_config(arg, testing = false)
|
41
|
+
list = ["global.lt3", "blog/generate.lt3", " head.lt3", " index.lt3",
|
42
|
+
" post_entry.lt3", "etc/blog.css.lt3", " externals.lt3",
|
43
|
+
"post/generate.lt3", " head.lt3", " index.lt3",
|
44
|
+
" permalink.lt3"]
|
45
|
+
name = ["global.lt3", "blog/generate.lt3", "blog/head.lt3", "blog/index.lt3",
|
46
|
+
"blog/post_entry.lt3", "etc/blog.css.lt3", "blog/externals.lt3",
|
47
|
+
"post/generate.lt3", "post/head.lt3", "post/index.lt3",
|
48
|
+
"post/permalink.lt3"]
|
49
|
+
dir = @blog.view.dir/"themes/standard/"
|
50
|
+
num, str = STDSCR.menu(title: "Edit file:", items: list)
|
51
|
+
target = name[num]
|
52
|
+
edit_file(dir/target)
|
53
|
+
end
|
54
|
+
|
55
|
+
def cmd_manage(arg, testing = false)
|
56
|
+
puts "Arg = #{arg.inspect}"
|
57
|
+
case arg
|
58
|
+
when "pages"; _manage_pages(arg, testing = false)
|
59
|
+
when "links"; _manage_links(arg, testing = false)
|
60
|
+
when "navbar"; _manage_navbar(arg, testing = false)
|
61
|
+
# when "pinned"; _manage_pinned(arg, testing = false) # ditch this??
|
62
|
+
else
|
63
|
+
puts "#{arg} is unknown"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def _manage_pinned(arg, testing = false) # cloned from manage_links
|
68
|
+
check_empty(arg)
|
69
|
+
dir = @blog.view.dir/"themes/standard/widgets/pinned"
|
70
|
+
data = dir/"list.data"
|
71
|
+
edit_file(data)
|
72
|
+
end
|
73
|
+
|
74
|
+
def _manage_navbar(arg, testing = false) # cloned from manage_pages
|
75
|
+
puts "Got to #{__method__}"
|
76
|
+
check_empty(arg)
|
77
|
+
dir = @blog.view.dir/"themes/standard/navbar"
|
78
|
+
files = Dir.entries(dir) - %w[. .. navbar.lt3]
|
79
|
+
new_item = " [New item] "
|
80
|
+
main_file = "[ navbar.lt3 ]"
|
81
|
+
files = [main_file] + files + [new_item]
|
82
|
+
num, fname = STDSCR.menu(title: "Edit navbar:", items: files)
|
83
|
+
return if fname.nil?
|
84
|
+
case fname
|
85
|
+
when new_item
|
86
|
+
print "Page title: "
|
87
|
+
title = RubyText.gets
|
88
|
+
title.chomp!
|
89
|
+
print "File name (.lt3): "
|
90
|
+
fname = RubyText.gets
|
91
|
+
fname << ".lt3" unless fname.end_with?(".lt3")
|
92
|
+
new_file = dir/fname
|
93
|
+
File.open(new_file, "w") do |f|
|
94
|
+
f.puts "<h1>#{title}</h1>\n\n\n "
|
95
|
+
f.puts ".backlink"
|
96
|
+
end
|
97
|
+
edit_file(new_file)
|
98
|
+
when main_file
|
99
|
+
edit_file(main_file[2..-3])
|
100
|
+
else
|
101
|
+
edit_file(dir/fname)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
def _manage_links(arg, testing = false)
|
106
|
+
dir = @blog.view.dir/"themes/standard/widgets/links"
|
107
|
+
data = dir/"list.data"
|
108
|
+
edit_file(data)
|
109
|
+
end
|
110
|
+
|
111
|
+
def _manage_pages(arg, testing = false)
|
41
112
|
check_empty(arg)
|
42
113
|
dir = @blog.view.dir/"themes/standard/widgets/pages"
|
43
114
|
# Assume child files already generated (and list.data??)
|
@@ -393,7 +464,7 @@ module RuneBlog::REPL
|
|
393
464
|
list views List all views available
|
394
465
|
lsv Same as: list views
|
395
466
|
|
396
|
-
|
467
|
+
config Edit various system files
|
397
468
|
* customize (BUGGY) Change set of tags, extra views
|
398
469
|
|
399
470
|
p, post Create a new post
|
data/lib/runeblog.rb
CHANGED
@@ -438,7 +438,7 @@ class RuneBlog
|
|
438
438
|
@theme = @root/:views/view/:themes/:standard
|
439
439
|
xlate cwd: vdir/"themes/standard/etc",
|
440
440
|
src: "blog.css.lt3", copy: vdir/"remote/etc/blog.css" # , debug: true
|
441
|
-
xlate cwd: vdir/"themes/standard",
|
441
|
+
xlate cwd: vdir/"themes/standard", force: true,
|
442
442
|
src: "blog/generate.lt3", dst: vdir/:remote/"index.html"
|
443
443
|
copy("#{vdir}/assets/*", "#{vdir}/remote/assets/")
|
444
444
|
rescue => err
|
data/lib/runeblog_version.rb
CHANGED
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.2.
|
4
|
+
version: 0.2.49
|
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-10-
|
11
|
+
date: 2019-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|
@@ -69,6 +69,11 @@ files:
|
|
69
69
|
- empty_view/remote/navbar/GIT_IS_DUMB
|
70
70
|
- empty_view/remote/permalink/GIT_IS_DUMB
|
71
71
|
- empty_view/themes/standard/README
|
72
|
+
- empty_view/themes/standard/banner/about.lt3
|
73
|
+
- empty_view/themes/standard/banner/blog-banner.jpg
|
74
|
+
- empty_view/themes/standard/banner/contact.lt3
|
75
|
+
- empty_view/themes/standard/banner/faq.lt3
|
76
|
+
- empty_view/themes/standard/banner/navbar.lt3
|
72
77
|
- empty_view/themes/standard/blog/generate.lt3
|
73
78
|
- empty_view/themes/standard/blog/head.lt3
|
74
79
|
- empty_view/themes/standard/blog/index.lt3
|