runeblog 0.2.60 → 0.2.65

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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/README.lt3 +48 -11
  3. data/README.md +50 -11
  4. data/bin/blog +4 -3
  5. data/bin/mkwidget +65 -110
  6. data/empty_view/remote/widgets/ad/GIT_IS_DUMB +2 -0
  7. data/empty_view/remote/widgets/links/GIT_IS_DUMB +2 -0
  8. data/empty_view/remote/widgets/news/GIT_IS_DUMB +2 -0
  9. data/empty_view/remote/widgets/pages/GIT_IS_DUMB +2 -0
  10. data/empty_view/remote/widgets/pinned/GIT_IS_DUMB +2 -0
  11. data/empty_view/themes/standard/blog/generate.lt3 +1 -1
  12. data/empty_view/themes/standard/widgets/pinned/pinned.rb +1 -4
  13. data/lib/liveblog.rb +38 -259
  14. data/lib/repl.rb +4 -0
  15. data/lib/runeblog.rb +6 -17
  16. data/lib/runeblog_version.rb +1 -1
  17. data/test/austin.rb +4 -5
  18. metadata +7 -49
  19. data/empty_view/themes/standard/widgets/bydates/bydates.lt3 +0 -2
  20. data/empty_view/themes/standard/widgets/bydates/local-vars.lt3 +0 -12
  21. data/empty_view/themes/standard/widgets/bydates/pieces/card-head.lt3 +0 -8
  22. data/empty_view/themes/standard/widgets/bydates/pieces/card-tail.lt3 +0 -4
  23. data/empty_view/themes/standard/widgets/bydates/pieces/main-head.lt3 +0 -10
  24. data/empty_view/themes/standard/widgets/bydates/pieces/main-tail.lt3 +0 -4
  25. data/empty_view/themes/standard/widgets/links/links.lt3 +0 -2
  26. data/empty_view/themes/standard/widgets/links/local-vars.lt3 +0 -12
  27. data/empty_view/themes/standard/widgets/links/pieces/card-head.lt3 +0 -8
  28. data/empty_view/themes/standard/widgets/links/pieces/card-tail.lt3 +0 -4
  29. data/empty_view/themes/standard/widgets/links/pieces/main-head.lt3 +0 -10
  30. data/empty_view/themes/standard/widgets/links/pieces/main-tail.lt3 +0 -4
  31. data/empty_view/themes/standard/widgets/news/local-vars.lt3 +0 -12
  32. data/empty_view/themes/standard/widgets/news/news.lt3 +0 -2
  33. data/empty_view/themes/standard/widgets/news/pieces/card-head.lt3 +0 -8
  34. data/empty_view/themes/standard/widgets/news/pieces/card-tail.lt3 +0 -4
  35. data/empty_view/themes/standard/widgets/news/pieces/main-head.lt3 +0 -10
  36. data/empty_view/themes/standard/widgets/news/pieces/main-tail.lt3 +0 -4
  37. data/empty_view/themes/standard/widgets/pages/local-vars.lt3 +0 -12
  38. data/empty_view/themes/standard/widgets/pages/pages.lt3 +0 -2
  39. data/empty_view/themes/standard/widgets/pages/pieces/card-head.lt3 +0 -1
  40. data/empty_view/themes/standard/widgets/pages/pieces/card-tail.lt3 +0 -1
  41. data/empty_view/themes/standard/widgets/pages/pieces/main-head.lt3 +0 -10
  42. data/empty_view/themes/standard/widgets/pages/pieces/main-tail.lt3 +0 -2
  43. data/empty_view/themes/standard/widgets/pinned/local-vars.lt3 +0 -12
  44. data/empty_view/themes/standard/widgets/pinned/pieces/card-head.lt3 +0 -8
  45. data/empty_view/themes/standard/widgets/pinned/pieces/card-tail.lt3 +0 -4
  46. data/empty_view/themes/standard/widgets/pinned/pieces/main-head.lt3 +0 -10
  47. data/empty_view/themes/standard/widgets/pinned/pieces/main-tail.lt3 +0 -4
  48. data/empty_view/themes/standard/widgets/pinned/pinned.lt3 +0 -2
  49. data/empty_view/themes/standard/widgets/search/local-vars.lt3 +0 -12
  50. data/empty_view/themes/standard/widgets/search/pieces/card-head.lt3 +0 -8
  51. data/empty_view/themes/standard/widgets/search/pieces/card-tail.lt3 +0 -4
  52. data/empty_view/themes/standard/widgets/search/pieces/main-head.lt3 +0 -10
  53. data/empty_view/themes/standard/widgets/search/pieces/main-tail.lt3 +0 -4
  54. data/empty_view/themes/standard/widgets/search/search.lt3 +0 -2
  55. data/empty_view/themes/standard/widgets/sitemap/local-vars.lt3 +0 -12
  56. data/empty_view/themes/standard/widgets/sitemap/pieces/card-head.lt3 +0 -8
  57. data/empty_view/themes/standard/widgets/sitemap/pieces/card-tail.lt3 +0 -4
  58. data/empty_view/themes/standard/widgets/sitemap/pieces/main-head.lt3 +0 -10
  59. data/empty_view/themes/standard/widgets/sitemap/pieces/main-tail.lt3 +0 -4
  60. data/empty_view/themes/standard/widgets/sitemap/sitemap.lt3 +0 -2
  61. data/empty_view/themes/standard/widgets/tag-cloud/local-vars.lt3 +0 -12
  62. data/empty_view/themes/standard/widgets/tag-cloud/pieces/card-head.lt3 +0 -8
  63. data/empty_view/themes/standard/widgets/tag-cloud/pieces/card-tail.lt3 +0 -4
  64. data/empty_view/themes/standard/widgets/tag-cloud/pieces/main-head.lt3 +0 -10
  65. data/empty_view/themes/standard/widgets/tag-cloud/pieces/main-tail.lt3 +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2e2d6239b2bc6f88fb80687c6facad5415fac4427618a7b2e47e760d326dc9e
