runeblog 0.2.39 → 0.2.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mkwidget +209 -0
  3. data/empty_view/themes/standard/blog/index.lt3 +0 -1
  4. data/empty_view/themes/standard/widgets/bydates/README +2 -0
  5. data/empty_view/themes/standard/widgets/bydates/bydates.lt3 +2 -0
  6. data/empty_view/themes/standard/widgets/bydates/bydates.rb +14 -0
  7. data/empty_view/themes/standard/widgets/bydates/card.css +1 -0
  8. data/empty_view/themes/standard/widgets/bydates/custom.rb +1 -0
  9. data/empty_view/themes/standard/widgets/bydates/local-vars.lt3 +12 -0
  10. data/empty_view/themes/standard/widgets/bydates/main.css +2 -0
  11. data/empty_view/themes/standard/widgets/bydates/pieces/card-head.lt3 +8 -0
  12. data/empty_view/themes/standard/widgets/bydates/pieces/card-tail.lt3 +4 -0
  13. data/empty_view/themes/standard/widgets/bydates/pieces/main-head.lt3 +10 -0
  14. data/empty_view/themes/standard/widgets/bydates/pieces/main-tail.lt3 +4 -0
  15. data/empty_view/themes/standard/widgets/links/README +2 -0
  16. data/empty_view/themes/standard/widgets/links/card.css +1 -0
  17. data/empty_view/themes/standard/widgets/links/custom.rb +1 -0
  18. data/empty_view/themes/standard/widgets/links/links.lt3 +1 -1
  19. data/empty_view/themes/standard/widgets/links/links.rb +14 -0
  20. data/empty_view/themes/standard/widgets/links/local-vars.lt3 +12 -0
  21. data/empty_view/themes/standard/widgets/links/main.css +2 -0
  22. data/empty_view/themes/standard/widgets/links/pieces/card-head.lt3 +8 -0
  23. data/empty_view/themes/standard/widgets/links/pieces/card-tail.lt3 +4 -0
  24. data/empty_view/themes/standard/widgets/links/pieces/main-head.lt3 +10 -0
  25. data/empty_view/themes/standard/widgets/links/pieces/main-tail.lt3 +4 -0
  26. data/empty_view/themes/standard/widgets/news/README +2 -0
  27. data/empty_view/themes/standard/widgets/news/card.css +1 -0
  28. data/empty_view/themes/standard/widgets/news/custom.rb +1 -0
  29. data/empty_view/themes/standard/widgets/news/local-vars.lt3 +12 -0
  30. data/empty_view/themes/standard/widgets/news/main.css +2 -0
  31. data/empty_view/themes/standard/widgets/news/news.rb +14 -0
  32. data/empty_view/themes/standard/widgets/news/pieces/card-head.lt3 +8 -0
  33. data/empty_view/themes/standard/widgets/news/pieces/card-tail.lt3 +4 -0
  34. data/empty_view/themes/standard/widgets/news/pieces/main-head.lt3 +10 -0
  35. data/empty_view/themes/standard/widgets/news/pieces/main-tail.lt3 +4 -0
  36. data/empty_view/themes/standard/widgets/pages/{pieces/card.css → card.css} +0 -0
  37. data/empty_view/themes/standard/widgets/pages/custom.rb +1 -0
  38. data/empty_view/themes/standard/widgets/pages/local-vars.lt3 +12 -0
  39. data/empty_view/themes/standard/widgets/pages/main.css +2 -0
  40. data/empty_view/themes/standard/widgets/pages/pages.rb +1 -1
  41. data/empty_view/themes/standard/widgets/pages/pieces/main-head.lt3 +3 -1
  42. data/empty_view/themes/standard/widgets/pinned/README +2 -0
  43. data/empty_view/themes/standard/widgets/pinned/card.css +1 -0
  44. data/empty_view/themes/standard/widgets/pinned/custom.rb +1 -0
  45. data/empty_view/themes/standard/widgets/pinned/local-vars.lt3 +12 -0
  46. data/empty_view/themes/standard/widgets/pinned/main.css +2 -0
  47. data/empty_view/themes/standard/widgets/pinned/pieces/card-head.lt3 +8 -0
  48. data/empty_view/themes/standard/widgets/pinned/pieces/card-tail.lt3 +4 -0
  49. data/empty_view/themes/standard/widgets/pinned/pieces/main-head.lt3 +10 -0
  50. data/empty_view/themes/standard/widgets/pinned/pieces/main-tail.lt3 +4 -0
  51. data/empty_view/themes/standard/widgets/pinned/pinned.lt3 +2 -0
  52. data/empty_view/themes/standard/widgets/pinned/pinned.rb +14 -0
  53. data/empty_view/themes/standard/widgets/search/README +2 -0
  54. data/empty_view/themes/standard/widgets/search/card.css +1 -0
  55. data/empty_view/themes/standard/widgets/search/custom.rb +1 -0
  56. data/empty_view/themes/standard/widgets/search/local-vars.lt3 +12 -0
  57. data/empty_view/themes/standard/widgets/search/main.css +2 -0
  58. data/empty_view/themes/standard/widgets/search/pieces/card-head.lt3 +8 -0
  59. data/empty_view/themes/standard/widgets/search/pieces/card-tail.lt3 +4 -0
  60. data/empty_view/themes/standard/widgets/search/pieces/main-head.lt3 +10 -0
  61. data/empty_view/themes/standard/widgets/search/pieces/main-tail.lt3 +4 -0
  62. data/empty_view/themes/standard/widgets/search/search.lt3 +2 -0
  63. data/empty_view/themes/standard/widgets/search/search.rb +14 -0
  64. data/empty_view/themes/standard/widgets/sitemap/README +2 -0
  65. data/empty_view/themes/standard/widgets/sitemap/card.css +1 -0
  66. data/empty_view/themes/standard/widgets/sitemap/custom.rb +1 -0
  67. data/empty_view/themes/standard/widgets/sitemap/local-vars.lt3 +12 -0
  68. data/empty_view/themes/standard/widgets/sitemap/main.css +2 -0
  69. data/empty_view/themes/standard/widgets/sitemap/pieces/card-head.lt3 +8 -0
  70. data/empty_view/themes/standard/widgets/sitemap/pieces/card-tail.lt3 +4 -0
  71. data/empty_view/themes/standard/widgets/sitemap/pieces/main-head.lt3 +10 -0
  72. data/empty_view/themes/standard/widgets/sitemap/pieces/main-tail.lt3 +4 -0
  73. data/empty_view/themes/standard/widgets/sitemap/sitemap.lt3 +2 -0
  74. data/empty_view/themes/standard/widgets/sitemap/sitemap.rb +14 -0
  75. data/empty_view/themes/standard/widgets/tag-cloud/OLD-example.lt3 +12 -0
  76. data/empty_view/themes/standard/widgets/tag-cloud/README +2 -0
  77. data/empty_view/themes/standard/widgets/tag-cloud/card.css +1 -0
  78. data/empty_view/themes/standard/widgets/tag-cloud/custom.rb +1 -0
  79. data/empty_view/themes/standard/widgets/tag-cloud/local-vars.lt3 +12 -0
  80. data/empty_view/themes/standard/widgets/tag-cloud/main.css +2 -0
  81. data/empty_view/themes/standard/widgets/tag-cloud/pieces/card-head.lt3 +8 -0
  82. data/empty_view/themes/standard/widgets/tag-cloud/pieces/card-tail.lt3 +4 -0
  83. data/empty_view/themes/standard/widgets/tag-cloud/pieces/main-head.lt3 +10 -0
  84. data/empty_view/themes/standard/widgets/tag-cloud/pieces/main-tail.lt3 +4 -0
  85. data/empty_view/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +1 -10
  86. data/empty_view/themes/standard/widgets/tag-cloud/tag-cloud.rb +14 -0
  87. data/lib/liveblog.rb +19 -10
  88. data/lib/runeblog.rb +7 -4
  89. data/lib/runeblog_version.rb +1 -1
  90. data/test/make_blog.rb +23 -2
  91. metadata +82 -5
  92. data/empty_view/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  93. data/empty_view/themes/standard/widgets/pages/pieces/main.css +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: caacbdabded61281f3fd6cab3f627a5b014e896381f2b73e070f0aa64630b4d7
