runeblog 0.1.82 → 0.1.88

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: d1767dd929fb222d5107da06ce3cafb3b0916fe6ff13fda0bf23e649c59fa678
4
- data.tar.gz: 572f0934dcf02a10cc922b5910d5c4602a64078eb46b9304613000e7bd426868
3
+ metadata.gz: 9e46979242ed8767ec2ef126cf345067bfa290e5b8730bb12fbc2aaa9f2cb470
4
+ data.tar.gz: e420c52a7a3e19b3def738c66fe7fd128d70d01864951e10327499542a173e8a
5
5
  SHA512:
6
- metadata.gz: 1d0f9babd073538726699c6c41ee4022be7d998ede5af13d10ac36034908f83f6090ffec1de555e754bf64103bb220761d7cd7f25e06533385e384b1348f0e16
7
- data.tar.gz: 414278f412434ab9acbaf4be6675c3228844f62d7c4ab62d41953aed5901ee19cac81756ef0271442826a705afdca32e9ba2b515fa564b9830c619a2f9707085
6
+ metadata.gz: a7f392d33a2be29e265f3bbeef0c3a4c8a4aeb9c6481f664ef22bc9ff4cc52d578af7d236a758e870f0680472ff2f74171a490c35ec4f36e3fa0194210c602cc
7
+ data.tar.gz: a46054951a8b79c0fbc1b409bfb23c2743362711fda79ee7ef7b226575f6306c8990f08cb12ef50b8bedcec584d314abf321dd0ea12a4fdc0fb50d0e4a7e0db7
@@ -65,6 +65,17 @@ module RuneBlog::Helpers
65
65
  vals
66
66
  end
67
67
 
68
+ def put_config(root:, view:"test_view", editor: "/bin/vim")
69
+ Dir.mkdir(root) unless Dir.exist?(root)
70
+ Dir.chdir(root) do
71
+ File.open("config", "w") do |cfg|
72
+ cfg.puts "root: #{root}"
73
+ cfg.puts "current_view: #{view}"
74
+ cfg.puts "editor: #{editor}"
75
+ end
76
+ end
77
+ end
78
+
68
79
  def write_config(obj, file)
69
80
  hash = obj.to_h
70
81
  # Dir.chdir(::Home)
@@ -86,9 +97,10 @@ module RuneBlog::Helpers
86
97
  # end
87
98
  end
88
99
 
89
- def new_dotfile(root: "./.blogs/data", current_view: "no_default", editor: "vi")
90
- raise BlogAlreadyExists if Dir.exist?(".blogs")
91
- Dir.mkdir(".blogs")
100
+ def new_dotfile(root: ".blogs", current_view: "test_view", editor: "vi")
101
+ # raise BlogAlreadyExists if Dir.exist?(".blogs")
102
+ # Dir.mkdir(".blogs")
103
+ root = Dir.pwd + "/" + root
92
104
  x = OpenStruct.new
93
105
  x.root, x.current_view, x.editor = root, current_view, editor
94
106
  write_config(x, ".blogs/" + RuneBlog::ConfigFile)
@@ -8,19 +8,21 @@ require 'runeblog'
8
8
  errfile = File.new("liveblog.out", "w")
9
9
  STDERR.reopen(errfile)
10
10
 
11
- =begin
12
- 123:def title # side-effect
13
- 133:def pubdate # side-effect
14
- 153:def tags # side-effect
15
- 160:def views # side-effect
16
- 167:def pin # side-effect
17
- 218:def write_post # side-effect
18
- 393:def main # side-effect
19
- 491:def _post_lookup(postid) # side-effect
20
- =end
11
+ # def title # side-effect
12
+ # def pubdate # side-effect
13
+ # def tags # side-effect
14
+ # def views # side-effect
15
+ # def pin # side-effect
16
+ # def write_post # side-effect
17
+ # def main # side-effect
18
+ # def _post_lookup(postid) # side-effect
21
19
 
22
20
  def init_liveblog # FIXME - a lot of this logic sucks
23
- @blog = $_blog = RuneBlog.new(false)
21
+ here = Dir.pwd
22
+ dir = here
23
+ loop { dir = Dir.pwd; break if File.exist?("config"); Dir.chdir("..") }
24
+ Dir.chdir(here)
25
+ @blog = $_blog = RuneBlog.new(dir)
24
26
  @root = @blog.root
25
27
  @view = @blog.view
