runeblog 0.2.65 → 0.2.66

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7caeb0a5892f06a910b453c290278ae3950f989d617e9368c9702734eaf75ad0
4
- data.tar.gz: 033b710cf6b4fc0fe40683fada9e2c560fa26dddc921aa475ec567076e20e0ae
3
+ metadata.gz: 3377a5ba70f92dddd9b045725e85eb7fff8ebbab816574116ec333cbe78b8c8a
4
+ data.tar.gz: 1b867812e0f3fa96b74ea4abfa5331fcf1bb9eb263cfd936b7fd1d57b3a6bc6c
5
5
  SHA512:
6
- metadata.gz: 7c6588fb31cc2d2854b93fd1087941e7610f9e322d664c6bd02d64b30e2d7647bd18634b6188c6bbecbb7283d6c5cb43b4cf8b8d5e2f18e52a726f3db8893f20
7
- data.tar.gz: 01d610980deb44a78467c75347736a1009d462c251dff80b3b5e6398cdbe6b587f06a27f9c88df349ddbaaad3f086e353b06daf325b490d30a014bba6d289260
6
+ metadata.gz: e3ddff49dff4ddc7e9af3b2d6f762deca151965630ed85dcc7605f9f5889aabd2c5f48bd33a512e8959c3c6e3742fafac46056c5125758bcc96e81299f8caab8
7
+ data.tar.gz: d59bd1c867a21c3210f32283e2818f66f6592a0a872def4715c87ca35df7d572cb96321ac7c50e7b85ec4d1fa178a2d69e75d14c7f9a19fa9e755183fbf5e7e5
@@ -14,7 +14,14 @@
14
14
  .include blog/head.lt3
15
15
  <body>
16
16
 
17
- $.banner bgcolor: 101035 text: top.html image: austin-pano.jpg // navbar
17
+ $.banner
18
+ height 100
19
+ bgcolor 101035
20
+ svg_title bgcolor: #b08080 size: 29px xy: 75,50 align: center size2: 15px xy2: 75,70 align2: center
21
+ image austin-pano.jpg
22
+ break
23
+ navbar
24
+ $.end
18
25
  <div class="content container-fluid mt-4">
19
26
  <div class="row">
20
27
  $.include blog/index.lt3
@@ -1,8 +1,19 @@
1
1
  <!-- Miscellaneous local JS pieces are defined here -->
2
2
 
3
3
  <script>
4
- function open_main(url) {
5
- var site = url+'?toolbar=0&amp;navpanes=0&amp;scrollbar=0';
6
- document.getElementById('main').src = site;
7
- }
4
+ function open_main(url) {
5
+ var site = url+'?toolbar=0&amp;navpanes=0&amp;scrollbar=0';
6
+ document.getElementById('main').src = site;
7
+ }
8
+
9
+ function callout(d, id, src) {
10
+ var js, fjs = d.getElementsByTagName('script')[0];
11
+ p=/^http:/.test(d.location)?'http':'https';
12
+ if (d.getElementById(id)) {return;}
13
+ js = d.createElement('script');
14
+ js.id = id;
15
+ js.src = p + src;
16
+ fjs.parentNode.insertBefore(js, fjs);
17
+ }
18
+
8
19
  </script>