4
- data.tar.gz: e1d37b1f874ef57568d710ab90a93977491327b40d140987f9a120ad87fb4642
3
+ metadata.gz: 1460a49516637ecabe93e6ce0ac61ce81d8078b5e594d0cb89712ddec53348b7
4
+ data.tar.gz: be574f51016c5dfd67fbb2ff0bb5bb62872e8d1834c9cb1063d605bb0f8f732f
5
5
  SHA512:
6
- metadata.gz: ed10a449202c4ca21d228d11eea08aa6c65693c3dd9e81498a368b0a362f341726a141fc878e31c7cf07573c1858d6aa70cdbb08fcb29043d62cd734153dffe3
7
- data.tar.gz: a95f146d7bb55ae8a115f495423c0287453e8cdb0335c3615c5cfae4d77c842cb417bc1f763d972f2b241d6ac7f463e3b823be1789bb5b026f49745680b261d2
6
+ metadata.gz: f647aa5fd1f283ed65f3fd9c76c40ce23c2eb94312dfa7e8b82405c2a11e137ad6e7f70f8d9bce8c4de101a6cd02cbb1ab6c03b5d5c557e98fd0edcd782b48a9
7
+ data.tar.gz: e1ee53e25579b8643545006b17e5180f001c8a81867b73c232e97950fd247788284038e6b980b627c32c59e4fbdc5fdfc5dcdde1011b1282377a34caabe7134a
data/bin/mkwidget ADDED
@@ -0,0 +1,209 @@
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
+
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
+
95
+ def write_css
96
+ # Need .lt3 file?
97
+ File.open("std_widget/card.css", "w") do |f|
98
+ f.puts <<~LIVE
99
+ # CSS for sidebar card
100
+ LIVE
101
+ end
102
+ File.open("std_widget/main.css", "w") do |f|
103
+ f.puts <<~LIVE
104
+ # CSS for main area page
105
+ LIVE
106
+ end
107
+ end
108
+
109
+ def _make_class_name(app)
110
+ if app =~ /[-_]/
111
+ words = app.split(/[-_]/)
112
+ name = words.map(&:capitalize).join
113
+ else
114
+ name = app.capitalize
115
+ end
116
+ return name
117
+ end
118
+
119
+ def write_widget_ruby
120
+ File.open("std_widget/#@app.rb", "w") do |f|
121
+ f.puts <<~LIVE
122
+ # Custom code for '#@app' widget
123
+
124
+ class ::RuneBlog::Widget
125
+ class #{_make_class_name(@app)}
126
+ def self.build
127
+ end
128
+
129
+ def self.edit_menu
130
+ end
131
+
132
+ def self.refresh
133
+ end
134
+ end
135
+ end
136
+ LIVE
137
+ end
138
+ end
139
+
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
+ def write_custom_ruby
150
+ File.open("std_widget/custom.rb", "w") do |f|
151
+ f.puts <<~LIVE
152
+ # This is for specialized livetext add-ons (Ruby methods)
153
+ LIVE
154
+ end
155
+ end
156
+
157
+ def write_README
158
+ File.open("std_widget/README", "w") do |f|
159
+ f.puts <<~LIVE
160
+ This is for a "standard" Runeblog widget
161
+ Code and docs are a work in progress
162
+ LIVE
163
+ end
164
+ end
165
+
166
+ def safe_copy(src)
167
+ dst = src.sub(/std_widget/, "empty_view/themes/standard/widgets/#@app")
168
+ if File.exist?(dst)
169
+ puts "Skip: #{src}"
170
+ return
171
+ else
172
+ puts "Copying: #{src}"
173
+ system("cp #{src} #{dst}")
174
+ end
175
+ end
176
+
177
+ def copy_over
178
+ here, there = "std_widget", "empty_view/themes/standard/widgets/#@app"
179
+ slist = Dir["#{here}/*"].reject {|x| File.directory?(x) }
180
+ slist.each {|src| safe_copy(src) }
181
+
182
+ here, there = "std_widget/pieces", "empty_view/themes/standard/widgets/#@app/pieces"
183
+ system("mkdir #{there}") unless Dir.exist?(there)
184
+ slist = Dir["#{here}/*"]
185
+ slist.each {|src| safe_copy(src) }
186
+ end
187
+
188
+
189
+ ### "Main"
190
+
191
+ abort 'Need app, "title..."' if ARGV.empty?
192
+ @app, @title = *ARGV
193
+
194
+ system("rm -rf std_widget")
195
+ system("mkdir -p std_widget/pieces")
196
+
197
+ write_local_vars
198
+ write_main_head
199
+ write_main_tail
200
+ write_card_head
201
+ write_card_tail
202
+ write_css
203
+
204
+ write_widget_ruby
205
+ write_widget_livetext
206
+ write_custom_ruby
207
+ write_README
208
+
209
+ copy_over
@@ -12,6 +12,5 @@
12
12
  links