26
28
  @view_name = @blog.view.name
@@ -220,7 +222,6 @@ def teaser
220
222
  raise "'post' was not called" unless @meta
221
223
  @meta.teaser = _body_text
222
224
  _out @meta.teaser + "\n"
223
- STDERR.puts "TEASER cwd = #{Dir.pwd}"
224
225
  # FIXME
225
226
  end
226
227
 
@@ -236,6 +237,7 @@ def finalize
236
237
  @slug = @blog.make_slug(@meta)
237
238
  slug_dir = @slug
238
239
  @postdir = @blog.view.dir + "/posts/#{slug_dir}"
240
+ STDERR.puts "--- finalize: pwd = #{Dir.pwd} postdir = #@postdir"
239
241
  write_post
240
242
  @meta
241
243
  end
@@ -357,7 +359,6 @@ end
357
359
  def main # side-effect
358
360
  _out %[<div class="col-lg-9 col-md-9 col-sm-9 col-xs-12">]
359
361
  which = _args[0]
360
- STDERR.puts "--- inside #main: which = #{which.inspect}"
361
362
  case which
362
363
  when "recent_posts"
363
364
  all_teasers
@@ -493,50 +494,57 @@ def _teaser(slug)
493
494
  text
494
495
  end
495
496
 
497
+ def _card_generic(card_title:, middle:, extra: "")
498
+ front = <<-HTML
499
+ <div class="card #{extra} mb-3">
500
+ <div class="card-body">
501
+ <h5 class="card-title">#{card_title}</h5>
502
+ HTML
503
+
504
+ tail = <<-HTML
505
+ </div>
506
+ </div>
507
+ HTML
508
+ text = front + middle + tail
509
+ _out text + "\n "
510
+ end
496
511
 
497
512
  def card_iframe
498
- title = _data
499
- lines = _body
513
+ title, lines = _data, _body
514
+ lines.map!(&:chomp)
500
515
  url = lines[0].chomp
501
516
  stuff = lines[1..-1].join(" ") # FIXME later
502
- text = <<-HTML
503
- <div class="card mb-3">
504
- <div class="card-body">
505
- <h5 class="card-title">#{title}</h5>
506
- <iframe src="#{url}" #{stuff}
507
- style="border: 0" height="350"
508
- frameborder="0" scrolling="no">
509
- </iframe>
510
- </div>
511
- </div>
517
+ middle = <<-HTML
518
+ <iframe src="#{url}" #{stuff}
519
+ style="border: 0" height="350"
520
+ frameborder="0" scrolling="no">
521
+ </iframe>
512
522
  HTML
513
- _out text
514
- rescue
515
- puts @live.body
523
+
524
+ _card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
525
+
516
526
  end
517
527
 
518
528
  def card1
519
- card_title = _data
520
- lines = _body
529
+ title, lines = _data, _body
521
530
  lines.map!(&:chomp)
531
+
522
532
  card_text = lines[0]
523
533
  url, target, classname, cdata = lines[1].split(",", 4)
524
- text = <<-HTML
525
- <div class="card bg-dark text-white mb-3">
526
- <div class="card-body">
527
- <h5 class="card-title">#{card_title}</h5>
528
- <p class="card-text">#{card_text}</p>
529
- <a href="#{url}" target="#{target}" class="#{classname}">#{cdata}</a>
530
- </div>
531
- </div>
534
+
535
+ middle = <<-HTML
536
+ <p class="card-text">#{card_text}</p>
537
+ <a href="#{url}" target="#{target}" class="#{classname}">#{cdata}</a>
532
538
  HTML
533
- _out text + "\n "
534
- rescue
535
- puts @live.body
539
+
540
+ _card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
536
541
  end
537
542
 
538
543
  def card2
539
544
  card_title = _data
545
+
546
+ # FIXME is this wrong??
547
+
540
548
  open = <<-HTML
541
549
  <div class="card mb-3">
542
550
  <div class="card-body">
@@ -139,6 +139,7 @@ end
139
139
  class RuneBlog::ViewPost
140
140
  attr_reader :path, :nslug, :aslug, :title, :date,
141
141
  :teaser_text
142
+
142
143
  def initialize(view, postdir)
143
144
  # Assumes already parsed/processed
144
145
  @blog = RuneBlog.blog || raise(NoBlogAccessor)
@@ -15,7 +15,7 @@ class RuneBlog
15
15
 
16
16
  DotDir = ".blogs"