data/lib/callout.js ADDED
@@ -0,0 +1,10 @@
1
+ function callout(d, id, src) {
2
+ var js, fjs = d.getElementsByTagName('script')[0];
3
+ p=/^http:/.test(d.location)?'http':'https';
4
+ if (d.getElementById(id)) {return;}
5
+ js = d.createElement('script');
6
+ js.id = id;
7
+ js.src = p + src;
8
+ fjs.parentNode.insertBefore(js, fjs);
9
+ }
10
+
@@ -0,0 +1,38 @@
1
+ .nopara
2
+ .variables
3
+ blog Around Austin
4
+ blog.desc The view from downtown
5
+
6
+ viewbox.wide 550
7
+ viewbox.high 90
8
+
9
+ rect.wide 550
10
+ rect.high 90
11
+ rect.fill blue
12
+
13
+ title.font bold 58px sans-serif
14
+ title.fill white
15
+ title.xoff 280
16
+ title.yoff 55
17
+
18
+ subtitle.font italic 24px sans-serif
19
+ subtitle.fill lightblue
20
+ subtitle.xoff 280
21
+ subtitle.yoff 80
22
+ .end
23
+
24
+ <svg width=$viewbox.wide height=$viewbox.high
25
+ viewBox="0 0 $viewbox.wide $viewbox.high"
26
+ xmlns="http://www.w3.org/2000/svg">
27
+ <style>
28
+ .subtitle { font: $subtitle.font; fill: $subtitle.fill }
29
+ .title { font: $title.font; fill: $title.fill }
30
+ </style>
31
+
32
+ <rect x="0" y="0" rx="10" ry="10" width="$rect.wide" height="$rect.high" fill="$rect.fill"/>
33
+
34
+ <text text-anchor="middle" x=$title.xoff y=$title.yoff class=title>$blog</text>
35
+ <text text-anchor="middle" x=$subtitle.xoff y=$subtitle.yoff class=subtitle>$blog.desc</text>
36
+ </svg>
37
+ <br>
38
+ Here we are
@@ -0,0 +1,60 @@
1
+ width = 550
2
+ title = "My Stuff" # 13 -> 58, 8 -> 13/8 * 58
3
+ sub = "I always wanted a place for it" # 22 -> 24, 31 -> 15
4
+
5
+ tlen, slen = title.length, sub.length
6
+ tfont = 58
7
+ sfont = 18
8
+
9
+ =begin
10
+ .svg_titles
11
+ title style: bold size: 20px face: sans-serif color: white
12
+ title2 italic 10px sans-serif
13
+ width 550
14
+ height 90
15
+ bgcolor blue
16
+ title_xy 82 55 left
17
+ title2_xy 210 80
18
+ .end
19
+ =end
20
+
21
+ puts <<-EOS
22
+ .nopara
23
+ .variables
24
+ blog #{title}
25
+ blog.desc #{sub}
26
+
27
+ viewbox.wide 550
28
+ viewbox.high 90
29
+
30
+ rect.wide 550
31
+ rect.high 90
32
+ rect.fill blue
33
+
34
+ title.font bold #{tfont}px sans-serif
35
+ title.fill white
36
+ title.xoff 82
37
+ title.yoff 55
38
+
39
+ subtitle.font italic #{sfont}px sans-serif
40
+ subtitle.fill lightblue
41
+ subtitle.xoff 210
42
+ subtitle.yoff 80
43
+ .end
44
+
45
+ <svg width=$viewbox.wide height=$viewbox.high
46
+ viewBox="0 0 $viewbox.wide $viewbox.high"
47
+ xmlns="http://www.w3.org/2000/svg">
48
+ <style>
49
+ .subtitle { font: $subtitle.font; fill: $subtitle.fill }
50
+ .title { font: $title.font; fill: $title.fill }
51
+ </style>
52
+
53
+ <rect x="0" y="0" rx="10" ry="10" width="$rect.wide" height="$rect.high" fill="$rect.fill"/>
54
+
55
+ <text x=$title.xoff y=$title.yoff class=title>$blog</text>
56
+ <text x=$subtitle.xoff y=$subtitle.yoff class=subtitle>$blog.desc</text>
57
+ </svg>
58
+ <br>
59
+ Here we are
60
+ EOS
data/lib/exper/s2.html ADDED
@@ -0,0 +1,25 @@
1
+ <table>
2
+ <tr>
3
+ <td wudth=300>
4
+ <h1>And here we are...</h1>
5
+ </td>
6
+
7
+ <td>
8
+ <svg width=550 height=90
9
+ viewBox="0 0 550 90"
10
+ xmlns="http://www.w3.org/2000/svg">
11
+ <style>
12
+ .subtitle { font: italic 24px sans-serif; fill: lightblue }
13
+ .title { font: bold 58px sans-serif; fill: white }
14
+ </style>
15
+
16
+ <rect x="0" y="0" rx="10" ry="10" width="550" height="90" fill="blue"/>
17
+
18
+ <text text-anchor="middle" x=280 y=55 class=title>Around Austin</text>
19
+ <text text-anchor="middle" x=280 y=80 class=subtitle>The view from downtown</text>
20
+ </svg>
21
+ </td>
22
+ </tr>
23
+ <table>
24
+ <br>
25
+ Here we are
data/lib/fbtw-js ADDED
@@ -0,0 +1,48 @@
1
+
2
+ <!-- scripts: FB, twitter -->
3
+
4
+ <script>
5
+ window.fbAsyncInit = function() {
6
+ FB.init({
7
+ appId : '1176481582378716',
8
+ xfbml : true,
9
+ version : 'v2.4'
10
+ });
11
+ };
12
+
13
+ callout(document, 'facebook-jssdk',
14
+ '//connect.facebook.net/en_US/sdk.js');
15
+
16
+ callout(document, 'script', 'twitter-wjs',
17
+ '//platform.twitter.com/widgets.js';
18
+ </script>
19
+
20
+ <!-- meta tags -->
21
+
22
+ <!-- meta property='fb:admins' content='767352779' /> -->
23
+ <meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
24
+ <meta property='og:type' content='article'/>
25
+ <meta property='og:title' content='#{title}'/>
26
+ <meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
27
+ <meta property='og:description' content='#{teaser}'/>
28
+
29
+ <!-- facebook -->
30
+
31
+ <div
32
+ class='fb-like'
33
+ data-share='true'
34
+ data-width='450'
35
+ data-show-faces='true'>
36
+ </div>
37
+
38
+ <!-- Twitter: share, follow -->
39
+
40
+ <a href='https://twitter.com/share'
41
+ class='twitter-share-button'
42
+ data-text='#{title}'
43
+ data-url='#{'url'}'
44
+ data-via='hal_fulton'
45
+ data-related='hal_fulton'>Tweet</a>
46
+
47
+ <a href='https://twitter.com/hal_fulton' class='twitter-follow-button' data-show-count='false'>Follow @hal_fulton</a>
48
+
data/lib/fbtw.rb ADDED
@@ -0,0 +1,57 @@
1
+
2
+ class Livetext::Functions
3
+
4
+ def facebook_init
5
+ fb_appid = _var("facebook.appid")
6
+ <<~HTML
7
+ window.fbAsyncInit = function() {
8
+ FB.init({
9
+ appId : '#{fb_appid}',
10
+ xfbml : true,
11
+ version : 'v2.4'
12
+ });
13
+ };
14
+ HTML
15
+ end
16
+
17
+ =begin
18
+ <!-- Needed: btw what is 'content'?
19
+ <meta property='fb:admins' content='767352779'/>
20
+ <meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
21
+ <meta property='og:type' content='article'/>
22
+ <meta property='og:title' content='#{title}'/>
23
+ <meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
24
+ <meta property='og:description' content='#{teaser}'/>
25
+ -->
26
+ =end
27
+
28
+ def facebook_likes
29
+ <<~HTML
30
+ <div class='fb-like'
31
+ data-share='true'
32
+ data-width='450'
33
+ data-show-faces='true'>
34
+ </div>
35
+ HTML
36
+ end
37
+
38
+ def twitter_share
39
+ name, title, url = "", "", "" # FIXME
40
+ <<~HTML
41
+ <a href='https://twitter.com/share'
42
+ class='twitter-share-button'
43
+ data-text='#{title}'
44
+ data-url='#{url}'
45
+ data-via='#{name}'
46
+ data-related='#{name}'>Tweet</a>
47
+ HTML
48
+ end
49
+
50
+ def twitter_follow
51
+ name = "hal_fulton" # FIXME
52
+ <<~HTML
53
+ <a href='https://twitter.com/#{name}' class='twitter-follow-button' data-show-count='false'>Follow @#{name}</a>
54
+ HTML
55
+ end
56
+
57
+ end
data/lib/liveblog.rb CHANGED
@@ -79,67 +79,72 @@ def backlink
79
79
  _out %[<br><a href="javascript:history.go(-1)">[Back]</a>]
80
80
  end
81
81
 
82
+ def code
83
+ lines = _body_text
84
+ _out "<font size=+1><pre>\n#{lines}\n</pre></font>"
85
+ end
86
+
82
87
  def _read_navbar_data
83
88
  dir = @blog.root/:views/@blog.view/"themes/standard/banner/"
84
89
  datafile = dir/"list.data"
85
90
  File.readlines(datafile)
86
91
  end
87
92
 
88
- def banner # still experimental
89
- enum = _args.each
93
+ def banner
90
94
  count = 0
91
95
  span = 1
92
- first = enum.peek
93
- if first.start_with?("bgcolor:")
94
- enum.next
95
- bg = enum.next
96
- else
97
- bg = nil # bg = white - do nothing
98
- end
99
- str = "<table width=100%"
100
- str << (bg ? " bgcolor=##{bg}>" : ">")
101
- _out str
102
- _out " <tr>"
96
+ bg = "white" # outside loop
97
+ wide = nil
98
+ high = 250
99
+ str2 = ""
100
+ lines = _body.to_a
103
101
 
104
- loop do
102
+ lines.each do |line|
105
103
  count += 1
106
- arg = enum.next
107
- case arg
104
+ tag, *data = line.split
105
+ data ||= []
106
+ case tag
107
+ when "width"
108
+ wide = data[0]
109
+ when "height"
110
+ high = data[0]
111
+ when "bgcolor"
112
+ bg = data[0] || "white"
108
113
  when "image"
109
- image = "banner/banner.jpg"
110
- _out " <td colspan=#{span}><img src=#{image} height=150></img></td>" +
111
- " <!-- #{arg} -->"
112
- when "image:"
113
- image = "banner/#{enum.next}"
114
- _out " <td colspan=#{span}><img src=#{image} height=150></img></td>" +
115
- " <!-- #{arg} -->"
114
+ image = data[0] || "banner.jpg"
115
+ image = "banner"/image
116
+ wide = data[0]
117
+ width = wide ? "width=#{wide}" : ""
118
+ str2 << " <td colspan=#{span}><img src=#{image} #{width} height=#{high}></img></td>" + "\n"
119
+ when "svg_title"
120
+ stuff, hash = _svg_title(*data)
121
+ STDERR.puts hash.inspect
122
+ wide = hash["width"]
123
+ str2 << " <td colspan=#{span} width=#{wide}>#{stuff}</td>" + "\n"
116
124
  when "text"
117
- file = "banner/top.html"
118
- _out "<td colspan=#{span}>" + File.read(file) + "</td>" +
119
- " <!-- #{arg} -->"
120
- when "text:"
121
- file = "banner/#{enum.next}"
122
- _out "<td colspan=#{span}>" + File.read(file) + "</td>" +
123
- " <!-- #{arg} -->"
125
+ data[0] ||= "top.html"
126
+ file = "banner"/data[0]
127
+ str2 << "<td colspan=#{span}>" + File.read(file) + "</td>" + "\n"
124
128
  when "navbar"
125
- dir = @blog.root/:views/@blog.view/"themes/standard/banner/"
129
+ dir = @blog.root/:views/@blog.view/"themes/standard/banner/" + "\n"
126
130
  _make_navbar # horiz is default
127
131
  stuff = File.read("banner/navbar.html")
128
- _out "<td colspan=#{span}><div style='text-align: center'>#{stuff}</div></td>" +
129
- " <!-- #{arg} -->"
132
+ str2 << "<td colspan=#{span}><div style='text-align: center'>#{stuff}</div></td>" + "\n"
130
133
  when "vnavbar"
131
134
  dir = @blog.root/:views/@blog.view/"themes/standard/banner/"
132
135
  _make_navbar(:vert)
133
136
  file = "banner/vnavbar.html"
134
- _out "<td colspan=#{span}>" + File.read(file) + "</td>" +
135
- "<!-- #{arg} -->"
136
- when "//"
137
+ str2 << "<td colspan=#{span}>" + File.read(file) + "</td>" + "\n"
138
+ when "break"
137
139
  span = count - 1
138
- _out " </tr>\n <tr>" + "<!-- #{arg} -->"
140
+ str2 << " </tr>\n <tr>" + "\n"
139
141
  else
140
- _out " '#{arg}' isn't known"
142
+ str2 << " '#{tag}' isn't known" + "\n"
141
143
  end
142
144
  end
145
+ _out "<table width=100% height=#{high} bgcolor=##{bg}>"
146
+ _out " <tr>"
147
+ _out str2
143
148
  _out " </tr>"
144
149
  _out "</table>"
145
150
  rescue => err
@@ -148,6 +153,143 @@ rescue => err
148
153
  gets
149
154
  end
150
155
 
156
+ def _parse_colon_args(args, hash) # really belongs in livetext
157
+ h2 = hash.dup
158
+ e = args.each
159
+ loop do
160
+ arg = e.next.chop.to_sym
161
+ raise "_parse_args: #{arg} is unknown" unless hash.keys.include?(arg)
162
+ h2[arg] = e.next
163
+ end
164
+ h2 = h2.reject {|k,v| v.nil? }
165
+ h2.each_pair {|k, v| raise "#{k} has no value" if v.empty? }
166
+ h2
167
+ end
168
+
169
+ def _get_arg(name, args) # really belongs in livetext
170
+ raise "(#{name}) Expected an array" unless args.is_a? Array
171
+ raise "(#{name}) Expected an arg" if args.empty?
172
+ raise "(#{name}) Too many args: #{args.inspect}" if args.size > 1
173
+ val = args[0]
174
+ raise "Expected an argument '#{name}'" if val.nil?
175
+ val
176
+ end
177
+
178
+ def _svg_title(*args)
179
+ width = 330
180
+ height = 100
181
+ bgcolor = "blue"
182
+ style = nil
183
+ size = ""
184
+ font = "sans-serif"
185
+ color = "white"
186
+ xy = "5,5"
187
+ align = "center"
188
+ style2 = nil
189
+ size2 = ""
190
+ font2 = "sans-serif"
191
+ color2 = "white"
192
+ xy2 = "5,5"
193
+ align2 = "center"
194
+
195
+ e = args.each
196
+ hash = {}
197
+ loop do
198
+ arg = e.next
199
+ arg = arg.chop
200
+ case arg # can give runtime error if arg missing
201
+ when "width"; width = e.next
202
+ when "height"; height = e.next
203
+ when "bgcolor"; bgcolor = e.next
204
+ when "style"; style = e.next
205
+ when "size"; size = e.next
206
+ when "font"; font = e.next
207
+ when "color"; color = e.next
208
+ when "xy"; xy = e.next
209
+ when "align"; align = e.next
210
+ when "style2"; style2 = e.next
211
+ when "size2"; size2 = e.next
212
+ when "font2"; font2 = e.next
213
+ when "color2"; color2 = e.next
214
+ when "xy2"; xy2 = e.next
215
+ when "align2"; align2 = e.next
216
+ end
217
+ end
218
+ x, y = xy.split(",")
219
+ x2, y2 = xy2.split(",")
220
+ hash["x"] = x
221
+ hash["y"] = y
222
+ hash["x2"] = x2
223
+ hash["y2"] = y2
224
+ hash["width"] = width
225
+ hash["height"] = height
226
+ hash["bgcolor"] = bgcolor
227
+ hash["style"] = style
228
+ hash["size"] = size
229
+ hash["font"] = font
230
+ hash["color"] = color
231
+ hash["xy"] = xy
232
+ hash["align"] = align
233
+ hash["style2"] = style2
234
+ hash["size2"] = size2
235
+ hash["font2"] = font2
236
+ hash["color2"] = color2
237
+ hash["align2"] = align2
238
+ result = <<~HTML
239
+ <svg width="#{width}" height="#{height}"
240
+ viewBox="0 0 #{width} #{height}">
241
+ <style>
242
+ .title { font: #{style} #{size} #{font}; fill: #{color} }
243
+ .subtitle { font: #{style2} #{size2} #{font2}; fill: #{color2} }
244
+ </style>
245
+ <rect x="10" y="10" rx="10" ry="10" width="#{width-20}" height="#{height-20}" fill="#{bgcolor}"/>
246
+ <text text-anchor="#{align}" x="#{x}" y="#{y}" class="title">#{Livetext::Vars[:blog]} </text>
247
+ <text text-anchor="#{align2}" x="#{x2}" y="#{y2}" class="subtitle">#{Livetext::Vars["blog.desc"]} </text>
248
+ </svg>
249
+ HTML
250
+ [result, hash]
251
+ end
252
+
253
+ def svg_title_SOON
254
+ tstyle = tsize = tfont = tcolor = txy = talign = nil
255
+ t2style = t2size = t2font = t2color = t2xy = t2align = nil
256
+ wide, high, hue = 450, 150, "white"
257
+ _body do |line|
258
+ count += 1
259
+ tag, *data = line.split
260
+ data ||= []
261
+ title_params = {style: nil, size: "", font: "sans-serif", color: "white",
262
+ xy: "5,5", align: "left"}
263
+ case tag
264
+ when "title";
265
+ hash = _parse_colon_args(data, title_params)
266
+ tstyle, tsize, tfont, tcolor, txy, talign =
267
+ hash.values_at(:tstyle, :tsize, :tfont, :tcolor, :txy, :talign)
268
+ tx, ty = txy.split(",")
269
+ when "title2";
270
+ hash = _parse_colon_args(data, title_params)
271
+ t2style, t2size, t2font, t2color, t2xy, t2align =
272
+ hash.values_at(:t2style, :t2size, :t2font, :t2color, :t2xy, :t2align)
273
+ t2x, t2y = t2xy.split(",")
274
+ when "width"; wide = _get_arg(:width, data)
275
+ when "height"; high = _get_arg(:height, data)
276
+ when "bgcolor"; hue = _get_arg(:bgcolor, data)
277
+ end
278
+ end
279
+ <<~HTML
280
+ <svg width="#{wide}" height="#{high}"
281
+ viewBox="0 0 #{wide} #{high}">
282
+ <style>
283
+ .title { font: #{tstyle} #{tsize} #{tfont}; fill: #{tcolor} }
284
+ .subtitle { font: #{t2style} #{t2size} #{t2font}; fill: #{t2color} }
285
+ </style>
286
+ <rect x="0" y="0" rx="10" ry="10" width="#{wide}" height="#{height}" fill="#{bgcolor}"/>
287
+ <text text-anchor="#{talign}" x="#{tx}" y="#{tx}" class="title">$blog </text>
288
+ <text text-anchor="#{t2align}" x="#{t2x}" y="#{t2y}" class="subtitle">$blog.desc </text>
289
+ </svg>
290
+ HTML
291
+ end
292
+
151
293
  def quote
152
294
  _passthru "<blockquote>"
153
295
  _passthru _body.join(" ")
@@ -354,7 +496,8 @@ def head # Does NOT output <head> tags
354
496
  "linkc" => %[<link rel="canonical" href="#{_var(:host)}">],
355
497
  "og:url" => %[<meta property="og:url" content="#{_var(:host)}">],
356
498
  "og:site_name" => %[<meta property="og:site_name" content="#{_var(:blog)}">],
357
- "style" => %[<link rel="stylesheet" href="etc/blog.css">],
499
+ # "style" => %[<link rel="stylesheet" href="etc/blog.css">],
500
+ # ^ FIXME
358
501
  "feed" => %[<link type="application/atom+xml" rel="alternate" href="#{_var(:host)}/feed.xml" title="#{_var(:blog)}">],
359
502
  "favicon" => %[<link rel="shortcut icon" type="image/x-icon" href="../etc/favicon.ico">\n <link rel="apple-touch-icon" href="../etc/favicon.ico">]
360
503
  }
data/lib/repl.rb CHANGED
@@ -35,10 +35,18 @@ module RuneBlog::REPL
35
35
  end
36
36
 
37
37
  def cmd_config(arg, testing = false)
38
- list = ["global.lt3", "blog/generate.lt3", ".... head.lt3", ".... index.lt3",
39
- ".... post_entry.lt3", "etc/blog.css.lt3", "... externals.lt3",
40
- "post/generate.lt3", ".... head.lt3", ".... index.lt3",
41
- ".... permalink.lt3"]
38
+ list = ["global.lt3 Global configuration",
39
+ "blog/generate.lt3 Generator for view (usu not edited)",
40
+ ".... head.lt3 HEAD info for view",
41
+ ".... index.lt3 User-edited detail for view",
42
+ ".... post_entry.lt3 Generator for post entry in recent-posts",
43
+ "etc/blog.css.lt3 Global CSS",
44
+ "... externals.lt3 External JS/CSS (Bootstrap, etc.)",
45
+ "post/generate.lt3 Generator for a post",
46
+ ".... head.lt3 HEAD info for post",
47
+ ".... index.lt3 Content for post",
48
+ ".... permalink.lt3 Generator for permalink"]
49
+
42
50
  name = ["global.lt3", "blog/generate.lt3", "blog/head.lt3", "blog/index.lt3",
43
51
  "blog/post_entry.lt3", "etc/blog.css.lt3", "blog/externals.lt3",
44
52
  "post/generate.lt3", "post/head.lt3", "post/index.lt3",
@@ -2,7 +2,7 @@
2
2
  if ! (Object.constants.include?(:RuneBlog) && RuneBlog.constants.include?(:Path))
3
3
 
4
4
  class RuneBlog
5
- VERSION = "0.2.65"
5
+ VERSION = "0.2.66"
6
6
 
7
7
  path = Gem.find_files("runeblog").grep(/runeblog-/).first
8
8
  Path = File.dirname(path)
data/runeblog.gemspec CHANGED
@@ -23,6 +23,9 @@ spec = Gem::Specification.new do |s|
23
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
+ s.add_runtime_dependency 'minitest'
27
+ # ^ technically not runtime dep
28
+
26
29
  # Files...
27
30
  main = Find.find("bin").to_a +
28
31
  Find.find("lib").to_a
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.65
4
+ version: 0.2.66
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-20 00:00:00.000000000 Z
11
+ date: 2019-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext
@@ -50,6 +50,20 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.1.16
53
+ - !ruby/object:Gem::Dependency
54
+ name: minitest
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
53
67
  description: A blog system based on Ruby and Livetext
54
68
  email: rubyhacker@gmail.com
55
69
  executables:
@@ -76,8 +90,6 @@ files:
76
90
  - empty_view/remote/widgets/pinned/GIT_IS_DUMB
77
91
  - empty_view/themes/standard/README
78
92
  - empty_view/themes/standard/banner/about.lt3
79
- - empty_view/themes/standard/banner/austin-pano.jpg
80
- - empty_view/themes/standard/banner/blog-banner.jpg
81
93
  - empty_view/themes/standard/banner/contact.lt3
82
94
  - empty_view/themes/standard/banner/faq.lt3
83
95
  - empty_view/themes/standard/banner/list.data
@@ -152,7 +164,13 @@ files:
152
164
  - empty_view/themes/standard/widgets/tag-cloud/tag-cloud.lt3
153
165
  - empty_view/themes/standard/widgets/tag-cloud/tag-cloud.rb
154
166
  - lib/Javascript.stuff
167
+ - lib/callout.js
155
168
  - lib/default.rb
169
+ - lib/exper/2svg.lt3
170
+ - lib/exper/gen_svg.rb
171
+ - lib/exper/s2.html
172
+ - lib/fbtw-js
173
+ - lib/fbtw.rb
156
174
  - lib/global.rb
157
175
  - lib/helpers-blog.rb
158
176
  - lib/helpers-repl.rb