13
13
  news
14
14
  pages
15
- tag-cloud
16
15
  .end
17
16
 
@@ -0,0 +1,2 @@
1
+ This is for a "standard" Runeblog widget
2
+ Code and docs are a work in progress
@@ -0,0 +1,2 @@
1
+ .mixin liveblog
2
+ .make_main_links bydates Posts by Date
@@ -0,0 +1,14 @@
1
+ # Custom code for 'bydates' widget
2
+
3
+ class ::RuneBlog::Widget
4
+ class Bydates
5
+ def self.build
6
+ end
7
+
8
+ def self.edit_menu
9
+ end
10
+
11
+ def self.refresh
12
+ end
13
+ end
14
+ end
@@ -0,0 +1 @@
1
+ # CSS for sidebar card
@@ -0,0 +1 @@
1
+ # This is for specialized livetext add-ons (Ruby methods)
@@ -0,0 +1,12 @@
1
+ # bydates: Posts by Date
2
+ .set widget.name = "Posts by Date"
3
+
4
+ . heredocs (in case of embedded commas)
5
+
6
+ .heredoc card.title
7
+ $widget.name
8
+ .end
9
+
10
+ .heredoc main.title
11
+ $widget.name
12
+ .end
@@ -0,0 +1,2 @@
1
+ # CSS for main area page
2
+ * { font-family: verdana }
@@ -0,0 +1,8 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go before card data
3
+ <html>
4
+ <head>
5
+ <style src="card.css"></style>
6
+ </head>
7
+ <body>
8
+ <h1>Posts by Date</h1>
@@ -0,0 +1,4 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go after main data
3
+ </body>
4
+ </html>
@@ -0,0 +1,10 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go before main data
3
+ <html>
4
+ <head>
5
+ <style src="main.css"></style>
6
+ <!-- ^ Why doesn't this work? -->
7
+ <style>* { font-family: verdana }</style>
8
+ </head>
9
+ <body>
10
+ <h1>$card.title</h1><hr>
@@ -0,0 +1,4 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go after main data
3
+ </body>
4
+ </html>
@@ -0,0 +1,2 @@
1
+ This is for a "standard" Runeblog widget
2
+ Code and docs are a work in progress
@@ -0,0 +1 @@
1
+ # CSS for sidebar card
@@ -0,0 +1 @@
1
+ # This is for specialized livetext add-ons (Ruby methods)
@@ -1,2 +1,2 @@
1
1
  .mixin liveblog