17
17
  ConfigFile = "config"
18
- GemData = RuneBlog::Path + "/../data"
18
+ Themes = RuneBlog::Path + "/../themes"
19
19
 
20
20
  make_exception(:FileNotFound, "File $1 was not found")
21
21
  make_exception(:BlogRepoAlreadyExists, "Blog repo $1 already exists")
@@ -41,40 +41,53 @@ class RuneBlog
41
41
 
42
42
  include Helpers
43
43
 
44
- def self.create_new_blog_repo(first_view, dir = ".blogs/data")
44
+ def self.create_new_blog_repo(dir = ".blogs")
45
45
  raise ArgumentError unless dir.is_a?(String) && ! dir.empty?
46
46
  root_dir = Dir.pwd + "/" + dir
47
- raise BlogRepoAlreadyExists if Dir.exist?(root_dir)
48
- new_dotfile(root: root_dir, current_view: first_view)
49
- create_dir(dir)
50
- Dir.chdir(dir) do
47
+ self.create(dir)
48
+ rescue => err
49
+ puts "Can't create blog repo: '#{dir}' - #{err}"
50
+ puts err.backtrace.join("\n")
51
+ end
52
+
53
+ def self.create(root = ".blogs")
54
+ # Crude - FIXME later - # What views are there? Publishing, etc.
55
+ self.blog = self # Weird. Like a singleton - dumbass circular dependency?
56
+ $_blog = self # Dumber still?
57
+ root = Dir.pwd + "/" + root
58
+ raise BlogRepoAlreadyExists if Dir.exist?(root)
59
+ create_dir(root)
60
+ Dir.chdir(root) do
51
61
  create_dir("drafts")
52
62
  create_dir("views")
53
63
  #? create_dir("assets")
54
64
  new_sequence
55
65
  end
56
- blog = self.new
57
- blog.create_view(first_view)
58
- rescue => err
59
- puts "Can't create blog repo: '#{dir}' - #{err}"
60
- puts err.backtrace.join("\n")
66
+ put_config(root: root)
67
+ @blog = self.new(root)
68
+ @blog.create_view("test_view")
69
+ @blog
61
70
  end
62
71
 
63
- def initialize(top = true) # at top? always assumes existing blog
72
+ def self.open(root = ".blogs")
73
+ # Crude - FIXME later - # What views are there? Publishing, etc.
74
+ self.blog = self # Weird. Like a singleton - dumbass circular dependency?
75
+ $_blog = self # Dumber still?
76
+ root = Dir.pwd + "/" + root
77
+ blog = self.new(root)
78
+ end
79
+
80
+ def initialize(root_dir = ".blogs") # always assumes existing blog
64
81
  # Crude - FIXME later - # What views are there? Publishing, etc.
65
82
  self.class.blog = self # Weird. Like a singleton - dumbass circular dependency?
66
83
  $_blog = self # Dumber still?
67
- dir = ""
68
- unless top
69
- md = Dir.pwd.match(%r[.*.blogs])
70
- dir = md[0]
71
- end
72
- file = dir.empty? ? ConfigFile : dir + "/" + ConfigFile
84
+
85
+ @root = root_dir
86
+ file = @root + "/" + ConfigFile
73
87
  errmsg = "No config file! file = #{file.inspect} dir = #{Dir.pwd}"
74
88
  raise errmsg unless File.exist?(file)
75
- # Hmm. current_view doesn't belong?
76
- @root, @view_name, @editor = read_config(file, :root, :current_view, :editor)
77
89
 
90
+ @root, @view_name, @editor = read_config(file, :root, :current_view, :editor)
78
91
  md = Dir.pwd.match(%r[.*/views/(.*?)/])
79
92
  @view_name = md[1] if md
80
93
  @views = get_views
@@ -166,7 +179,8 @@ class RuneBlog
166
179
 
167
180
  Dir.chdir(vdir)
168
181
  x = RuneBlog::Default
169
- create_dir('themes')
182
+ # create_dir('themes')
183
+ copy!("#{Themes}", "themes")
170
184
  create_dir('assets')
171
185
  create_dir('posts')
172
186
 
@@ -175,10 +189,9 @@ class RuneBlog
175
189
  create_dir('remote')
176
190
  create_dir('remote/assets')
177
191
 
178
- Dir.chdir("themes") { system("tar zxvf #{GemData}/standard.tgz >/dev/null 2>&1") }
179
192
  copy!("themes/standard/*", "staging/")