4
- data.tar.gz: 0e051d0b4adcc856fdf39451dfc2e85bcf80c80e4fc96b98edd34f736ac44796
3
+ metadata.gz: 7caeb0a5892f06a910b453c290278ae3950f989d617e9368c9702734eaf75ad0
4
+ data.tar.gz: 033b710cf6b4fc0fe40683fada9e2c560fa26dddc921aa475ec567076e20e0ae
5
5
  SHA512:
6
- metadata.gz: 400005cd7790c4d6af7e098f28c28697ea1a5a7e4b97a80dfcd121143a904f9504493d48f98085bcc07876cabd40f5ecbffcc4a5b7d7d37efca46780fd6ffb1c
7
- data.tar.gz: f0713c12bb117df71c84f0f41ae9fc2d11c0cc9479882b7fe2154b5567dc68d2295bd099b8597fcac209738c86f6c511f256d25443e8bf95e6e9dd2b00b34207
6
+ metadata.gz: 7c6588fb31cc2d2854b93fd1087941e7610f9e322d664c6bd02d64b30e2d7647bd18634b6188c6bbecbb7283d6c5cb43b4cf8b8d5e2f18e52a726f3db8893f20
7
+ data.tar.gz: 01d610980deb44a78467c75347736a1009d462c251dff80b3b5e6398cdbe6b587f06a27f9c88df349ddbaaad3f086e353b06daf325b490d30a014bba6d289260
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
- `[new view] command for this. Note that the current view is displayed as part of the prompt.
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>[around_austin]</b> new post<br>
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
- <pre><b>FIXME add example here</b></pre>
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
- <pre><b>FIXME add screenshot here</b></pre>
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
- `[new view] command for this. Note that the current view is displayed as part of the prompt.
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>[around_austin]</b> new post<br>
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
- <pre><b>FIXME add example here</b></pre>
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
- <pre><b>FIXME add screenshot here</b></pre>
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
- $\[date is undefined]
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
- puts "Generating view..."
59
+ print "Generating view... "
60
60
  @blog.generate_view(@view)
61
- puts "Generating index..."
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
@@ -1,96 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- =begin
3
- std-widget/
4
- std-widget/local-vars.lt3
5
- std-widget//list.data
6
- std-widget//pieces
7
- std-widget//pieces/card-head.lt3
8
- std-widget//pieces/card-tail.lt3
9
- std-widget//pieces/card.css
10
- std-widget//pieces/main-head.lt3
11
- std-widget//pieces/main-tail.lt3
12
- std-widget//pieces/main.css
13
- std-widget//README
14
- std-widget//WIDGET.lt3
15
- std-widget//WIDGET.rb
16
- =end
17
-
18
- # FIXME Also fix the
19
-
20
- def write_local_vars
21
- File.open("std_widget/local-vars.lt3", "w") do |f|
22
- f.puts <<~LIVE
23
- # #@app: #@title
24
- .set widget.name = "#@title"
25
-
26
- . heredocs (in case of embedded commas)
27
-
28
- .heredoc card.title
29
- $widget.name
30
- .end
31
-
32
- .heredoc main.title
33
- $widget.name
34
- .end
35
- LIVE
36
- end
37
- end
38
2
 
