runeblog 0.2.59 → 0.2.64
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/README.lt3 +48 -11
- data/README.md +50 -11
- data/bin/blog +4 -3
- data/empty_view/remote/widgets/ad/GIT_IS_DUMB +2 -0
- data/empty_view/remote/widgets/links/GIT_IS_DUMB +2 -0
- data/empty_view/remote/widgets/news/GIT_IS_DUMB +2 -0
- data/empty_view/remote/widgets/pages/GIT_IS_DUMB +2 -0
- data/empty_view/remote/widgets/pinned/GIT_IS_DUMB +2 -0
- data/empty_view/themes/standard/blog/generate.lt3 +1 -3
- data/empty_view/themes/standard/widgets/pinned/pinned.rb +1 -3
- data/lib/liveblog.rb +43 -210
- data/lib/repl.rb +4 -17
- data/lib/runeblog.rb +18 -6
- data/lib/runeblog_version.rb +1 -1
- data/runeblog.gemspec +1 -1
- data/test/austin.rb +4 -5
- metadata +9 -11
- data/empty_view/themes/standard/widgets/bydates/bydates.lt3 +0 -2
- data/empty_view/themes/standard/widgets/links/links.lt3 +0 -2
- data/empty_view/themes/standard/widgets/news/news.lt3 +0 -2
- data/empty_view/themes/standard/widgets/pages/pages.lt3 +0 -2
- data/empty_view/themes/standard/widgets/pinned/pinned.lt3 +0 -2
- data/empty_view/themes/standard/widgets/search/search.lt3 +0 -2
- data/empty_view/themes/standard/widgets/sitemap/sitemap.lt3 +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ee0e8ea5eca8141bc128304f9f3025cff30bf7db3d6dc963ca9e826e7ec48fa
|
4
|
+
data.tar.gz: a46e8e6675cde4d9e43bdb5248eed70d732d86d28a0e80cf0c89d118c0ddbc3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 347dd447053e6d41532372c24c259716ae93c2ad9808ef63cc4ddf8d54d6e08c0e0cb2d06938f445115b1be79526b95e01672f6bd685ce00841bead8ada8c690
|
7
|
+
data.tar.gz: 719c98793354389ac974e1d45ee3e8d891380881938ec72676d6697cd49c233311d7bc9854624e235cfc87e3247632fb5a66794da5fb686f668ce9eaa130de22
|
data/README.lt3
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
.mixin markdown
|
2
2
|
<div style="float: left; align: left; vertical-align: bottom">
|
3
|
-
<img src="raido4.png" width="210" height="295" align="left"></img>
|
3
|
+
<img src="readme/raido4.png" width="210" height="295" align="left"></img>
|
4
4
|
</div>
|
5
5
|
<h1>runeblog</h1><b>Runeblog</b> is a blogging tool written in Ruby. It has these basic characteristics:
|
6
6
|
<ul>
|
@@ -80,11 +80,12 @@ a new blog repo. Enter `y for yes.
|
|
80
80
|
|
81
81
|
You'll then enter the editor (vim for now) to add configuration info to the `global.lt3 file.
|
82
82
|
|
83
|
-
<pre><b>FIXME add menu screenshot here</b></pre>
|
84
|
-
<pre><b>FIXME add vim screenshot here</b></pre>
|
83
|
+
<!-- <pre><b>FIXME add menu screenshot here</b></pre> -->
|
84
|
+
<!-- <pre><b>FIXME add vim screenshot here</b></pre> -->
|
85
|
+
<img src="readme/vim-global.png" width="494" height="696" align="center"></img>
|
85
86
|
|
86
|
-
The next thing you should do is to create at least one view of your own. Use the
|
87
|
-
|
87
|
+
The next thing you should do is to create at least one view of your own. Use the `[new view]
|
88
|
+
command for this. Note that the current view is displayed as part of the prompt.
|
88
89
|
|
89
90
|
<pre>
|
90
91
|
<b>[no view]</b> new view mystuff<br>
|
@@ -95,13 +96,13 @@ To create a new post, use the `[new post] command (also abbreviated `post or sim
|
|
95
96
|
prompted for a title:
|
96
97
|
|
97
98
|
<pre>
|
98
|
-
<b>[
|
99
|
+
<b>[mystuff]</b> new post<br>
|
99
100
|
<b>Title:</b> This is my first post
|
100
101
|
</pre>
|
101
102
|
|
102
103
|
Then you'll be sent into the editor (currently vim but can be others):
|
103
104
|
|
104
|
-
<
|
105
|
+
<img src="readme/edit-first.png" width="506" height="383" align="center"></img>
|
105
106
|
|
106
107
|
<pre>
|
107
108
|
<b>FIXME wizard?</b>
|
@@ -118,7 +119,7 @@ browse...
|
|
118
119
|
|
119
120
|
You can use the `config command to choose a file to edit.
|
120
121
|
|
121
|
-
<
|
122
|
+
<img src="readme/config-menu.png" width="700" height="547" align="center"></img>
|
122
123
|
|
123
124
|
The meaning and interaction of these files will be explained later. *FIXME
|
124
125
|
|
@@ -127,6 +128,42 @@ are needed.
|
|
127
128
|
|
128
129
|
.h2 The directory structure for a view
|
129
130
|
|
131
|
+
<b>Subject to change</b>
|
132
|
+
TBD: Add details
|
133
|
+
|
134
|
+
<pre>
|
135
|
+
.blogs/views/mystuff/
|
136
|
+
├── assets
|
137
|
+
├── posts
|
138
|
+
├── remote
|
139
|
+
│ ├── assets
|
140
|
+
│ ├── banner
|
141
|
+
│ ├── etc
|
142
|
+
│ ├── permalink
|
143
|
+
│ └── widgets
|
144
|
+
│ ├── ad
|
145
|
+
│ ├── links
|
146
|
+
│ ├── news
|
147
|
+
│ ├── pages
|
148
|
+
│ └── pinned
|
149
|
+
└── themes
|
150
|
+
└── standard
|
151
|
+
├── banner
|
152
|
+
├── blog
|
153
|
+
├── etc
|
154
|
+
├── post
|
155
|
+
└── widgets
|
156
|
+
├── ad
|
157
|
+
├── bydates
|
158
|
+
├── links
|
159
|
+
├── news
|
160
|
+
├── pages
|
161
|
+
├── pinned
|
162
|
+
├── search
|
163
|
+
├── sitemap
|
164
|
+
└── tag-cloud
|
165
|
+
</pre>
|
166
|
+
|
130
167
|
<pre><b>FIXME add details here</b></pre>
|
131
168
|
|
132
169
|
|
@@ -157,11 +194,11 @@ are needed.
|
|
157
194
|
<b>Predefined functions and variables</b>
|
158
195
|
<pre>
|
159
196
|
\$File
|
160
|
-
\$\$date
|
197
|
+
`[\$\$date]
|
161
198
|
etc.
|
162
199
|
</pre>
|
163
200
|
|
164
|
-
.h2 Runeblog-specific features (Liveblog</b>
|
201
|
+
.h2 Runeblog-specific features (Liveblog)</b>
|
165
202
|
|
166
203
|
<b>TBD</b>
|
167
204
|
|
@@ -224,7 +261,7 @@ are needed.
|
|
224
261
|
|
225
262
|
<b>Creating your own widgets</b>
|
226
263
|
|
227
|
-
<b>Special tags coming "soon"</b>
|
264
|
+
<b>Special tags/functions coming "soon"</b>
|
228
265
|
<pre>
|
229
266
|
github, gitlab, gist
|
230
267
|
wikipedia
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<div style="float: left; align: left; vertical-align: bottom">
|
2
|
-
<img src="raido4.png" width="210" height="295" align="left"></img>
|
2
|
+
<img src="readme/raido4.png" width="210" height="295" align="left"></img>
|
3
3
|
</div>
|
4
4
|
<h1>runeblog</h1><b>Runeblog</b> is a blogging tool written in Ruby. It has these basic characteristics:
|
5
5
|
<ul>
|
@@ -82,12 +82,13 @@ a new blog repo. Enter y for yes.
|
|
82
82
|
You'll then enter the editor (vim for now) to add configuration info to the <font size=+1><tt>global.lt3</tt></font> file.
|
83
83
|
<p>
|
84
84
|
|
85
|
-
<pre><b>FIXME add menu screenshot here</b></pre>
|
86
|
-
<pre><b>FIXME add vim screenshot here</b></pre>
|
85
|
+
<!-- <pre><b>FIXME add menu screenshot here</b></pre> -->
|
86
|
+
<!-- <pre><b>FIXME add vim screenshot here</b></pre> -->
|
87
|
+
<img src="readme/vim-global.png" width="494" height="696" align="center"></img>
|
87
88
|
<p>
|
88
89
|
|
89
|
-
The next thing you should do is to create at least one view of your own. Use the
|
90
|
-
|
90
|
+
The next thing you should do is to create at least one view of your own. Use the <font size=+1><tt>new view</tt></font>
|
91
|
+
command for this. Note that the current view is displayed as part of the prompt.
|
91
92
|
<p>
|
92
93
|
|
93
94
|
<pre>
|
@@ -101,7 +102,7 @@ prompted for a title:
|
|
101
102
|
<p>
|
102
103
|
|
103
104
|
<pre>
|
104
|
-
<b>[
|
105
|
+
<b>[mystuff]</b> new post<br>
|
105
106
|
<b>Title:</b> This is my first post
|
106
107
|
</pre>
|
107
108
|
<p>
|
@@ -109,7 +110,7 @@ prompted for a title:
|
|
109
110
|
Then you'll be sent into the editor (currently vim but can be others):
|
110
111
|
<p>
|
111
112
|
|
112
|
-
<
|
113
|
+
<img src="readme/edit-first.png" width="506" height="383" align="center"></img>
|
113
114
|
<p>
|
114
115
|
|
115
116
|
<pre>
|
@@ -129,7 +130,7 @@ browse...
|
|
129
130
|
You can use the <font size=+1><tt>config</tt></font> command to choose a file to edit.
|
130
131
|
<p>
|
131
132
|
|
132
|
-
<
|
133
|
+
<img src="readme/config-menu.png" width="700" height="547" align="center"></img>
|
133
134
|
<p>
|
134
135
|
|
135
136
|
The meaning and interaction of these files will be explained later. <b>FIXME</b>
|
@@ -140,6 +141,44 @@ are needed.
|
|
140
141
|
<p>
|
141
142
|
|
142
143
|
## The directory structure for a view
|
144
|
+
<b>Subject to change</b>
|
145
|
+
TBD: Add details
|
146
|
+
<p>
|
147
|
+
|
148
|
+
<pre>
|
149
|
+
.blogs/views/mystuff/
|
150
|
+
├── assets
|
151
|
+
├── posts
|
152
|
+
├── remote
|
153
|
+
│ ├── assets
|
154
|
+
│ ├── banner
|
155
|
+
│ ├── etc
|
156
|
+
│ ├── permalink
|
157
|
+
│ └── widgets
|
158
|
+
│ ├── ad
|
159
|
+
│ ├── links
|
160
|
+
│ ├── news
|
161
|
+
│ ├── pages
|
162
|
+
│ └── pinned
|
163
|
+
└── themes
|
164
|
+
└── standard
|
165
|
+
├── banner
|
166
|
+
├── blog
|
167
|
+
├── etc
|
168
|
+
├── post
|
169
|
+
└── widgets
|
170
|
+
├── ad
|
171
|
+
├── bydates
|
172
|
+
├── links
|
173
|
+
├── news
|
174
|
+
├── pages
|
175
|
+
├── pinned
|
176
|
+
├── search
|
177
|
+
├── sitemap
|
178
|
+
└── tag-cloud
|
179
|
+
</pre>
|
180
|
+
<p>
|
181
|
+
|
143
182
|
<pre><b>FIXME add details here</b></pre>
|
144
183
|
<p>
|
145
184
|
|
@@ -175,12 +214,12 @@ are needed.
|
|
175
214
|
<b>Predefined functions and variables</b>
|
176
215
|
<pre>
|
177
216
|
$File
|
178
|
-
|
217
|
+
<font size=+1><tt></tt></font>
|
179
218
|
etc.
|
180
219
|
</pre>
|
181
220
|
<p>
|
182
221
|
|
183
|
-
## Runeblog-specific features (Liveblog</b>
|
222
|
+
## Runeblog-specific features (Liveblog)</b>
|
184
223
|
<b>TBD</b>
|
185
224
|
<p>
|
186
225
|
|
@@ -252,7 +291,7 @@ are needed.
|
|
252
291
|
<b>Creating your own widgets</b>
|
253
292
|
<p>
|
254
293
|
|
255
|
-
<b>Special tags coming "soon"</b>
|
294
|
+
<b>Special tags/functions coming "soon"</b>
|
256
295
|
<pre>
|
257
296
|
github, gitlab, gist
|
258
297
|
wikipedia
|
data/bin/blog
CHANGED
@@ -56,10 +56,11 @@ end
|
|
56
56
|
|
57
57
|
def cmdline_rebuild
|
58
58
|
_need_view
|
59
|
-
|
59
|
+
print "Generating view... "
|
60
60
|
@blog.generate_view(@view)
|
61
|
-
|
62
|
-
@blog.generate_index(@view)
|
61
|
+
print "Generating index... "
|
62
|
+
num = @blog.generate_index(@view)
|
63
|
+
puts "#{num} posts\n "
|
63
64
|
end
|
64
65
|
|
65
66
|
def handle_cmdline
|
@@ -14,9 +14,7 @@
|
|
14
14
|
.include blog/head.lt3
|
15
15
|
<body>
|
16
16
|
|
17
|
-
.
|
18
|
-
$.banner text: top.html image: austin-pano.jpg // navbar
|
19
|
-
.say Hello again
|
17
|
+
$.banner bgcolor: 101035 text: top.html image: austin-pano.jpg // navbar
|
20
18
|
<div class="content container-fluid mt-4">
|
21
19
|
<div class="row">
|
22
20
|
$.include blog/index.lt3
|
@@ -7,9 +7,7 @@ class ::RuneBlog::Widget
|
|
7
7
|
def initialize(repo)
|
8
8
|
@blog = repo
|
9
9
|
@datafile = "list.data"
|
10
|
-
# f = File.new("/tmp/mehhh", "w")
|
11
10
|
@lines = File.exist?(@datafile) ? File.readlines(@datafile) : []
|
12
|
-
# f.puts #{@lines.inspect} in #{Dir.pwd}"
|
13
11
|
File.open("/tmp/mehhh", "w") {|f| f.puts "#{@lines.inspect} in #{Dir.pwd}" }
|
14
12
|
end
|
15
13
|
|
@@ -50,7 +48,7 @@ class ::RuneBlog::Widget
|
|
50
48
|
mainfile = "#{tag}-main"
|
51
49
|
File.open("#{mainfile}.html", "w") do |f|
|
52
50
|
_html_body(f, css) do
|
53
|
-
f.puts "<!-- #{@lines.inspect} in #{Dir.pwd} -->"
|
51
|
+
f.puts "<!-- #{@lines.inspect} in #{Dir.pwd} -->"
|
54
52
|
f.puts "<h1>#{card_title}</h1><br><hr>"
|
55
53
|
@links.each do |title, file|
|
56
54
|
title = title.gsub(/\\/, "") # kludge
|
data/lib/liveblog.rb
CHANGED
@@ -28,8 +28,6 @@ end
|
|
28
28
|
# "dot" commands
|
29
29
|
##################
|
30
30
|
|
31
|
-
|
32
|
-
|
33
31
|
def dropcap
|
34
32
|
# Bad form: adds another HEAD
|
35
33
|
text = _data
|
@@ -72,11 +70,8 @@ def faq
|
|
72
70
|
ques = _data.chomp
|
73
71
|
ans = _body_text
|
74
72
|
id = "faq#@faq_count"
|
75
|
-
# _out %[ <a class="btn btn-default btn-xs" data-toggle="collapse" href="##{id}" role="button" aria-expanded="false" aria-controls="collapseExample">+</a>]
|
76
73
|
_out %[ <a data-toggle="collapse" href="##{id}" role="button" aria-expanded="false" aria-controls="collapseExample"><font size=+3>⌄</font></a>]
|
77
74
|
_out %[ <b>#{ques}</b>]
|
78
|
-
# _out "<font size=-2><br></font>" if @faq_count == 1
|
79
|
-
# _out "<br>" unless @faq_count == 1
|
80
75
|
_out %[<div class="collapse" id="#{id}"><br><font size=+1> #{ans}</font></div>\n]
|
81
76
|
_out "<br>" unless @faq_count == 1
|
82
77
|
_optional_blank_line
|
@@ -93,11 +88,21 @@ def _read_navbar_data
|
|
93
88
|
end
|
94
89
|
|
95
90
|
def banner # still experimental
|
96
|
-
_out "<table width=100% bgcolor=#101035>"
|
97
|
-
_out " <tr>"
|
98
91
|
enum = _args.each
|
99
92
|
count = 0
|
100
93
|
span = 1
|
94
|
+
first = enum.peek
|
95
|
+
if first.start_with?("bgcolor:")
|
96
|
+
enum.next
|
97
|
+
bg = enum.next
|
98
|
+
else
|
99
|
+
bg = nil # bg = white - do nothing
|
100
|
+
end
|
101
|
+
str = "<table width=100%"
|
102
|
+
str << (bg ? " bgcolor=##{bg}>" : ">")
|
103
|
+
_out str
|
104
|
+
_out " <tr>"
|
105
|
+
|
101
106
|
loop do
|
102
107
|
count += 1
|
103
108
|
arg = enum.next
|
@@ -119,17 +124,14 @@ def banner # still experimental
|
|
119
124
|
_out "<td colspan=#{span}>" + File.read(file) + "</td>" +
|
120
125
|
" <!-- #{arg} -->"
|
121
126
|
when "navbar"
|
122
|
-
# STDERR.puts "-- navbar: pwd = #{Dir.pwd}: #{`ls`}"
|
123
127
|
dir = @blog.root/:views/@blog.view/"themes/standard/banner/"
|
124
|
-
|
125
|
-
# xlate cwd: dir, src: "navbar.lt3", dst: "navbar.html" # , debug: true
|
128
|
+
_make_navbar # horiz is default
|
126
129
|
stuff = File.read("banner/navbar.html")
|
127
130
|
_out "<td colspan=#{span}><div style='text-align: center'>#{stuff}</div></td>" +
|
128
131
|
" <!-- #{arg} -->"
|
129
132
|
when "vnavbar"
|
130
133
|
dir = @blog.root/:views/@blog.view/"themes/standard/banner/"
|
131
|
-
|
132
|
-
# xlate cwd: dir, src: "vnavbar.lt3", dst: "vnavbar.html" # , debug: true
|
134
|
+
_make_navbar(:vert)
|
133
135
|
file = "banner/vnavbar.html"
|
134
136
|
_out "<td colspan=#{span}>" + File.read(file) + "</td>" +
|
135
137
|
"<!-- #{arg} -->"
|
@@ -197,21 +199,6 @@ def list!
|
|
197
199
|
_optional_blank_line
|
198
200
|
end
|
199
201
|
|
200
|
-
|
201
|
-
def make_main_links
|
202
|
-
log!(enter: __method__, level: 1)
|
203
|
-
# FIXME remember strings may not be safe
|
204
|
-
line = _data.chomp
|
205
|
-
tag, card_title = *line.split(" ", 2)
|
206
|
-
cardfile, mainfile = "#{tag}-card", "#{tag}-main"
|
207
|
-
input = "list.data"
|
208
|
-
log!(str: "Reading #{input}", pwd: true, level: 3)
|
209
|
-
pairs = File.readlines(input).map {|line| line.chomp.split(/, */, 2) }
|
210
|
-
_write_main(mainfile, pairs, card_title, tag)
|
211
|
-
_write_card(cardfile, mainfile, pairs, card_title, tag)
|
212
|
-
log!(str: "...returning from method", pwd: true, level: 3)
|
213
|
-
end
|
214
|
-
|
215
202
|
### inset
|
216
203
|
|
217
204
|
def inset
|
@@ -232,7 +219,6 @@ def inset
|
|
232
219
|
else # Only into body
|
233
220
|
output << line
|
234
221
|
end
|
235
|
-
# _passthru(line)
|
236
222
|
end
|
237
223
|
lr = _args.first
|
238
224
|
wide = _args[1] || "25"
|
@@ -241,10 +227,6 @@ def inset
|
|
241
227
|
_out "</p>" # kludge!! nopara
|
242
228
|
0.upto(2) {|i| _passthru output[i] }
|
243
229
|
_passthru stuff
|
244
|
-
# _passthru "<div style='float:#{lr}; width: #{wide}%; padding:8px; padding-right:12px'>" # ; font-family:verdana'>"
|
245
|
-
# _passthru '<b><i>'
|
246
|
-
# _passthru box
|
247
|
-
# _passthru_noline '</i></b></div>'
|
248
230
|
3.upto(output.length-1) {|i| _passthru output[i] }
|
249
231
|
_out "<p>" # kludge!! para
|
250
232
|
_optional_blank_line
|
@@ -256,7 +238,6 @@ def title
|
|
256
238
|
@meta.title = title
|
257
239
|
setvar :title, title
|
258
240
|
# FIXME refactor -- just output variables for a template
|
259
|
-
# _out %[<h1 class="post-title">#{title}</h1><br>]
|
260
241
|
_optional_blank_line
|
261
242
|
end
|
262
243
|
|
@@ -346,14 +327,8 @@ def teaser
|
|
346
327
|
end
|
347
328
|
|
348
329
|
def finalize
|
349
|
-
|
350
|
-
|
351
|
-
puts @live.body
|
352
|
-
return
|
353
|
-
end
|
354
|
-
if @blog.nil?
|
355
|
-
return @meta
|
356
|
-
end
|
330
|
+
return unless @meta
|
331
|
+
return @meta if @blog.nil?
|
357
332
|
|
358
333
|
@slug = @blog.make_slug(@meta)
|
359
334
|
slug_dir = @slug
|
@@ -456,7 +431,6 @@ def _make_class_name(app)
|
|
456
431
|
end
|
457
432
|
|
458
433
|
def _load_local(widget)
|
459
|
-
STDERR.puts "widget = #{widget} pwd = #{Dir.pwd}"
|
460
434
|
Dir.chdir("widgets/#{widget}") do
|
461
435
|
rclass = _make_class_name(widget)
|
462
436
|
found = (require("./#{widget}") if File.exist?("#{widget}.rb"))
|
@@ -470,7 +444,9 @@ rescue => err
|
|
470
444
|
end
|
471
445
|
|
472
446
|
def pinned_rebuild
|
473
|
-
|
447
|
+
view = @blog.view
|
448
|
+
view = _args[0] unless _args.empty?
|
449
|
+
Dir.chdir(@blog.root/:views/view/"themes/standard/") do
|
474
450
|
wtag = "widgets/pinned"
|
475
451
|
code = _load_local("pinned")
|
476
452
|
if code
|
@@ -478,7 +454,18 @@ def pinned_rebuild
|
|
478
454
|
widget = code.new(@blog)
|
479
455
|
widget.build
|
480
456
|
end
|
481
|
-
_include_file wtag/"pinned-card.html"
|
457
|
+
# _include_file wtag/"pinned-card.html"
|
458
|
+
end
|
459
|
+
end
|
460
|
+
end
|
461
|
+
|
462
|
+
def _handle_standard_widget(tag)
|
463
|
+
wtag = :widgets/tag
|
464
|
+
code = _load_local(tag)
|
465
|
+
if code
|
466
|
+
Dir.chdir(wtag) do
|
467
|
+
widget = code.new(@blog)
|
468
|
+
widget.build
|
482
469
|
end
|
483
470
|
end
|
484
471
|
end
|
@@ -492,7 +479,7 @@ def sidebar
|
|
492
479
|
|
493
480
|
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
494
481
|
|
495
|
-
standard = %w[pinned pages links]
|
482
|
+
standard = %w[pinned pages links news]
|
496
483
|
|
497
484
|
_body do |token|
|
498
485
|
tag = token.chomp.strip.downcase
|
@@ -500,27 +487,18 @@ def sidebar
|
|
500
487
|
raise "Can't find #{wtag}" unless Dir.exist?(wtag)
|
501
488
|
tcard = "#{tag}-card.html"
|
502
489
|
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
490
|
+
case
|
491
|
+
when standard.include?(tag)
|
492
|
+
_handle_standard_widget(tag)
|
493
|
+
when tag == "ad"
|
494
|
+
num = rand(1..4)
|
495
|
+
img = "widgets/ad/ad#{num}.png"
|
496
|
+
src, dst = img, @root/:views/@view_name/"remote/widgets/ad/"
|
497
|
+
system!("cp #{src} #{dst}") # , show: true)
|
498
|
+
File.open(wtag/"vars.lt3", "w") do |f|
|
499
|
+
f.puts ".set ad.image = #{img}"
|
509
500
|
end
|
510
|
-
|
511
|
-
_include_file wtag/tcard
|
512
|
-
next
|
513
|
-
end
|
514
|
-
|
515
|
-
if tag == "ad"
|
516
|
-
num = rand(1..4)
|
517
|
-
img = "widgets/ad/ad#{num}.png"
|
518
|
-
src, dst = img, @root/:views/@view_name/"remote/widgets/ad/"
|
519
|
-
system!("cp #{src} #{dst}") # , show: true)
|
520
|
-
File.open(wtag/"vars.lt3", "w") do |f|
|
521
|
-
f.puts ".set ad.image = #{img}"
|
522
|
-
end
|
523
|
-
xlate cwd: wtag, src: tag, dst: tcard, force: true # , deps: depend # , debug: true
|
501
|
+
xlate cwd: wtag, src: tag, dst: tcard, force: true # , deps: depend # , debug: true
|
524
502
|
end
|
525
503
|
|
526
504
|
_include_file wtag/tcard
|
@@ -605,17 +583,6 @@ class Livetext::Functions
|
|
605
583
|
def _var(name)
|
606
584
|
::Livetext::Vars[name] || "[:#{name} is undefined]"
|
607
585
|
end
|
608
|
-
|
609
|
-
# def link(param = nil)
|
610
|
-
# puts "--- WTF?? param = #{param.inspect}"; gets
|
611
|
-
# file, cdata = param.split("||", 2)
|
612
|
-
# %[<a href="assets/#{file}">#{cdata}</a>]
|
613
|
-
# end
|
614
|
-
#
|
615
|
-
# def link(param = nil)
|
616
|
-
# file, cdata = param.split("||", 2)
|
617
|
-
# %[<link type="application/atom+xml" rel="alternate" href="#{_var(:host)}#{file}" title="#{_var(:title)}">]
|
618
|
-
# end
|
619
586
|
end
|
620
587
|
|
621
588
|
###
|
@@ -684,18 +651,14 @@ end
|
|
684
651
|
|
685
652
|
def vnavbar
|
686
653
|
str = _make_navbar(:vert)
|
687
|
-
_out str
|
688
654
|
end
|
689
655
|
|
690
656
|
def hnavbar
|
691
657
|
str = _make_navbar # horiz is default
|
692
|
-
STDERR.puts "STR = #{str.inspect}"
|
693
|
-
_out str
|
694
658
|
end
|
695
659
|
|
696
660
|
def navbar
|
697
661
|
str = _make_navbar # horiz is default
|
698
|
-
_out str
|
699
662
|
end
|
700
663
|
|
701
664
|
def _make_navbar(orient = :horiz)
|
@@ -718,14 +681,11 @@ def _make_navbar(orient = :horiz)
|
|
718
681
|
name = (orient == :horiz) ? "navbar.html" : "vnavbar.html"
|
719
682
|
|
720
683
|
html_file = @blog.root/:views/@blog.view/"themes/standard/banner"/name
|
721
|
-
# STDERR.puts "html = #{html_file.inspect} pwd = #{Dir.pwd}"
|
722
684
|
output = File.new(html_file, "w")
|
723
685
|
output.puts start
|
724
686
|
lines = _read_navbar_data
|
725
687
|
lines = ["index Home"] + lines unless _args.include?("nohome")
|
726
|
-
STDERR.puts " #{lines.size} lines"
|
727
688
|
lines.each do |line|
|
728
|
-
STDERR.puts " handling: #{line.inspect}"
|
729
689
|
basename, cdata = line.chomp.strip.split(" ", 2)
|
730
690
|
full = :banner/basename+".html"
|
731
691
|
href_main = _main(full)
|
@@ -739,7 +699,6 @@ STDERR.puts " handling: #{line.inspect}"
|
|
739
699
|
end
|
740
700
|
output.puts finish
|
741
701
|
output.close
|
742
|
-
STDERR.puts "-- html_file: #{`ls -l #{html_file}`}"
|
743
702
|
return File.read(html_file)
|
744
703
|
end
|
745
704
|
|
@@ -760,123 +719,6 @@ def _html_body(file, css = nil)
|
|
760
719
|
file.puts " </body>\n</html>"
|
761
720
|
end
|
762
721
|
|
763
|
-
def _write_card(cardfile, mainfile, pairs, card_title, tag)
|
764
|
-
log!(str: "Creating #{cardfile}.html", pwd: true, level: 2)
|
765
|
-
url = mainfile
|
766
|
-
url = :widgets/tag/mainfile + ".html"
|
767
|
-
File.open("#{cardfile}.html", "w") do |f|
|
768
|
-
f.puts <<-EOS
|
769
|
-
<div class="card mb-3">
|
770
|
-
<div class="card-body">
|
771
|
-
<h5 class="card-title">
|
772
|
-
<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="##{tag}">+</button>
|
773
|
-
<a href="javascript: void(0)"
|
774
|
-
onclick="javascript:open_main('#{url}')"
|
775
|
-
style="text-decoration: none; color: black"> #{card_title}</a>
|
776
|
-
</h5>
|
777
|
-
<div class="collapse" id="#{tag}">
|
778
|
-
EOS
|
779
|
-
log!(str: "Writing data pairs to #{cardfile}.html", pwd: true, level: 2)
|
780
|
-
local = _local_tag?(tag)
|
781
|
-
pairs.each do |file, title|
|
782
|
-
url = file
|
783
|
-
type, title = page_type(tag, title)
|
784
|
-
case type
|
785
|
-
when :local; url_ref = _widget_card(file, tag) # local always frameable
|
786
|
-
when :frame; url_ref = _main(file) # remote, frameable
|
787
|
-
when :noframe; url_ref = _blank(file) # remote, not frameable
|
788
|
-
end
|
789
|
-
anchor = %[<a #{url_ref}>#{title}</a>]
|
790
|
-
wrapper = %[<li class="list-group-item">#{anchor}</li>]
|
791
|
-
f.puts wrapper
|
792
|
-
end
|
793
|
-
_include_file cardfile+".html"
|
794
|
-
f.puts <<-EOS
|
795
|
-
</div>
|
796
|
-
</div>
|
797
|
-
</div>
|
798
|
-
EOS
|
799
|
-
end
|
800
|
-
end
|
801
|
-
|
802
|
-
def _local_tag?(tag)
|
803
|
-
case tag.to_sym
|
804
|
-
when :pages
|
805
|
-
true
|
806
|
-
when :news, :links
|
807
|
-
false
|
808
|
-
else
|
809
|
-
true # Hmmm...
|
810
|
-
end
|
811
|
-
end
|
812
|
-
|
813
|
-
def page_type(tag, title)
|
814
|
-
yesno = "yes"
|
815
|
-
yesno, title = title.split(/, */) if title =~ /^[yes|no]/
|
816
|
-
local = _local_tag?(tag)
|
817
|
-
frameable = (yesno == "yes")
|
818
|
-
if local
|
819
|
-
return [:local, title]
|
820
|
-
elsif frameable
|
821
|
-
return [:frame, title]
|
822
|
-
else
|
823
|
-
return [:noframe, title]
|
824
|
-
end
|
825
|
-
end
|
826
|
-
|
827
|
-
def _write_main_pages(mainfile, pairs, card_title, tag)
|
828
|
-
local = _local_tag?(tag)
|
829
|
-
pieces = @blog.view.dir/"themes/standard/widgets"/tag/:pieces
|
830
|
-
main_head = xlate! cwd: pieces, src: "main-head.lt3"
|
831
|
-
main_tail = xlate! cwd: pieces, src: "main-tail.lt3"
|
832
|
-
# ^ make into methods in pages.rb or whatever?
|
833
|
-
|
834
|
-
File.open("#{mainfile}.html", "w") do |f|
|
835
|
-
f.puts main_head
|
836
|
-
pairs.each do |file, title|
|
837
|
-
type, title = page_type(tag, title)
|
838
|
-
title = title.gsub(/\\/, "") # kludge
|
839
|
-
case type
|
840
|
-
when :local; url_ref = _widget_main(file, tag) # local always frameable
|
841
|
-
when :frame; url_ref = "href = '#{file}'" # local always frameable
|
842
|
-
when :noframe; url_ref = _blank(file) # local always frameable
|
843
|
-
end
|
844
|
-
css = "color: #8888FF; text-decoration: none; font-size: 21px" # ; font-family: verdana"
|
845
|
-
f.puts %[<a style="#{css}" #{url_ref}>#{title}</a> <br>]
|
846
|
-
end
|
847
|
-
f.puts main_tail
|
848
|
-
end
|
849
|
-
end
|
850
|
-
|
851
|
-
def _write_main(mainfile, pairs, card_title, tag)
|
852
|
-
log!(str: "Creating #{mainfile}.html", pwd: true, level: 2)
|
853
|
-
|
854
|
-
if tag == "pages" # temporary experiment
|
855
|
-
_write_main_pages(mainfile, pairs, card_title, tag)
|
856
|
-
return
|
857
|
-
end
|
858
|
-
|
859
|
-
local = _local_tag?(tag)
|
860
|
-
setvar "card.title", card_title
|
861
|
-
css = "* { font-family: verdana }"
|
862
|
-
File.open("#{mainfile}.html", "w") do |f|
|
863
|
-
_html_body(f, css) do
|
864
|
-
f.puts "<h1>#{card_title}</h1><br><hr>"
|
865
|
-
pairs.each do |file, title|
|
866
|
-
type, title = page_type(tag, title)
|
867
|
-
title = title.gsub(/\\/, "") # kludge
|
868
|
-
case type
|
869
|
-
when :local; url_ref = _widget_main(file, tag) # local always frameable
|
870
|
-
when :frame; url_ref = "href = '#{file}'" # local always frameable
|
871
|
-
when :noframe; url_ref = _blank(file) # local always frameable
|
872
|
-
end
|
873
|
-
css = "color: #8888FF; text-decoration: none; font-size: 21px" # ; font-family: verdana"
|
874
|
-
f.puts %[<a style="#{css}" #{url_ref}>#{title}</a> <br>]
|
875
|
-
end
|
876
|
-
end
|
877
|
-
end
|
878
|
-
end
|
879
|
-
|
880
722
|
def _errout(*args)
|
881
723
|
::STDERR.puts *args
|
882
724
|
end
|
@@ -951,12 +793,3 @@ def _blank(url)
|
|
951
793
|
%[href='#{url}' target='blank']
|
952
794
|
end
|
953
795
|
|
954
|
-
def _widget_main(url, tag)
|
955
|
-
%[href="#{url}"]
|
956
|
-
end
|
957
|
-
|
958
|
-
def _widget_card(url, tag)
|
959
|
-
url2 = :widgets/tag/url
|
960
|
-
%[href="javascript: void(0)" onclick="javascript:open_main('#{url2}')"]
|
961
|
-
end
|
962
|
-
|
data/lib/repl.rb
CHANGED
@@ -15,7 +15,6 @@ module RuneBlog::REPL
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def cmd_quit(arg, testing = false)
|
18
|
-
check_empty(arg)
|
19
18
|
RubyText.stop
|
20
19
|
sleep 0.1
|
21
20
|
cmd_clear(nil)
|
@@ -24,14 +23,12 @@ module RuneBlog::REPL
|
|
24
23
|
end
|
25
24
|
|
26
25
|
def cmd_clear(arg, testing = false)
|
27
|
-
check_empty(arg)
|
28
26
|
STDSCR.cwin.clear
|
29
27
|
STDSCR.cwin.refresh
|
30
28
|
end
|
31
29
|
|
32
30
|
def cmd_version(arg, testing = false)
|
33
31
|
reset_output
|
34
|
-
check_empty(arg)
|
35
32
|
output RuneBlog::VERSION
|
36
33
|
puts fx("\n RuneBlog", :bold), fx(" v #{RuneBlog::VERSION}\n", Red) unless testing
|
37
34
|
@out
|
@@ -64,14 +61,12 @@ module RuneBlog::REPL
|
|
64
61
|
end
|
65
62
|
|
66
63
|
def _manage_pinned(arg, testing = false) # cloned from manage_links
|
67
|
-
check_empty(arg)
|
68
64
|
dir = @blog.view.dir/"themes/standard/widgets/pinned"
|
69
65
|
data = dir/"list.data"
|
70
66
|
edit_file(data)
|
71
67
|
end
|
72
68
|
|
73
69
|
def _manage_navbar(arg, testing = false) # cloned from manage_pages
|
74
|
-
check_empty(arg)
|
75
70
|
dir = @blog.view.dir/"themes/standard/navbar"
|
76
71
|
files = Dir.entries(dir) - %w[. .. navbar.lt3]
|
77
72
|
new_item = " [New item] "
|
@@ -107,7 +102,6 @@ module RuneBlog::REPL
|
|
107
102
|
end
|
108
103
|
|
109
104
|
def _manage_pages(arg, testing = false)
|
110
|
-
check_empty(arg)
|
111
105
|
dir = @blog.view.dir/"themes/standard/widgets/pages"
|
112
106
|
# Assume child files already generated (and list.data??)
|
113
107
|
data = dir/"list.data"
|
@@ -143,14 +137,12 @@ module RuneBlog::REPL
|
|
143
137
|
end
|
144
138
|
|
145
139
|
def cmd_import(arg, testing = false)
|
146
|
-
check_empty(arg)
|
147
140
|
files = ask("\n File(s) = ")
|
148
141
|
system!("cp #{files} #{@blog.root}/views/#{@blog.view.name}/assets/")
|
149
142
|
end
|
150
143
|
|
151
144
|
def cmd_browse(arg, testing = false)
|
152
145
|
reset_output
|
153
|
-
check_empty(arg)
|
154
146
|
url = @blog.view.publisher.url
|
155
147
|
if url.nil?
|
156
148
|
output! "Publish first."
|
@@ -164,8 +156,11 @@ module RuneBlog::REPL
|
|
164
156
|
|
165
157
|
def cmd_preview(arg, testing = false)
|
166
158
|
reset_output
|
167
|
-
check_empty(arg)
|
168
159
|
local = @blog.view.local_index
|
160
|
+
unless File.exist?(local)
|
161
|
+
puts "\n No index. Rebuilding..."
|
162
|
+
cmd_rebuild(nil)
|
163
|
+
end
|
169
164
|
result = system!("open #{local}")
|
170
165
|
raise CantOpen(local) unless result
|
171
166
|
@out
|
@@ -182,7 +177,6 @@ module RuneBlog::REPL
|
|
182
177
|
# Future Hal says please refactor this
|
183
178
|
puts unless testing
|
184
179
|
reset_output
|
185
|
-
check_empty(arg)
|
186
180
|
unless @blog.view.can_publish?
|
187
181
|
msg = "Can't publish... see globals.lt3"
|
188
182
|
puts msg unless testing
|
@@ -225,7 +219,6 @@ module RuneBlog::REPL
|
|
225
219
|
def cmd_rebuild(arg, testing = false)
|
226
220
|
debug "Starting cmd_rebuild..."
|
227
221
|
reset_output
|
228
|
-
check_empty(arg)
|
229
222
|
puts unless testing
|
230
223
|
@blog.generate_view(@blog.view)
|
231
224
|
@blog.generate_index(@blog.view)
|
@@ -285,7 +278,6 @@ module RuneBlog::REPL
|
|
285
278
|
|
286
279
|
def cmd_new_post(arg, testing = false)
|
287
280
|
reset_output
|
288
|
-
check_empty(arg)
|
289
281
|
if @blog.views.empty?
|
290
282
|
puts "\n Create a view before creating the first post!\n "
|
291
283
|
return
|
@@ -358,7 +350,6 @@ module RuneBlog::REPL
|
|
358
350
|
|
359
351
|
def cmd_list_views(arg, testing = false)
|
360
352
|
reset_output("\n")
|
361
|
-
check_empty(arg)
|
362
353
|
puts unless testing
|
363
354
|
@blog.views.each do |v|
|
364
355
|
v = v.to_s
|
@@ -372,7 +363,6 @@ module RuneBlog::REPL
|
|
372
363
|
|
373
364
|
def cmd_list_posts(arg, testing = false)
|
374
365
|
reset_output
|
375
|
-
check_empty(arg)
|
376
366
|
posts = @blog.posts # current view
|
377
367
|
str = @blog.view.name + ":\n"
|
378
368
|
output str
|
@@ -395,7 +385,6 @@ module RuneBlog::REPL
|
|
395
385
|
|
396
386
|
def cmd_list_drafts(arg, testing = false)
|
397
387
|
reset_output
|
398
|
-
check_empty(arg)
|
399
388
|
drafts = @blog.drafts # current view
|
400
389
|
if drafts.empty?
|
401
390
|
output! "No drafts"
|
@@ -416,7 +405,6 @@ module RuneBlog::REPL
|
|
416
405
|
|
417
406
|
def cmd_list_assets(arg, testing = false)
|
418
407
|
reset_output
|
419
|
-
check_empty(arg)
|
420
408
|
dir = @blog.view.dir + "/assets"
|
421
409
|
assets = Dir[dir + "/*"]
|
422
410
|
if assets.empty?
|
@@ -512,7 +500,6 @@ module RuneBlog::REPL
|
|
512
500
|
|
513
501
|
def cmd_help(arg, testing = false)
|
514
502
|
reset_output
|
515
|
-
check_empty(arg)
|
516
503
|
msg = Help
|
517
504
|
output msg
|
518
505
|
msg.each_line do |line|
|
data/lib/runeblog.rb
CHANGED
@@ -331,8 +331,11 @@ class RuneBlog
|
|
331
331
|
text = nil
|
332
332
|
@theme = @view.dir/"themes/standard"
|
333
333
|
post_entry_name = @theme/"blog/post_entry.lt3"
|
334
|
+
# STDERR.puts "-- @pename = #{post_entry_name}"
|
335
|
+
# STDERR.puts "-- @pe = #{@_post_entry.inspect}"
|
334
336
|
depend = [post_entry_name]
|
335
|
-
xlate src: post_entry_name, dst: "/tmp/post_entry.html", deps: depend # , debug: true
|
337
|
+
xlate src: post_entry_name, dst: "/tmp/post_entry.html" # , deps: depend # , debug: true
|
338
|
+
# STDERR.puts "-- xlate result: #{`ls -l /tmp/post_entry.html`}"
|
336
339
|
@_post_entry ||= File.read("/tmp/post_entry.html")
|
337
340
|
vp = post_lookup(id)
|
338
341
|
nslug, aslug, title, date, teaser_text =
|
@@ -347,8 +350,7 @@ class RuneBlog
|
|
347
350
|
_tmp_error(err)
|
348
351
|
end
|
349
352
|
|
350
|
-
def
|
351
|
-
log!(enter: __method__, args: [file], level: 3)
|
353
|
+
def _sorted_posts
|
352
354
|
posts = nil
|
353
355
|
dir_posts = @vdir/:posts
|
354
356
|
entries = Dir.entries(dir_posts)
|
@@ -362,21 +364,30 @@ class RuneBlog
|
|
362
364
|
nb = b[bi..(bi+3)].to_i
|
363
365
|
nb <=> na
|
364
366
|
end # sort descending
|
365
|
-
|
367
|
+
return posts[0..19] # return 20 at most
|
368
|
+
end
|
369
|
+
|
370
|
+
def collect_recent_posts(file)
|
371
|
+
log!(enter: __method__, args: [file], level: 3)
|
366
372
|
text = <<-HTML
|
367
373
|
<html>
|
368
374
|
<head><link rel="stylesheet" href="etc/blog.css"></head>
|
369
375
|
<body>
|
370
376
|
HTML
|
377
|
+
posts = _sorted_posts
|
371
378
|
wanted = [8, posts.size].min # estimate how many we want?
|
372
379
|
enum = posts.each
|
380
|
+
entries = []
|
373
381
|
wanted.times do
|
374
382
|
postid = File.basename(enum.next)
|
375
383
|
postid = postid.to_i
|
376
|
-
|
384
|
+
entry = index_entry(postid)
|
385
|
+
entries << entry
|
386
|
+
text << entry
|
377
387
|
end
|
378
388
|
text << "</body></html>"
|
379
389
|
File.write(@vdir/:remote/file, text)
|
390
|
+
return posts.size
|
380
391
|
rescue => err
|
381
392
|
_tmp_error(err)
|
382
393
|
end
|
@@ -427,7 +438,8 @@ class RuneBlog
|
|
427
438
|
log!(enter: __method__, args: [view], pwd: true, dir: true)
|
428
439
|
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
429
440
|
@vdir = @root/:views/view
|
430
|
-
collect_recent_posts("recent.html")
|
441
|
+
num = collect_recent_posts("recent.html")
|
442
|
+
return num
|
431
443
|
rescue => err
|
432
444
|
_tmp_error(err)
|
433
445
|
end
|
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.95'
|
24
24
|
s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.16'
|
25
25
|
|
26
26
|
# Files...
|
data/test/austin.rb
CHANGED
@@ -50,7 +50,8 @@ end
|
|
50
50
|
|
51
51
|
t0 = Time.now
|
52
52
|
|
53
|
-
puts
|
53
|
+
puts
|
54
|
+
debug bold("Generating test blog...")
|
54
55
|
|
55
56
|
system("rm -rf .blogs")
|
56
57
|
RuneBlog.create_new_blog_repo(".blogs")
|
@@ -151,12 +152,10 @@ x.generate_index("around_austin")
|
|
151
152
|
|
152
153
|
debug
|
153
154
|
x.change_view("around_austin")
|
154
|
-
debug
|
155
|
-
|
156
|
-
puts bold("...finished.\n")
|
155
|
+
debug bold("...finished.\n")
|
157
156
|
|
158
157
|
t1 = Time.now
|
159
158
|
|
160
159
|
elapsed = t1 - t0
|
161
|
-
puts "
|
160
|
+
puts "Elapsed: #{'%3.2f' % elapsed} secs\n "
|
162
161
|
|
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.64
|
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-11-
|
11
|
+
date: 2019-11-18 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.95
|
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.95
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rubytext
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -69,6 +69,11 @@ files:
|
|
69
69
|
- empty_view/remote/banner/top.html
|
70
70
|
- empty_view/remote/etc/GIT_IS_DUMB
|
71
71
|
- empty_view/remote/permalink/GIT_IS_DUMB
|
72
|
+
- empty_view/remote/widgets/ad/GIT_IS_DUMB
|
73
|
+
- empty_view/remote/widgets/links/GIT_IS_DUMB
|
74
|
+
- empty_view/remote/widgets/news/GIT_IS_DUMB
|
75
|
+
- empty_view/remote/widgets/pages/GIT_IS_DUMB
|
76
|
+
- empty_view/remote/widgets/pinned/GIT_IS_DUMB
|
72
77
|
- empty_view/themes/standard/README
|
73
78
|
- empty_view/themes/standard/banner/about.lt3
|
74
79
|
- empty_view/themes/standard/banner/austin-pano.jpg
|
@@ -97,7 +102,6 @@ files:
|
|
97
102
|
- empty_view/themes/standard/widgets/ad/ad3.png
|
98
103
|
- empty_view/themes/standard/widgets/ad/ad4.png
|
99
104
|
- empty_view/themes/standard/widgets/bydates/README
|
100
|
-
- empty_view/themes/standard/widgets/bydates/bydates.lt3
|
101
105
|
- empty_view/themes/standard/widgets/bydates/bydates.rb
|
102
106
|
- empty_view/themes/standard/widgets/bydates/card.css
|
103
107
|
- empty_view/themes/standard/widgets/bydates/custom.rb
|
@@ -110,7 +114,6 @@ files:
|
|
110
114
|
- empty_view/themes/standard/widgets/links/README
|
111
115
|
- empty_view/themes/standard/widgets/links/card.css
|
112
116
|
- empty_view/themes/standard/widgets/links/custom.rb
|
113
|
-
- empty_view/themes/standard/widgets/links/links.lt3
|
114
117
|
- empty_view/themes/standard/widgets/links/links.rb
|
115
118
|
- empty_view/themes/standard/widgets/links/list.data
|
116
119
|
- empty_view/themes/standard/widgets/links/local-vars.lt3
|
@@ -125,7 +128,6 @@ files:
|
|
125
128
|
- empty_view/themes/standard/widgets/news/list.data
|
126
129
|
- empty_view/themes/standard/widgets/news/local-vars.lt3
|
127
130
|
- empty_view/themes/standard/widgets/news/main.css
|
128
|
-
- empty_view/themes/standard/widgets/news/news.lt3
|
129
131
|
- empty_view/themes/standard/widgets/news/news.rb
|
130
132
|
- empty_view/themes/standard/widgets/news/pieces/card-head.lt3
|
131
133
|
- empty_view/themes/standard/widgets/news/pieces/card-tail.lt3
|
@@ -142,7 +144,6 @@ files:
|
|
142
144
|
- empty_view/themes/standard/widgets/pages/local.rb
|
143
145
|
- empty_view/themes/standard/widgets/pages/main.css
|
144
146
|
- empty_view/themes/standard/widgets/pages/other-stuff.lt3
|
145
|
-
- empty_view/themes/standard/widgets/pages/pages.lt3
|
146
147
|
- empty_view/themes/standard/widgets/pages/pages.rb
|
147
148
|
- empty_view/themes/standard/widgets/pages/pieces/card-head.lt3
|
148
149
|
- empty_view/themes/standard/widgets/pages/pieces/card-tail.lt3
|
@@ -157,7 +158,6 @@ files:
|
|
157
158
|
- empty_view/themes/standard/widgets/pinned/pieces/card-tail.lt3
|
158
159
|
- empty_view/themes/standard/widgets/pinned/pieces/main-head.lt3
|
159
160
|
- empty_view/themes/standard/widgets/pinned/pieces/main-tail.lt3
|
160
|
-
- empty_view/themes/standard/widgets/pinned/pinned.lt3
|
161
161
|
- empty_view/themes/standard/widgets/pinned/pinned.rb
|
162
162
|
- empty_view/themes/standard/widgets/search/README
|
163
163
|
- empty_view/themes/standard/widgets/search/card.css
|
@@ -168,7 +168,6 @@ files:
|
|
168
168
|
- empty_view/themes/standard/widgets/search/pieces/card-tail.lt3
|
169
169
|
- empty_view/themes/standard/widgets/search/pieces/main-head.lt3
|
170
170
|
- empty_view/themes/standard/widgets/search/pieces/main-tail.lt3
|
171
|
-
- empty_view/themes/standard/widgets/search/search.lt3
|
172
171
|
- empty_view/themes/standard/widgets/search/search.rb
|
173
172
|
- empty_view/themes/standard/widgets/sitemap/README
|
174
173
|
- empty_view/themes/standard/widgets/sitemap/card.css
|
@@ -179,7 +178,6 @@ files:
|
|
179
178
|
- empty_view/themes/standard/widgets/sitemap/pieces/card-tail.lt3
|
180
179
|
- empty_view/themes/standard/widgets/sitemap/pieces/main-head.lt3
|
181
180
|
- empty_view/themes/standard/widgets/sitemap/pieces/main-tail.lt3
|
182
|
-
- empty_view/themes/standard/widgets/sitemap/sitemap.lt3
|
183
181
|
- empty_view/themes/standard/widgets/sitemap/sitemap.rb
|
184
182
|
- empty_view/themes/standard/widgets/tag-cloud/OLD-example.lt3
|
185
183
|
- empty_view/themes/standard/widgets/tag-cloud/README
|