180
193
  copy("themes/standard/assets/*", "remote/assets/")
181
-
194
+
182
195
  pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
183
196
  dump(pub, "publish")
184
197
 
@@ -348,6 +361,7 @@ class RuneBlog
348
361
  raise "No .views call!" if view_line.size < 1
349
362
  view_line = view_line.first
350
363
  views = view_line[7..-1].split
364
+ views
351
365
  end
352
366
 
353
367
  # Remember: A post in multiple views will trigger multiple
@@ -2,9 +2,10 @@
2
2
  if ! (Object.constants.include?(:RuneBlog) && RuneBlog.constants.include?(:Path))
3
3
 
4
4
  class RuneBlog
5
- VERSION = "0.1.82"
5
+ VERSION = "0.1.88"
6
6
 
7
- Path = File.expand_path(File.join(File.dirname(__FILE__)))
7
+ path = Gem.find_files("runeblog").grep(/runeblog-/).first
8
+ Path = File.dirname(path)
8
9
  end
9
10
 
10
11
  end
@@ -24,19 +24,13 @@ spec = Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.16'
25
25
 
26
26
  # Files...
27
- main = Find.find("bin").to_a +
28
- Find.find("lib").to_a
29
-
30
- Dir.chdir("data") do
31
- system("tar zcvf standard.tgz standard/ >/dev/null 2>&1")
32
- end
33
-
34
- std_theme = ["data/standard.tgz"]
35
-
36
- misc = %w[./README.lt3 ./README.md ./runeblog.gemspec]
27
+ main = Find.find("bin").to_a +
28
+ Find.find("lib").to_a +
29
+ Find.find("themes").to_a
37
30
  test = Find.find("test").to_a
31
+ misc = %w[./README.lt3 ./README.md ./runeblog.gemspec]
38
32
 
39
- s.files = main + std_theme + misc + test
33
+ s.files = main + misc + test
40
34
  s.homepage = 'https://github.com/Hal9000/runeblog'
41
35
  s.license = "Ruby"
42
36
  end
@@ -38,14 +38,14 @@ end
38
38
  puts
39
39
 
40
40
  system("rm -rf .blogs")
41
- RuneBlog.create_new_blog_repo('test_view', ".blogs/data")
42
- x = RuneBlog.new
41
+ RuneBlog.create_new_blog_repo(".blogs")
42
+ x = RuneBlog.new(".blogs")
43
43
 
44
44
  x.create_view("around_austin") # FIXME remember view title!
45
45
 
46
46
  # Hack:
47
47
  if File.exist?("publish")
48
- system("cp publish .blogs/data/views/around_austin/publish")
48
+ system("cp publish .blogs/views/around_austin/publish")
49
49
  end
50
50
 
51
51
  x.create_view("computing")