39
- def write_card_head
40
- File.open("std_widget/pieces/card-head.lt3", "w") do |f|
41
- f.puts <<~LIVE
42
- .include ../local_vars.lt3
43
- . Material (if any) to go before card data
44
- <html>
45
- <head>
46
- <style src="card.css"></style>
47
- </head>
48
- <body>
49
- <h1>#@title</h1>
50
- LIVE
51
- # </html> damned syntax highlighting
52
- end
53
- end
54
-
55
- def write_card_tail
56
- File.open("std_widget/pieces/card-tail.lt3", "w") do |f|
57
- f.puts <<~LIVE
58
- .include ../local_vars.lt3
59
- . Material (if any) to go after main data
60
- </body>
61
- </html>
62
- LIVE
63
- # </html> damned syntax highlighting
64
- end
65
- end
66
-
67
- def write_main_head
68
- File.open("std_widget/pieces/main-head.lt3", "w") do |f|
69
- f.puts <<~LIVE
70
- .include ../local_vars.lt3
71
- . Material (if any) to go before main data
72
- <html>
73
- <head>
74
- <style src="main.css"></style>
75
- </head>
76
- <body>
77
- <h1>$card.title</h1>
78
- LIVE
79
- # </html> damned syntax highlighting
80
- end
81
- end
82
-
83
- def write_main_tail
84
- File.open("std_widget/pieces/main-tail.lt3", "w") do |f|
85
- f.puts <<~LIVE
86
- .include ../local_vars.lt3
87
- . Material (if any) to go after main data
88
- </body>
89
- </html>
90
- LIVE
91
- # </html> damned syntax highlighting
92
- end
93
- end
94
3
 
95
4
  def write_css
96
5
  # Need .lt3 file?
@@ -123,13 +32,75 @@ def write_widget_ruby
123
32
 
124
33
  class ::RuneBlog::Widget
125
34
  class #{_make_class_name(@app)}
126
- def self.build
35
+ Type, Title = "#@app", "#@title"
36
+
37
+ def initialize(repo)
38
+ @blog = repo
39
+ @datafile = "list.data"
40
+ @lines = File.exist?(@datafile) ? File.readlines(@datafile) : []
41
+ end
42
+
43
+ def _html_body(file, css = nil) # FIXME move to common file
44
+ file.puts "<html>"
45
+ if css
46
+ file.puts " <head>"
47
+ file.puts " <style>\n#{css}\n </style>"
48
+ file.puts " </head>"
49
+ end
50
+ file.puts " <body>"
51
+ yield
52
+ file.puts " </body>\n</html>"
53
+ end
54
+
55
+ def build
56
+ # ...insert logic here
57
+ write_main
58
+ write_card
59
+ end
60
+
61
+ def write_main
62
+ tag = Type
63
+ card_title = Title
64
+ css = "* { font-family: verdana }"
65
+ mainfile = "#{tag}-main"
66
+ File.open("#{mainfile}.html", "w") do |f|
67
+ _html_body(f, css) do
68
+ f.puts "<h1>#{card_title}</h1><br><hr>"
69
+ # ...insert logic here
70
+ end
71
+ end
72
+ end
73
+
74
+ def write_card
75
+ tag = Type
76
+ url = :widgets/tag/tag+"-main.html"
77
+ card_title = Title
78
+ cardfile = "#{tag}-card"
79
+ File.open("#{cardfile}.html", "w") do |f|
80
+ f.puts <<-EOS
81
+ <div class="card mb-3">
82
+ <div class="card-body">
83
+ <h5 class="card-title">
84
+ <button type="button" class="btn btn-primary" data-toggle="collapse" data-target="##{tag}">+</button>
85
+ <a href="javascript: void(0)"
86
+ onclick="javascript:open_main('#{url}')"
87
+ style="text-decoration: none; color: black"> #{card_title}</a>
88
+ </h5>
89
+ <div class="collapse" id="#{tag}">
90
+ EOS
91
+ # ...insert logic here
92
+ f.puts <<-EOS
93
+ </div>
94
+ </div>
95
+ </div>
96
+ EOS
97
+ end
127
98
  end
128
99
 
129
- def self.edit_menu
100
+ def edit_menu
130
101
  end
131
102
 
132
- def self.refresh
103
+ def refresh
133
104
  end
134
105
  end
135
106
  end
@@ -137,15 +108,6 @@ def write_widget_ruby
137
108
  end
138
109
  end
139
110
 
140
- def write_widget_livetext
141
- File.open("std_widget/#@app.lt3", "w") do |f|
142
- f.puts <<~LIVE
143
- .mixin liveblog
144
- .make_main_links #@app #@title
145
- LIVE
146
- end
147
- end
148
-
149
111
  def write_custom_ruby
150
112
  File.open("std_widget/custom.rb", "w") do |f|
151
113
  f.puts <<~LIVE
@@ -194,15 +156,8 @@ abort 'Need app, "title..."' if ARGV.empty?
194
156
  system("rm -rf std_widget")
195
157
  system("mkdir -p std_widget/pieces")
196
158
 
197
- write_local_vars
198
- write_main_head
199
- write_main_tail
200
- write_card_head
201
- write_card_tail
202
159
  write_css
203
-
204
160
  write_widget_ruby
205
- write_widget_livetext
206
161
  write_custom_ruby
207
162
  write_README
208
163