2
- .make_main_links links Links (to Elsewhere)
2
+ .make_main_links links External Links
@@ -0,0 +1,14 @@
1
+ # Custom code for 'links' widget
2
+
3
+ class ::RuneBlog::Widget
4
+ class Links
5
+ def self.build
6
+ end
7
+
8
+ def self.edit_menu
9
+ end
10
+
11
+ def self.refresh
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # links: External Links
2
+ .set widget.name = "External Links"
3
+
4
+ . heredocs (in case of embedded commas)
5
+
6
+ .heredoc card.title
7
+ $widget.name
8
+ .end
9
+
10
+ .heredoc main.title
11
+ $widget.name
12
+ .end
@@ -0,0 +1,2 @@
1
+ # CSS for main area page
2
+ * { font-family: verdana }
@@ -0,0 +1,8 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go before card data
3
+ <html>
4
+ <head>
5
+ <style src="card.css"></style>
6
+ </head>
7
+ <body>
8
+ <h1>External Links</h1>
@@ -0,0 +1,4 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go after main data
3
+ </body>
4
+ </html>
@@ -0,0 +1,10 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go before main data
3
+ <html>
4
+ <head>
5
+ <style src="main.css"></style>
6
+ <!-- ^ Why doesn't this work? -->
7
+ <style>* { font-family: verdana }</style>
8
+ </head>
9
+ <body>
10
+ <h1>$card.title</h1><hr>
@@ -0,0 +1,4 @@
1
+ .include ../local_vars.lt3
2
+ . Material (if any) to go after main data
3
+ </body>
4
+ </html>
@@ -0,0 +1,2 @@
1
+ This is for a "standard" Runeblog widget
2
+ Code and docs are a work in progress
@@ -0,0 +1 @@
1
+ # CSS for sidebar card
@@ -0,0 +1 @@
1
+ # This is for specialized livetext add-ons (Ruby methods)
@@ -0,0 +1,12 @@
1
+ # news: Recent News
2
+ .set widget.name = "Recent News"
3
+
4
+ . heredocs (in case of embedded commas)
5
+
6
+ .heredoc card.title
7
+ $widget.name
8
+ .end
9
+
10
+ .heredoc main.title
11
+ $widget.name
12
+ .end
@@ -0,0 +1,2 @@
1
+ # CSS for main area page
2
+ * { font-family: verdana }
@@ -0,0 +1,14 @@
1
+ # Custom code for 'news' widget
2
+
3
+ class ::RuneBlog::Widget
4
+ class News
5
+ def self.build
6
+ end
7
+
8
+ def self.edit_menu
9
+ end
10
+
11
+ def self.refresh
12
+ end
13
+ end
14
+ end