@@ -0,0 +1,26 @@
1
+
2
+ templates The first "default theme" - more later
3
+ ├── README This file
4
+ ├── about.html An "about" file (will move)
5
+ ├── assets Assets for entire view (blog)
6
+ │   ├── application.css "Global" CSS
7
+ │   ├── favicon.ico Favicon
8
+ │   └── ... Other files later, images, etc.
9
+ ├── blog ** The whole template for this view (blog)
10
+ │   ├── _postentry.lt3 Used repeatedly in list of blog posts
11
+ │   ├── generate.lt3 The "main wrapper" that actually generates everything
12
+ │   ├── index.lt3 The main "user editable" portion of the template
13
+ │   ├── navbar.lt3 The navigation bar
14
+ │   └── sidebar The sidebar (which may include different things)
15
+ │   ├── ad.lt3 Code to generate an advertisement
16
+ │   ├── calendar.lt3 Code for a calendar
17
+ │   ├── news.lt3 Recent news
18
+ │   └── tag-cloud.lt3 Tag cloud (generated automatically of course)
19
+ ├── global.lt3 Some global settings
20
+ ├── head.lt3 A standard <head> section
21
+ ├── meta.lt3 Standard meta tags
22
+ └── post
23
+    ├── head.lt3 Specific to post (adds to higher-level head)
24
+    ├── generate.lt3 The "main wrapper" that actually generates the post
25
+    └── index.lt3 The main "user editable" portion of the post template
26
+
@@ -0,0 +1,4 @@
1
+ <section class="post">
2
+ <h1>About me</h1>
3
+ Blah blah blah...
4
+ </section>
@@ -0,0 +1,32 @@
1
+ .post-title a {
2
+ color: #010101;
3
+ font-size: 28px;
4
+ float: right;
5
+ display: inline-block;
6
+ text-align: top;
7
+ text-decoration: none;
8
+ }
9
+
10
+ .post-title a:hover {
11
+ text-decoration: none;
12
+ }
13
+
14
+ .post-title-text a {
15
+ color: #0101a1;
16
+ font-size: 22px;
17
+ # float: right;
18
+ display: block;
19
+ text-decoration: none;
20
+ }
21
+
22
+ .post-title-text a:hover {
23
+ text-decoration: none;
24
+ }
25
+
26
+ .post-date {
27
+ color: #9a9a9a;
28
+ font-size: 15px;
29
+ display: block;
30
+ float: left;
31
+ text-align: top;
32
+ }
@@ -0,0 +1,19 @@
1
+ <div class="post">
2
+ <table width=100%>
3
+ <tr>
4
+ <td width=8% valign=top>
5
+ <span class="post-date mt-1 mb-1">
6
+ <b>#{date}</b>
7
+ </span>
8
+ </td>
9
+ <td> <!-- <span class="post-title-box"> -->
10
+ <span class="post-title-text"><a href="#{url}">#{title}</a></span>
11
+ <p><b>#{teaser_text}</b>
12
+ <br>
13
+ <a style="text-decoration: none" href="#{url}"><small>Keep reading...</small></a></p> <!-- </span> -->
14
+ </td>
15
+ </tr>
16
+ </table>
17
+ <br>
18
+ <br>
19
+ </div>
@@ -0,0 +1,17 @@
1
+ .mixin liveblog
2
+
3
+ <html>
4
+ <!-- Editing this file is not recommended. -->
5
+ <!-- It was generated from $File on $$date. -->
6
+
7
+ .include global.lt3
8
+ .include blog-head.lt3
9
+ <body>
10
+ $.include navbar.lt3
11
+ <div class="content container-fluid mt-4">
12
+ <div class="row">
13
+ $.include blog-index.lt3
14
+ </div>
15
+ </div>
16
+ </body>
17
+ </html>
@@ -0,0 +1,28 @@
1
+ <head> <!-- fix this later -->
2
+
3
+ .include meta.lt3
4
+
5
+ .stylesheet
6
+ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css
7
+ sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T
8
+ .end
9
+
10
+ .script
11
+ https://code.jquery.com/jquery-3.3.1.slim.min.js
12
+ sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo
13
+ .end
14
+
15
+ .script
16
+ https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js
17
+ sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1
18
+ .end
19
+
20
+ .script
21
+ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js
22
+ sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM
23
+ .end
24
+
25
+ </head>
26
+
27
+ .head # fix/remove later
28
+ .end
@@ -0,0 +1,11 @@
1
+ .main recent_posts
2
+
3
+ . Should sidebar just stick items on its command line?
4
+
5
+ .sidebar
6
+ AD
7
+ NEWS
8
+ CALENDAR
9
+ TAG-CLOUD
10
+ .end
11
+
@@ -0,0 +1,3 @@
1
+ .meta charset: utf-8
2
+ .meta http-equiv: X-UA-Compatible content: IE=edge,chrome=1
3
+ .meta name: viewport content: width=device-width,initial-scale=1
@@ -0,0 +1,6 @@
1
+ .navbar
2
+ index.html Home
3
+ about.html About
4
+ contact.html Contact
5
+ .end
6
+
@@ -0,0 +1,7 @@
1
+ .set author="Hal Fulton"
2
+ .set title="My Blog (and Welcome To It)"
3
+ .set desc="All the stuff you never needed to know"
4
+ .set host=localhost:4000//
5
+
6
+ . Maybe move publish info here?
7
+
@@ -0,0 +1,28 @@
1
+ <head> <!-- fix this later -->
2
+
3
+ .include meta.lt3
4
+
5
+ .stylesheet
6
+ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css
7
+ sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T
8
+ .end
9
+
10
+ .script
11
+ https://code.jquery.com/jquery-3.3.1.slim.min.js
12
+ sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo
13
+ .end
14
+
15
+ .script
16
+ https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js
17
+ sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1
18
+ .end
19
+
20
+ .script
21
+ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js
22
+ sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM
23
+ .end
24
+
25
+ </head>
26
+
27
+ .head # fix/remove later
28
+ .end
@@ -0,0 +1,3 @@
1
+ .meta charset: utf-8
2
+ .meta http-equiv: X-UA-Compatible content: IE=edge,chrome=1
3
+ .meta name: viewport content: width=device-width,initial-scale=1
@@ -0,0 +1,6 @@
1
+ .navbar
2
+ index.html Home
3
+ about.html About
4
+ contact.html Contact
5
+ .end
6
+
@@ -0,0 +1,5 @@
1
+ <section class="post">
2
+ <div class="entry-content">
3
+ POST
4
+ </div>
5
+ </section>
@@ -0,0 +1,4 @@
1
+ . Inherits from ../head.lt3 and overrides with
2
+ . post-specific metadata
3
+
4
+ . To be done...
@@ -0,0 +1,16 @@
1
+ .mixin liveblog
2
+ . ^ get rid of this later
3
+
4
+ .post 0
5
+
6
+ .title The new amphitheatre is overrated
7
+ .pubdate 2019-07-09
8
+ .views around_austin
9
+ .tags
10
+
11
+ .teaser
12
+ It used to be that all major concerts played the Erwin Center.
13
+
14
+ .end
15
+ Now, depending on what you consider "major," blah blah blah...
16
+
@@ -0,0 +1,5 @@
1
+ .card1 Advertisement
2
+ Build your amazing website with blabla.com.
3
+ https://google.com/,_blank,btn btn-light float-right,Visit Page
4
+ .end
5
+
@@ -0,0 +1,6 @@
1
+
2
+ .card_iframe Calendar
3
+ https://calendar.google.com/calendar/embed?src=en-gb.indian%23holiday%40group.v.calendar.google.com&ctz=Asia%2FKolkata
4
+ height="350"
5
+ .end
6
+
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,10 @@
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
+
@@ -0,0 +1,5 @@
1
+ .card1 Advertisement
2
+ Build your amazing website with blabla.com.
3
+ https://google.com/,_blank,btn btn-light float-right,Visit Page
4
+ .end
5
+
@@ -0,0 +1,6 @@
1
+
2
+ .card_iframe Calendar
3
+ https://calendar.google.com/calendar/embed?src=en-gb.indian%23holiday%40group.v.calendar.google.com&ctz=Asia%2FKolkata
4
+ height="350"
5
+ .end
6
+
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,10 @@
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
+
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.82
4
+ version: 0.1.88
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-07 00:00:00.000000000 Z
11
+ date: 2019-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext
@@ -61,7 +61,6 @@ files:
61
61
  - "./README.md"
62
62
  - "./runeblog.gemspec"
63
63
  - bin/blog
64
- - data/standard.tgz
65
64
  - lib/Javascript.stuff
66
65
  - lib/default.rb
67
66
  - lib/global.rb
@@ -78,6 +77,31 @@ files:
78
77
  - test/general_test.rb
79
78
  - test/make_blog.rb
80
79
  - test/test
80
+ - themes/standard/README
81
+ - themes/standard/about.html
82
+ - themes/standard/assets/blog.css
83
+ - themes/standard/assets/favicon.ico
84
+ - themes/standard/blog-_postentry.lt3
85
+ - themes/standard/blog-generate.lt3
86
+ - themes/standard/blog-head.lt3
87
+ - themes/standard/blog-index.lt3
88
+ - themes/standard/blog-meta.lt3
89
+ - themes/standard/blog-navbar.lt3
90
+ - themes/standard/global.lt3
91
+ - themes/standard/head.lt3
92
+ - themes/standard/meta.lt3
93
+ - themes/standard/navbar.lt3
94
+ - themes/standard/post-generate.lt3
95
+ - themes/standard/post-head.lt3
96
+ - themes/standard/post-index.lt3
97
+ - themes/standard/sidebar-ad.lt3
98
+ - themes/standard/sidebar-calendar.lt3
99
+ - themes/standard/sidebar-news.lt3
100
+ - themes/standard/sidebar-tag-cloud.lt3
101
+ - themes/standard/sidebar/ad.lt3
102
+ - themes/standard/sidebar/calendar.lt3
103
+ - themes/standard/sidebar/news.lt3
104
+ - themes/standard/sidebar/tag-cloud.lt3
81
105
  homepage: https://github.com/Hal9000/runeblog
82
106
  licenses:
83
107
  - Ruby
Binary file