runeblog 0.2.8 → 0.2.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (516) hide show
  1. checksums.yaml +4 -4
  2. data/empty_view.tgz +0 -0
  3. data/lib/helpers-blog.rb +46 -10
  4. data/lib/liveblog.rb +58 -33
  5. data/lib/runeblog.rb +124 -59
  6. data/lib/runeblog_version.rb +1 -1
  7. data/runeblog.gemspec +2 -3
  8. data/test/make_blog.rb +3 -5
  9. metadata +4 -511
  10. data/lib/BAD.liveblog.rb +0 -724
  11. data/lib/KEEP.liveblog +0 -646
  12. data/lib/NEW-liveblog.rb +0 -757
  13. data/lib/OLD-liveblog.rb +0 -661
  14. data/test/.blogs/VERSION +0 -2
  15. data/test/.blogs/config +0 -3
  16. data/test/.blogs/drafts/0001-whats-at-stubbs.lt3 +0 -16
  17. data/test/.blogs/drafts/0002-the-new-amphitheatre-is-overrated.lt3 +0 -16
  18. data/test/.blogs/drafts/0003-elixir-conf-coming-up.lt3 +0 -17
  19. data/test/.blogs/drafts/0004-does-indie-still-matter.lt3 +0 -16
  20. data/test/.blogs/drafts/0005-the-genius-of-scenic.lt3 +0 -16
  21. data/test/.blogs/drafts/0006-the-future-of-coding.lt3 +0 -16
  22. data/test/.blogs/drafts/0007-the-graffiti-wall.lt3 +0 -17
  23. data/test/.blogs/drafts/0008-the-waller-creek-project.lt3 +0 -16
  24. data/test/.blogs/drafts/0009-life-on-sabine-street.lt3 +0 -16
  25. data/test/.blogs/drafts/0010-remember-modest-mouse.lt3 +0 -17
  26. data/test/.blogs/sequence +0 -1
  27. data/test/.blogs/views/around_austin/last_published +0 -1
  28. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/0001-whats-at-stubbs.lt3 +0 -16
  29. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/metadata.txt +0 -6
  30. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/teaser.txt +0 -1
  31. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/whats-at-stubbs.html +0 -11
  32. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/0002-the-new-amphitheatre-is-overrated.lt3 +0 -16
  33. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/metadata.txt +0 -6
  34. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/teaser.txt +0 -1
  35. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/the-new-amphitheatre-is-overrated.html +0 -11
  36. data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/0007-the-graffiti-wall.lt3 +0 -17
  37. data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/metadata.txt +0 -6
  38. data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/teaser.txt +0 -1
  39. data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/the-graffiti-wall.html +0 -12
  40. data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/0008-the-waller-creek-project.lt3 +0 -16
  41. data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/metadata.txt +0 -6
  42. data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/teaser.txt +0 -1
  43. data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/the-waller-creek-project.html +0 -11
  44. data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/0009-life-on-sabine-street.lt3 +0 -16
  45. data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/life-on-sabine-street.html +0 -11
  46. data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/metadata.txt +0 -6
  47. data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/teaser.txt +0 -1
  48. data/test/.blogs/views/around_austin/publish +0 -5
  49. data/test/.blogs/views/around_austin/remote/etc/blog.css +0 -34
  50. data/test/.blogs/views/around_austin/remote/etc/blog.css.lt3 +0 -36
  51. data/test/.blogs/views/around_austin/remote/etc/externals.lt3 +0 -19
  52. data/test/.blogs/views/around_austin/remote/etc/favicon.ico +0 -0
  53. data/test/.blogs/views/around_austin/remote/etc/misc.js +0 -6
  54. data/test/.blogs/views/around_austin/remote/life-on-sabine-street.html +0 -10
  55. data/test/.blogs/views/around_austin/remote/permalink/life-on-sabine-street.html +0 -10
  56. data/test/.blogs/views/around_austin/remote/permalink/the-graffiti-wall.html +0 -10
  57. data/test/.blogs/views/around_austin/remote/permalink/the-new-amphitheatre-is-overrated.html +0 -50
  58. data/test/.blogs/views/around_austin/remote/permalink/the-waller-creek-project.html +0 -50
  59. data/test/.blogs/views/around_austin/remote/permalink/whats-at-stubbs.html +0 -50
  60. data/test/.blogs/views/around_austin/remote/recent.html +0 -104
  61. data/test/.blogs/views/around_austin/remote/the-graffiti-wall.html +0 -10
  62. data/test/.blogs/views/around_austin/remote/the-new-amphitheatre-is-overrated.html +0 -50
  63. data/test/.blogs/views/around_austin/remote/the-waller-creek-project.html +0 -50
  64. data/test/.blogs/views/around_austin/remote/whats-at-stubbs.html +0 -50
  65. data/test/.blogs/views/around_austin/remote/widgets/README +0 -4
  66. data/test/.blogs/views/around_austin/remote/widgets/ad/ad.lt3 +0 -12
  67. data/test/.blogs/views/around_austin/remote/widgets/calendar/calendar.lt3 +0 -6
  68. data/test/.blogs/views/around_austin/remote/widgets/news/list.data +0 -4
  69. data/test/.blogs/views/around_austin/remote/widgets/news/news.lt3 +0 -3
  70. data/test/.blogs/views/around_austin/remote/widgets/pages/README +0 -2
  71. data/test/.blogs/views/around_austin/remote/widgets/pages/disclaim.lt3 +0 -6
  72. data/test/.blogs/views/around_austin/remote/widgets/pages/faq.lt3 +0 -6
  73. data/test/.blogs/views/around_austin/remote/widgets/pages/generated.lt3 +0 -4
  74. data/test/.blogs/views/around_austin/remote/widgets/pages/lifestory.lt3 +0 -6
  75. data/test/.blogs/views/around_austin/remote/widgets/pages/like-dislike.lt3 +0 -6
  76. data/test/.blogs/views/around_austin/remote/widgets/pages/list.data +0 -4
  77. data/test/.blogs/views/around_austin/remote/widgets/pages/main.html +0 -9
  78. data/test/.blogs/views/around_austin/remote/widgets/pages/main.lt3 +0 -18
  79. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  80. data/test/.blogs/views/around_austin/staging/0001-whats-at-stubbs.lt3 +0 -16
  81. data/test/.blogs/views/around_austin/staging/0002-the-new-amphitheatre-is-overrated.lt3 +0 -16
  82. data/test/.blogs/views/around_austin/staging/0007-the-graffiti-wall.lt3 +0 -17
  83. data/test/.blogs/views/around_austin/staging/0008-the-waller-creek-project.lt3 +0 -16
  84. data/test/.blogs/views/around_austin/staging/0009-life-on-sabine-street.lt3 +0 -16
  85. data/test/.blogs/views/around_austin/staging/README +0 -59
  86. data/test/.blogs/views/around_austin/staging/blog/generate.lt3 +0 -17
  87. data/test/.blogs/views/around_austin/staging/blog/head.lt3 +0 -9
  88. data/test/.blogs/views/around_austin/staging/blog/index.lt3 +0 -6
  89. data/test/.blogs/views/around_austin/staging/blog/post_entry.lt3 +0 -19
  90. data/test/.blogs/views/around_austin/staging/etc/blog.css +0 -34
  91. data/test/.blogs/views/around_austin/staging/etc/blog.css.lt3 +0 -36
  92. data/test/.blogs/views/around_austin/staging/etc/externals.lt3 +0 -19
  93. data/test/.blogs/views/around_austin/staging/etc/favicon.ico +0 -0
  94. data/test/.blogs/views/around_austin/staging/etc/misc.js +0 -6
  95. data/test/.blogs/views/around_austin/staging/global.lt3 +0 -22
  96. data/test/.blogs/views/around_austin/staging/life-on-sabine-street.html +0 -10
  97. data/test/.blogs/views/around_austin/staging/navbar/about.html +0 -6
  98. data/test/.blogs/views/around_austin/staging/navbar/contact.html +0 -6
  99. data/test/.blogs/views/around_austin/staging/navbar/navbar.lt3 +0 -6
  100. data/test/.blogs/views/around_austin/staging/post/generate.lt3 +0 -26
  101. data/test/.blogs/views/around_austin/staging/post/head.lt3 +0 -4
  102. data/test/.blogs/views/around_austin/staging/post/index.html +0 -16
  103. data/test/.blogs/views/around_austin/staging/post/index.lt3 +0 -16
  104. data/test/.blogs/views/around_austin/staging/post/permalink.lt3 +0 -26
  105. data/test/.blogs/views/around_austin/staging/recent.html +0 -104
  106. data/test/.blogs/views/around_austin/staging/sidebar/README +0 -3
  107. data/test/.blogs/views/around_austin/staging/the-graffiti-wall.html +0 -10
  108. data/test/.blogs/views/around_austin/staging/the-new-amphitheatre-is-overrated.html +0 -50
  109. data/test/.blogs/views/around_austin/staging/the-waller-creek-project.html +0 -50
  110. data/test/.blogs/views/around_austin/staging/vars.lt3 +0 -2
  111. data/test/.blogs/views/around_austin/staging/whats-at-stubbs.html +0 -50
  112. data/test/.blogs/views/around_austin/staging/widgets/README +0 -4
  113. data/test/.blogs/views/around_austin/staging/widgets/ad/ad.lt3 +0 -12
  114. data/test/.blogs/views/around_austin/staging/widgets/calendar/calendar.lt3 +0 -6
  115. data/test/.blogs/views/around_austin/staging/widgets/news/list.data +0 -4
  116. data/test/.blogs/views/around_austin/staging/widgets/news/news.lt3 +0 -3
  117. data/test/.blogs/views/around_austin/staging/widgets/pages/README +0 -2
  118. data/test/.blogs/views/around_austin/staging/widgets/pages/disclaim.lt3 +0 -6
  119. data/test/.blogs/views/around_austin/staging/widgets/pages/faq.lt3 +0 -6
  120. data/test/.blogs/views/around_austin/staging/widgets/pages/generated.lt3 +0 -4
  121. data/test/.blogs/views/around_austin/staging/widgets/pages/lifestory.lt3 +0 -6
  122. data/test/.blogs/views/around_austin/staging/widgets/pages/like-dislike.lt3 +0 -6
  123. data/test/.blogs/views/around_austin/staging/widgets/pages/list.data +0 -4
  124. data/test/.blogs/views/around_austin/staging/widgets/pages/main.html +0 -9
  125. data/test/.blogs/views/around_austin/staging/widgets/pages/main.lt3 +0 -18
  126. data/test/.blogs/views/around_austin/staging/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  127. data/test/.blogs/views/around_austin/themes/standard/README +0 -59
  128. data/test/.blogs/views/around_austin/themes/standard/blog/generate.lt3 +0 -17
  129. data/test/.blogs/views/around_austin/themes/standard/blog/head.lt3 +0 -9
  130. data/test/.blogs/views/around_austin/themes/standard/blog/index.lt3 +0 -6
  131. data/test/.blogs/views/around_austin/themes/standard/blog/post_entry.lt3 +0 -19
  132. data/test/.blogs/views/around_austin/themes/standard/etc/blog.css +0 -34
  133. data/test/.blogs/views/around_austin/themes/standard/etc/blog.css.lt3 +0 -36
  134. data/test/.blogs/views/around_austin/themes/standard/etc/externals.lt3 +0 -19
  135. data/test/.blogs/views/around_austin/themes/standard/etc/favicon.ico +0 -0
  136. data/test/.blogs/views/around_austin/themes/standard/etc/misc.js +0 -6
  137. data/test/.blogs/views/around_austin/themes/standard/global.lt3 +0 -22
  138. data/test/.blogs/views/around_austin/themes/standard/navbar/about.html +0 -6
  139. data/test/.blogs/views/around_austin/themes/standard/navbar/contact.html +0 -6
  140. data/test/.blogs/views/around_austin/themes/standard/navbar/navbar.lt3 +0 -6
  141. data/test/.blogs/views/around_austin/themes/standard/post/generate.lt3 +0 -26
  142. data/test/.blogs/views/around_austin/themes/standard/post/head.lt3 +0 -4
  143. data/test/.blogs/views/around_austin/themes/standard/post/index.lt3 +0 -16
  144. data/test/.blogs/views/around_austin/themes/standard/post/permalink.lt3 +0 -26
  145. data/test/.blogs/views/around_austin/themes/standard/sidebar/README +0 -3
  146. data/test/.blogs/views/around_austin/themes/standard/widgets/README +0 -4
  147. data/test/.blogs/views/around_austin/themes/standard/widgets/ad/ad.lt3 +0 -12
  148. data/test/.blogs/views/around_austin/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  149. data/test/.blogs/views/around_austin/themes/standard/widgets/news/list.data +0 -4
  150. data/test/.blogs/views/around_austin/themes/standard/widgets/news/news.lt3 +0 -3
  151. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/README +0 -2
  152. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/disclaim.lt3 +0 -6
  153. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/faq.lt3 +0 -6
  154. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/generated.lt3 +0 -4
  155. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/lifestory.lt3 +0 -6
  156. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/like-dislike.lt3 +0 -6
  157. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/list.data +0 -4
  158. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/main.html +0 -9
  159. data/test/.blogs/views/around_austin/themes/standard/widgets/pages/main.lt3 +0 -18
  160. data/test/.blogs/views/around_austin/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  161. data/test/.blogs/views/computing/last_published +0 -1
  162. data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/0003-elixir-conf-coming-up.lt3 +0 -17
  163. data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/elixir-conf-coming-up.html +0 -12
  164. data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/metadata.txt +0 -6
  165. data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/teaser.txt +0 -1
  166. data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/0005-the-genius-of-scenic.lt3 +0 -16
  167. data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/metadata.txt +0 -6
  168. data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/teaser.txt +0 -1
  169. data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/the-genius-of-scenic.html +0 -11
  170. data/test/.blogs/views/computing/posts/0006-the-future-of-coding/0006-the-future-of-coding.lt3 +0 -16
  171. data/test/.blogs/views/computing/posts/0006-the-future-of-coding/metadata.txt +0 -6
  172. data/test/.blogs/views/computing/posts/0006-the-future-of-coding/teaser.txt +0 -1
  173. data/test/.blogs/views/computing/posts/0006-the-future-of-coding/the-future-of-coding.html +0 -11
  174. data/test/.blogs/views/computing/publish +0 -5
  175. data/test/.blogs/views/computing/remote/elixir-conf-coming-up.html +0 -51
  176. data/test/.blogs/views/computing/remote/etc/blog.css +0 -34
  177. data/test/.blogs/views/computing/remote/etc/blog.css.lt3 +0 -36
  178. data/test/.blogs/views/computing/remote/etc/externals.lt3 +0 -19
  179. data/test/.blogs/views/computing/remote/etc/favicon.ico +0 -0
  180. data/test/.blogs/views/computing/remote/etc/misc.js +0 -6
  181. data/test/.blogs/views/computing/remote/permalink/elixir-conf-coming-up.html +0 -51
  182. data/test/.blogs/views/computing/remote/permalink/the-future-of-coding.html +0 -50
  183. data/test/.blogs/views/computing/remote/permalink/the-genius-of-scenic.html +0 -50
  184. data/test/.blogs/views/computing/remote/recent.html +0 -64
  185. data/test/.blogs/views/computing/remote/the-future-of-coding.html +0 -50
  186. data/test/.blogs/views/computing/remote/the-genius-of-scenic.html +0 -50
  187. data/test/.blogs/views/computing/remote/widgets/README +0 -4
  188. data/test/.blogs/views/computing/remote/widgets/ad/ad.lt3 +0 -12
  189. data/test/.blogs/views/computing/remote/widgets/calendar/calendar.lt3 +0 -6
  190. data/test/.blogs/views/computing/remote/widgets/news/list.data +0 -4
  191. data/test/.blogs/views/computing/remote/widgets/news/news.lt3 +0 -3
  192. data/test/.blogs/views/computing/remote/widgets/pages/README +0 -2
  193. data/test/.blogs/views/computing/remote/widgets/pages/disclaim.lt3 +0 -6
  194. data/test/.blogs/views/computing/remote/widgets/pages/faq.lt3 +0 -6
  195. data/test/.blogs/views/computing/remote/widgets/pages/generated.lt3 +0 -4
  196. data/test/.blogs/views/computing/remote/widgets/pages/lifestory.lt3 +0 -6
  197. data/test/.blogs/views/computing/remote/widgets/pages/like-dislike.lt3 +0 -6
  198. data/test/.blogs/views/computing/remote/widgets/pages/list.data +0 -4
  199. data/test/.blogs/views/computing/remote/widgets/pages/main.html +0 -9
  200. data/test/.blogs/views/computing/remote/widgets/pages/main.lt3 +0 -18
  201. data/test/.blogs/views/computing/remote/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  202. data/test/.blogs/views/computing/staging/0003-elixir-conf-coming-up.lt3 +0 -17
  203. data/test/.blogs/views/computing/staging/0005-the-genius-of-scenic.lt3 +0 -16
  204. data/test/.blogs/views/computing/staging/0006-the-future-of-coding.lt3 +0 -16
  205. data/test/.blogs/views/computing/staging/README +0 -59
  206. data/test/.blogs/views/computing/staging/blog/generate.lt3 +0 -17
  207. data/test/.blogs/views/computing/staging/blog/head.lt3 +0 -9
  208. data/test/.blogs/views/computing/staging/blog/index.lt3 +0 -6
  209. data/test/.blogs/views/computing/staging/blog/post_entry.lt3 +0 -19
  210. data/test/.blogs/views/computing/staging/elixir-conf-coming-up.html +0 -51
  211. data/test/.blogs/views/computing/staging/etc/blog.css +0 -34
  212. data/test/.blogs/views/computing/staging/etc/blog.css.lt3 +0 -36
  213. data/test/.blogs/views/computing/staging/etc/externals.lt3 +0 -19
  214. data/test/.blogs/views/computing/staging/etc/favicon.ico +0 -0
  215. data/test/.blogs/views/computing/staging/etc/misc.js +0 -6
  216. data/test/.blogs/views/computing/staging/global.lt3 +0 -22
  217. data/test/.blogs/views/computing/staging/navbar/about.html +0 -6
  218. data/test/.blogs/views/computing/staging/navbar/contact.html +0 -6
  219. data/test/.blogs/views/computing/staging/navbar/navbar.lt3 +0 -6
  220. data/test/.blogs/views/computing/staging/post/generate.lt3 +0 -26
  221. data/test/.blogs/views/computing/staging/post/head.lt3 +0 -4
  222. data/test/.blogs/views/computing/staging/post/index.html +0 -16
  223. data/test/.blogs/views/computing/staging/post/index.lt3 +0 -16
  224. data/test/.blogs/views/computing/staging/post/permalink.lt3 +0 -26
  225. data/test/.blogs/views/computing/staging/recent.html +0 -64
  226. data/test/.blogs/views/computing/staging/sidebar/README +0 -3
  227. data/test/.blogs/views/computing/staging/the-future-of-coding.html +0 -50
  228. data/test/.blogs/views/computing/staging/the-genius-of-scenic.html +0 -50
  229. data/test/.blogs/views/computing/staging/vars.lt3 +0 -2
  230. data/test/.blogs/views/computing/staging/widgets/README +0 -4
  231. data/test/.blogs/views/computing/staging/widgets/ad/ad.lt3 +0 -12
  232. data/test/.blogs/views/computing/staging/widgets/calendar/calendar.lt3 +0 -6
  233. data/test/.blogs/views/computing/staging/widgets/news/list.data +0 -4
  234. data/test/.blogs/views/computing/staging/widgets/news/news.lt3 +0 -3
  235. data/test/.blogs/views/computing/staging/widgets/pages/README +0 -2
  236. data/test/.blogs/views/computing/staging/widgets/pages/disclaim.lt3 +0 -6
  237. data/test/.blogs/views/computing/staging/widgets/pages/faq.lt3 +0 -6
  238. data/test/.blogs/views/computing/staging/widgets/pages/generated.lt3 +0 -4
  239. data/test/.blogs/views/computing/staging/widgets/pages/lifestory.lt3 +0 -6
  240. data/test/.blogs/views/computing/staging/widgets/pages/like-dislike.lt3 +0 -6
  241. data/test/.blogs/views/computing/staging/widgets/pages/list.data +0 -4
  242. data/test/.blogs/views/computing/staging/widgets/pages/main.html +0 -9
  243. data/test/.blogs/views/computing/staging/widgets/pages/main.lt3 +0 -18
  244. data/test/.blogs/views/computing/staging/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  245. data/test/.blogs/views/computing/themes/standard/README +0 -59
  246. data/test/.blogs/views/computing/themes/standard/blog/generate.lt3 +0 -17
  247. data/test/.blogs/views/computing/themes/standard/blog/head.lt3 +0 -9
  248. data/test/.blogs/views/computing/themes/standard/blog/index.lt3 +0 -6
  249. data/test/.blogs/views/computing/themes/standard/blog/post_entry.lt3 +0 -19
  250. data/test/.blogs/views/computing/themes/standard/etc/blog.css +0 -34
  251. data/test/.blogs/views/computing/themes/standard/etc/blog.css.lt3 +0 -36
  252. data/test/.blogs/views/computing/themes/standard/etc/externals.lt3 +0 -19
  253. data/test/.blogs/views/computing/themes/standard/etc/favicon.ico +0 -0
  254. data/test/.blogs/views/computing/themes/standard/etc/misc.js +0 -6
  255. data/test/.blogs/views/computing/themes/standard/global.lt3 +0 -22
  256. data/test/.blogs/views/computing/themes/standard/navbar/about.html +0 -6
  257. data/test/.blogs/views/computing/themes/standard/navbar/contact.html +0 -6
  258. data/test/.blogs/views/computing/themes/standard/navbar/navbar.lt3 +0 -6
  259. data/test/.blogs/views/computing/themes/standard/post/generate.lt3 +0 -26
  260. data/test/.blogs/views/computing/themes/standard/post/head.lt3 +0 -4
  261. data/test/.blogs/views/computing/themes/standard/post/index.lt3 +0 -16
  262. data/test/.blogs/views/computing/themes/standard/post/permalink.lt3 +0 -26
  263. data/test/.blogs/views/computing/themes/standard/sidebar/README +0 -3
  264. data/test/.blogs/views/computing/themes/standard/widgets/README +0 -4
  265. data/test/.blogs/views/computing/themes/standard/widgets/ad/ad.lt3 +0 -12
  266. data/test/.blogs/views/computing/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  267. data/test/.blogs/views/computing/themes/standard/widgets/news/list.data +0 -4
  268. data/test/.blogs/views/computing/themes/standard/widgets/news/news.lt3 +0 -3
  269. data/test/.blogs/views/computing/themes/standard/widgets/pages/README +0 -2
  270. data/test/.blogs/views/computing/themes/standard/widgets/pages/disclaim.lt3 +0 -6
  271. data/test/.blogs/views/computing/themes/standard/widgets/pages/faq.lt3 +0 -6
  272. data/test/.blogs/views/computing/themes/standard/widgets/pages/generated.lt3 +0 -4
  273. data/test/.blogs/views/computing/themes/standard/widgets/pages/lifestory.lt3 +0 -6
  274. data/test/.blogs/views/computing/themes/standard/widgets/pages/like-dislike.lt3 +0 -6
  275. data/test/.blogs/views/computing/themes/standard/widgets/pages/list.data +0 -4
  276. data/test/.blogs/views/computing/themes/standard/widgets/pages/main.html +0 -9
  277. data/test/.blogs/views/computing/themes/standard/widgets/pages/main.lt3 +0 -18
  278. data/test/.blogs/views/computing/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  279. data/test/.blogs/views/music/last_published +0 -1
  280. data/test/.blogs/views/music/posts/0004-does-indie-still-matter/0004-does-indie-still-matter.lt3 +0 -16
  281. data/test/.blogs/views/music/posts/0004-does-indie-still-matter/does-indie-still-matter.html +0 -11
  282. data/test/.blogs/views/music/posts/0004-does-indie-still-matter/metadata.txt +0 -6
  283. data/test/.blogs/views/music/posts/0004-does-indie-still-matter/teaser.txt +0 -1
  284. data/test/.blogs/views/music/posts/0010-remember-modest-mouse/0010-remember-modest-mouse.lt3 +0 -17
  285. data/test/.blogs/views/music/posts/0010-remember-modest-mouse/metadata.txt +0 -6
  286. data/test/.blogs/views/music/posts/0010-remember-modest-mouse/remember-modest-mouse.html +0 -12
  287. data/test/.blogs/views/music/posts/0010-remember-modest-mouse/teaser.txt +0 -1
  288. data/test/.blogs/views/music/publish +0 -5
  289. data/test/.blogs/views/music/remote/does-indie-still-matter.html +0 -50
  290. data/test/.blogs/views/music/remote/etc/blog.css +0 -34
  291. data/test/.blogs/views/music/remote/etc/blog.css.lt3 +0 -36
  292. data/test/.blogs/views/music/remote/etc/externals.lt3 +0 -19
  293. data/test/.blogs/views/music/remote/etc/favicon.ico +0 -0
  294. data/test/.blogs/views/music/remote/etc/misc.js +0 -6
  295. data/test/.blogs/views/music/remote/permalink/does-indie-still-matter.html +0 -50
  296. data/test/.blogs/views/music/remote/permalink/remember-modest-mouse.html +0 -51
  297. data/test/.blogs/views/music/remote/recent.html +0 -44
  298. data/test/.blogs/views/music/remote/remember-modest-mouse.html +0 -51
  299. data/test/.blogs/views/music/remote/widgets/README +0 -4
  300. data/test/.blogs/views/music/remote/widgets/ad/ad.lt3 +0 -12
  301. data/test/.blogs/views/music/remote/widgets/calendar/calendar.lt3 +0 -6
  302. data/test/.blogs/views/music/remote/widgets/news/list.data +0 -4
  303. data/test/.blogs/views/music/remote/widgets/news/news.lt3 +0 -3
  304. data/test/.blogs/views/music/remote/widgets/pages/README +0 -2
  305. data/test/.blogs/views/music/remote/widgets/pages/disclaim.lt3 +0 -6
  306. data/test/.blogs/views/music/remote/widgets/pages/faq.lt3 +0 -6
  307. data/test/.blogs/views/music/remote/widgets/pages/generated.lt3 +0 -4
  308. data/test/.blogs/views/music/remote/widgets/pages/lifestory.lt3 +0 -6
  309. data/test/.blogs/views/music/remote/widgets/pages/like-dislike.lt3 +0 -6
  310. data/test/.blogs/views/music/remote/widgets/pages/list.data +0 -4
  311. data/test/.blogs/views/music/remote/widgets/pages/main.html +0 -9
  312. data/test/.blogs/views/music/remote/widgets/pages/main.lt3 +0 -18
  313. data/test/.blogs/views/music/remote/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  314. data/test/.blogs/views/music/staging/0004-does-indie-still-matter.lt3 +0 -16
  315. data/test/.blogs/views/music/staging/0010-remember-modest-mouse.lt3 +0 -17
  316. data/test/.blogs/views/music/staging/README +0 -59
  317. data/test/.blogs/views/music/staging/blog/generate.lt3 +0 -17
  318. data/test/.blogs/views/music/staging/blog/head.lt3 +0 -9
  319. data/test/.blogs/views/music/staging/blog/index.lt3 +0 -6
  320. data/test/.blogs/views/music/staging/blog/post_entry.lt3 +0 -19
  321. data/test/.blogs/views/music/staging/does-indie-still-matter.html +0 -50
  322. data/test/.blogs/views/music/staging/etc/blog.css +0 -34
  323. data/test/.blogs/views/music/staging/etc/blog.css.lt3 +0 -36
  324. data/test/.blogs/views/music/staging/etc/externals.lt3 +0 -19
  325. data/test/.blogs/views/music/staging/etc/favicon.ico +0 -0
  326. data/test/.blogs/views/music/staging/etc/misc.js +0 -6
  327. data/test/.blogs/views/music/staging/global.lt3 +0 -22
  328. data/test/.blogs/views/music/staging/navbar/about.html +0 -6
  329. data/test/.blogs/views/music/staging/navbar/contact.html +0 -6
  330. data/test/.blogs/views/music/staging/navbar/navbar.lt3 +0 -6
  331. data/test/.blogs/views/music/staging/post/generate.lt3 +0 -26
  332. data/test/.blogs/views/music/staging/post/head.lt3 +0 -4
  333. data/test/.blogs/views/music/staging/post/index.html +0 -17
  334. data/test/.blogs/views/music/staging/post/index.lt3 +0 -16
  335. data/test/.blogs/views/music/staging/post/permalink.lt3 +0 -26
  336. data/test/.blogs/views/music/staging/recent.html +0 -44
  337. data/test/.blogs/views/music/staging/remember-modest-mouse.html +0 -51
  338. data/test/.blogs/views/music/staging/sidebar/README +0 -3
  339. data/test/.blogs/views/music/staging/vars.lt3 +0 -2
  340. data/test/.blogs/views/music/staging/widgets/README +0 -4
  341. data/test/.blogs/views/music/staging/widgets/ad/ad.lt3 +0 -12
  342. data/test/.blogs/views/music/staging/widgets/calendar/calendar.lt3 +0 -6
  343. data/test/.blogs/views/music/staging/widgets/news/list.data +0 -4
  344. data/test/.blogs/views/music/staging/widgets/news/news.lt3 +0 -3
  345. data/test/.blogs/views/music/staging/widgets/pages/README +0 -2
  346. data/test/.blogs/views/music/staging/widgets/pages/disclaim.lt3 +0 -6
  347. data/test/.blogs/views/music/staging/widgets/pages/faq.lt3 +0 -6
  348. data/test/.blogs/views/music/staging/widgets/pages/generated.lt3 +0 -4
  349. data/test/.blogs/views/music/staging/widgets/pages/lifestory.lt3 +0 -6
  350. data/test/.blogs/views/music/staging/widgets/pages/like-dislike.lt3 +0 -6
  351. data/test/.blogs/views/music/staging/widgets/pages/list.data +0 -4
  352. data/test/.blogs/views/music/staging/widgets/pages/main.html +0 -9
  353. data/test/.blogs/views/music/staging/widgets/pages/main.lt3 +0 -18
  354. data/test/.blogs/views/music/staging/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  355. data/test/.blogs/views/music/themes/standard/README +0 -59
  356. data/test/.blogs/views/music/themes/standard/blog/generate.lt3 +0 -17
  357. data/test/.blogs/views/music/themes/standard/blog/head.lt3 +0 -9
  358. data/test/.blogs/views/music/themes/standard/blog/index.lt3 +0 -6
  359. data/test/.blogs/views/music/themes/standard/blog/post_entry.lt3 +0 -19
  360. data/test/.blogs/views/music/themes/standard/etc/blog.css +0 -34
  361. data/test/.blogs/views/music/themes/standard/etc/blog.css.lt3 +0 -36
  362. data/test/.blogs/views/music/themes/standard/etc/externals.lt3 +0 -19
  363. data/test/.blogs/views/music/themes/standard/etc/favicon.ico +0 -0
  364. data/test/.blogs/views/music/themes/standard/etc/misc.js +0 -6
  365. data/test/.blogs/views/music/themes/standard/global.lt3 +0 -22
  366. data/test/.blogs/views/music/themes/standard/navbar/about.html +0 -6
  367. data/test/.blogs/views/music/themes/standard/navbar/contact.html +0 -6
  368. data/test/.blogs/views/music/themes/standard/navbar/navbar.lt3 +0 -6
  369. data/test/.blogs/views/music/themes/standard/post/generate.lt3 +0 -26
  370. data/test/.blogs/views/music/themes/standard/post/head.lt3 +0 -4
  371. data/test/.blogs/views/music/themes/standard/post/index.lt3 +0 -16
  372. data/test/.blogs/views/music/themes/standard/post/permalink.lt3 +0 -26
  373. data/test/.blogs/views/music/themes/standard/sidebar/README +0 -3
  374. data/test/.blogs/views/music/themes/standard/widgets/README +0 -4
  375. data/test/.blogs/views/music/themes/standard/widgets/ad/ad.lt3 +0 -12
  376. data/test/.blogs/views/music/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  377. data/test/.blogs/views/music/themes/standard/widgets/news/list.data +0 -4
  378. data/test/.blogs/views/music/themes/standard/widgets/news/news.lt3 +0 -3
  379. data/test/.blogs/views/music/themes/standard/widgets/pages/README +0 -2
  380. data/test/.blogs/views/music/themes/standard/widgets/pages/disclaim.lt3 +0 -6
  381. data/test/.blogs/views/music/themes/standard/widgets/pages/faq.lt3 +0 -6
  382. data/test/.blogs/views/music/themes/standard/widgets/pages/generated.lt3 +0 -4
  383. data/test/.blogs/views/music/themes/standard/widgets/pages/lifestory.lt3 +0 -6
  384. data/test/.blogs/views/music/themes/standard/widgets/pages/like-dislike.lt3 +0 -6
  385. data/test/.blogs/views/music/themes/standard/widgets/pages/list.data +0 -4
  386. data/test/.blogs/views/music/themes/standard/widgets/pages/main.html +0 -9
  387. data/test/.blogs/views/music/themes/standard/widgets/pages/main.lt3 +0 -18
  388. data/test/.blogs/views/music/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  389. data/test/.blogs/views/test_view/last_published +0 -1
  390. data/test/.blogs/views/test_view/publish +0 -5
  391. data/test/.blogs/views/test_view/remote/etc/blog.css +0 -34
  392. data/test/.blogs/views/test_view/remote/etc/blog.css.lt3 +0 -36
  393. data/test/.blogs/views/test_view/remote/etc/externals.lt3 +0 -19
  394. data/test/.blogs/views/test_view/remote/etc/favicon.ico +0 -0
  395. data/test/.blogs/views/test_view/remote/etc/misc.js +0 -6
  396. data/test/.blogs/views/test_view/remote/widgets/README +0 -4
  397. data/test/.blogs/views/test_view/remote/widgets/ad/ad.lt3 +0 -12
  398. data/test/.blogs/views/test_view/remote/widgets/calendar/calendar.lt3 +0 -6
  399. data/test/.blogs/views/test_view/remote/widgets/news/list.data +0 -4
  400. data/test/.blogs/views/test_view/remote/widgets/news/news.lt3 +0 -3
  401. data/test/.blogs/views/test_view/remote/widgets/pages/README +0 -2
  402. data/test/.blogs/views/test_view/remote/widgets/pages/disclaim.lt3 +0 -6
  403. data/test/.blogs/views/test_view/remote/widgets/pages/faq.lt3 +0 -6
  404. data/test/.blogs/views/test_view/remote/widgets/pages/generated.lt3 +0 -4
  405. data/test/.blogs/views/test_view/remote/widgets/pages/lifestory.lt3 +0 -6
  406. data/test/.blogs/views/test_view/remote/widgets/pages/like-dislike.lt3 +0 -6
  407. data/test/.blogs/views/test_view/remote/widgets/pages/list.data +0 -4
  408. data/test/.blogs/views/test_view/remote/widgets/pages/main.html +0 -9
  409. data/test/.blogs/views/test_view/remote/widgets/pages/main.lt3 +0 -18
  410. data/test/.blogs/views/test_view/remote/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  411. data/test/.blogs/views/test_view/staging/README +0 -59
  412. data/test/.blogs/views/test_view/staging/blog/generate.lt3 +0 -17
  413. data/test/.blogs/views/test_view/staging/blog/head.lt3 +0 -9
  414. data/test/.blogs/views/test_view/staging/blog/index.lt3 +0 -6
  415. data/test/.blogs/views/test_view/staging/blog/post_entry.lt3 +0 -19
  416. data/test/.blogs/views/test_view/staging/etc/blog.css +0 -34
  417. data/test/.blogs/views/test_view/staging/etc/blog.css.lt3 +0 -36
  418. data/test/.blogs/views/test_view/staging/etc/externals.lt3 +0 -19
  419. data/test/.blogs/views/test_view/staging/etc/favicon.ico +0 -0
  420. data/test/.blogs/views/test_view/staging/etc/misc.js +0 -6
  421. data/test/.blogs/views/test_view/staging/global.lt3 +0 -22
  422. data/test/.blogs/views/test_view/staging/navbar/about.html +0 -6
  423. data/test/.blogs/views/test_view/staging/navbar/contact.html +0 -6
  424. data/test/.blogs/views/test_view/staging/navbar/navbar.lt3 +0 -6
  425. data/test/.blogs/views/test_view/staging/post/generate.lt3 +0 -26
  426. data/test/.blogs/views/test_view/staging/post/head.lt3 +0 -4
  427. data/test/.blogs/views/test_view/staging/post/index.lt3 +0 -16
  428. data/test/.blogs/views/test_view/staging/post/permalink.lt3 +0 -26
  429. data/test/.blogs/views/test_view/staging/sidebar/README +0 -3
  430. data/test/.blogs/views/test_view/staging/widgets/README +0 -4
  431. data/test/.blogs/views/test_view/staging/widgets/ad/ad.lt3 +0 -12
  432. data/test/.blogs/views/test_view/staging/widgets/calendar/calendar.lt3 +0 -6
  433. data/test/.blogs/views/test_view/staging/widgets/news/list.data +0 -4
  434. data/test/.blogs/views/test_view/staging/widgets/news/news.lt3 +0 -3
  435. data/test/.blogs/views/test_view/staging/widgets/pages/README +0 -2
  436. data/test/.blogs/views/test_view/staging/widgets/pages/disclaim.lt3 +0 -6
  437. data/test/.blogs/views/test_view/staging/widgets/pages/faq.lt3 +0 -6
  438. data/test/.blogs/views/test_view/staging/widgets/pages/generated.lt3 +0 -4
  439. data/test/.blogs/views/test_view/staging/widgets/pages/lifestory.lt3 +0 -6
  440. data/test/.blogs/views/test_view/staging/widgets/pages/like-dislike.lt3 +0 -6
  441. data/test/.blogs/views/test_view/staging/widgets/pages/list.data +0 -4
  442. data/test/.blogs/views/test_view/staging/widgets/pages/main.html +0 -9
  443. data/test/.blogs/views/test_view/staging/widgets/pages/main.lt3 +0 -18
  444. data/test/.blogs/views/test_view/staging/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  445. data/test/.blogs/views/test_view/themes/standard/README +0 -59
  446. data/test/.blogs/views/test_view/themes/standard/blog/generate.lt3 +0 -17
  447. data/test/.blogs/views/test_view/themes/standard/blog/head.lt3 +0 -9
  448. data/test/.blogs/views/test_view/themes/standard/blog/index.lt3 +0 -6
  449. data/test/.blogs/views/test_view/themes/standard/blog/post_entry.lt3 +0 -19
  450. data/test/.blogs/views/test_view/themes/standard/etc/blog.css +0 -34
  451. data/test/.blogs/views/test_view/themes/standard/etc/blog.css.lt3 +0 -36
  452. data/test/.blogs/views/test_view/themes/standard/etc/externals.lt3 +0 -19
  453. data/test/.blogs/views/test_view/themes/standard/etc/favicon.ico +0 -0
  454. data/test/.blogs/views/test_view/themes/standard/etc/misc.js +0 -6
  455. data/test/.blogs/views/test_view/themes/standard/global.lt3 +0 -22
  456. data/test/.blogs/views/test_view/themes/standard/navbar/about.html +0 -6
  457. data/test/.blogs/views/test_view/themes/standard/navbar/contact.html +0 -6
  458. data/test/.blogs/views/test_view/themes/standard/navbar/navbar.lt3 +0 -6
  459. data/test/.blogs/views/test_view/themes/standard/post/generate.lt3 +0 -26
  460. data/test/.blogs/views/test_view/themes/standard/post/head.lt3 +0 -4
  461. data/test/.blogs/views/test_view/themes/standard/post/index.lt3 +0 -16
  462. data/test/.blogs/views/test_view/themes/standard/post/permalink.lt3 +0 -26
  463. data/test/.blogs/views/test_view/themes/standard/sidebar/README +0 -3
  464. data/test/.blogs/views/test_view/themes/standard/widgets/README +0 -4
  465. data/test/.blogs/views/test_view/themes/standard/widgets/ad/ad.lt3 +0 -12
  466. data/test/.blogs/views/test_view/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  467. data/test/.blogs/views/test_view/themes/standard/widgets/news/list.data +0 -4
  468. data/test/.blogs/views/test_view/themes/standard/widgets/news/news.lt3 +0 -3
  469. data/test/.blogs/views/test_view/themes/standard/widgets/pages/README +0 -2
  470. data/test/.blogs/views/test_view/themes/standard/widgets/pages/disclaim.lt3 +0 -6
  471. data/test/.blogs/views/test_view/themes/standard/widgets/pages/faq.lt3 +0 -6
  472. data/test/.blogs/views/test_view/themes/standard/widgets/pages/generated.lt3 +0 -4
  473. data/test/.blogs/views/test_view/themes/standard/widgets/pages/lifestory.lt3 +0 -6
  474. data/test/.blogs/views/test_view/themes/standard/widgets/pages/like-dislike.lt3 +0 -6
  475. data/test/.blogs/views/test_view/themes/standard/widgets/pages/list.data +0 -4
  476. data/test/.blogs/views/test_view/themes/standard/widgets/pages/main.html +0 -9
  477. data/test/.blogs/views/test_view/themes/standard/widgets/pages/main.lt3 +0 -18
  478. data/test/.blogs/views/test_view/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +0 -12
  479. data/themes/standard/README +0 -59
  480. data/themes/standard/blog/generate.lt3 +0 -17
  481. data/themes/standard/blog/head.lt3 +0 -9
  482. data/themes/standard/blog/index.lt3 +0 -5
  483. data/themes/standard/blog/post_entry.lt3 +0 -19
  484. data/themes/standard/blog/recent.lt3 +0 -2
  485. data/themes/standard/etc/blog.css.lt3 +0 -36
  486. data/themes/standard/etc/externals.lt3 +0 -19
  487. data/themes/standard/etc/favicon.ico +0 -0
  488. data/themes/standard/etc/misc.js +0 -6
  489. data/themes/standard/global.lt3 +0 -22
  490. data/themes/standard/navbar/about.html +0 -6
  491. data/themes/standard/navbar/contact.html +0 -6
  492. data/themes/standard/navbar/navbar.lt3 +0 -6
  493. data/themes/standard/post/generate.lt3 +0 -24
  494. data/themes/standard/post/head.lt3 +0 -4
  495. data/themes/standard/post/index.lt3 +0 -16
  496. data/themes/standard/post/permalink.lt3 +0 -26
  497. data/themes/standard/sidebar/README +0 -3
  498. data/themes/standard/widgets/README +0 -4
  499. data/themes/standard/widgets/ad/ad.lt3 +0 -15
  500. data/themes/standard/widgets/calendar/calendar.lt3 +0 -6
  501. data/themes/standard/widgets/news/list.data +0 -4
  502. data/themes/standard/widgets/news/news.lt3 +0 -2
  503. data/themes/standard/widgets/pages/README +0 -2
  504. data/themes/standard/widgets/pages/disclaim.html +0 -6
  505. data/themes/standard/widgets/pages/disclaim.lt3 +0 -5
  506. data/themes/standard/widgets/pages/faq.html +0 -7
  507. data/themes/standard/widgets/pages/faq.lt3 +0 -6
  508. data/themes/standard/widgets/pages/generated.lt3 +0 -4
  509. data/themes/standard/widgets/pages/lifestory.html +0 -7
  510. data/themes/standard/widgets/pages/lifestory.lt3 +0 -6
  511. data/themes/standard/widgets/pages/like-dislike.html +0 -7
  512. data/themes/standard/widgets/pages/like-dislike.lt3 +0 -6
  513. data/themes/standard/widgets/pages/list.data +0 -4
  514. data/themes/standard/widgets/pages/main.html +0 -9
  515. data/themes/standard/widgets/pages/pages.lt3 +0 -2
  516. data/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '090be7fd993feee70e7aa436c3796e9b893b910d35cdcd5ae5ebc8d78a697904'
4
- data.tar.gz: aa6edd445128d95021754c746aca691243c1cd9bddf4bd65b662195a0fb2ce09
3
+ metadata.gz: 50083dc0e216b8b22a30023aec14382c066ec694fdbf42e7b815ab1e569151dd
4
+ data.tar.gz: fe184284c8dcbdffe9c8145bce826bf0a062d8bfc5634ee55a4a5dd0a713af64
5
5
  SHA512:
6
- metadata.gz: 67e959f2f8fbb7c4fb0e3b47dd5b51383dab3793b4f32325d07018a64785330126c704f2d67de8a8efd3a3cc09fffe45c3b48c339b110ea1fb19884871731bfb
7
- data.tar.gz: a3de869aba15e94fa2e7c963cab038b8b817e6666e31e7f8eb1e69db69473e91f5e1df9dbcb38cf63eafb899c7f2a99520b0d3c44d49d867fdd53b69219bb2ad
6
+ metadata.gz: 19d75028ffe62cf915c7a3dd132d36f999f5e6ae84950e99c5ddb23bde23093674cb9154d59247eb7d302fbdf630dfd0baf3513ca59ea4d02613e21e25577c4a
7
+ data.tar.gz: 8e1c58ad7a920faba723802c3b95d15238f1b5f88230f80b7ce86489c85f5d53fa6386d8febd1436120401cfb1a2a3a5cdad81108b3aec33854a741b1751be6a
Binary file
@@ -3,6 +3,8 @@ require 'fileutils'
3
3
 
4
4
  # Home = Dir.pwd # unless Home
5
5
 
6
+ LEXT = ".lt3"
7
+
6
8
  module RuneBlog::Helpers
7
9
 
8
10
  def copy(src, dst)
@@ -31,23 +33,57 @@ exit unless rc
31
33
  # end
32
34
  end
33
35
 
34
- def stale?(src, dst)
36
+ def stale?(src, dst, force = false)
35
37
  log!(enter: __method__, args: [src, dst])
38
+ raise "Source #{src} not found in #{Dir.pwd}" unless File.exist?(src)
39
+ return true if force
36
40
  return true unless File.exist?(dst)
37
41
  return true if File.mtime(src) > File.mtime(dst)
38
42
  return false
39
43
  end
40
44
 
41
- def livetext(src, dst=nil)
42
- log!(enter: __method__, args: [src, dst])
43
- src << ".lt3" unless src.end_with?(".lt3")
44
- if dst
45
- dst << ".html" unless dst.end_with?(".html")
46
- else
47
- dst = src.sub(/.lt3$/, "")
45
+ # def livetext(src, dst=nil, dir=".")
46
+ # log!(enter: __method__, args: [src, dst])
47
+ # src << ".lt3" unless src.end_with?(".lt3")
48
+ # if dst
49
+ # dst << ".html" unless dst.end_with?(".html")
50
+ # else
51
+ # dst = src.sub(/.lt3$/, "")
52
+ # end
53
+ ## return unless stale?(src, dst)
54
+ # Dir.chdir(dir) { system("livetext #{src} >#{dst}") }
55
+ # end
56
+ #
57
+ # def livetext!(src, dst=nil, dir=".")
58
+ # log!(enter: __method__, args: [src, dst])
59
+ # src << ".lt3" unless src.end_with?(".lt3")
60
+ # if dst
61
+ # dst << ".html" unless dst.end_with?(".html")
62
+ # else
63
+ # dst = src.sub(/.lt3$/, "")
64
+ # end
65
+ ## return unless stale?(src, dst)
66
+ #STDERR.puts "-- livetext #{src} >#{dst} \n in: #{Dir.pwd}\n from: #{caller[0]}"
67
+ # Dir.chdir(dir) { system("livetext #{src} >#{dst}") }
68
+ #STDERR.puts "... completed"
69
+ # end
70
+
71
+ def xlate(cwd: Dir.pwd, src:,
72
+ dst: (strip = true; src.sub(/.lt3$/,"")),
73
+ copy: nil, debug: false, force: false)
74
+ src += LEXT unless src.end_with?(LEXT)
75
+ dst += ".html" unless dst.end_with?(".html") || strip
76
+ Dir.chdir(cwd) do
77
+ return unless stale?(src, dst, force)
78
+ if debug
79
+ STDERR.puts "-- xlate #{src} >#{dst}"
80
+ STDERR.puts " in: #{Dir.pwd}"
81
+ STDERR.puts " from: #{caller[0]}"
82
+ STDERR.puts " copy: #{copy}" if copy
83
+ end
84
+ rc = system("livetext #{src} >#{dst}")
48
85
  end
49
- # return unless stale?(src, dst)
50
- system("livetext #{src} >#{dst}")
86
+ STDERR.puts "...completed (shell returned #{rc})" if debug
51
87
  end
52
88
 
53
89
  def get_root
@@ -96,41 +96,32 @@ def list!
96
96
  _optional_blank_line
97
97
  end
98
98
 
99
- def html_body(file)
99
+ def _html_body(file)
100
100
  file.puts "<html>\n <body>"
101
101
  yield
102
102
  file.puts " </body>\n</html>"
103
103
  end
104
104
 
105
- def make_news_links
106
- # FIXME remember strings may not be safe
107
- line = _data.chomp
108
- input, cardfile, mainfile, card_title = *line.split(" ", 4)
109
- pairs = File.readlines(input).map {|line| line.chomp.split(",", 2) }
110
- # HTML for main area (iframe)
111
- File.open("#{mainfile}.html", "w") do |f|
112
- html_body(f) do
113
- f.puts "<h1>#{card_title}</h1>"
114
- pairs.each do |file, title|
115
- f.puts %[<a style="text-decoration: none; font-size: 24px" href="#{file}">#{title}</a> <br>]
116
- end
117
- end
118
- end
105
+ def _write_card(cardfile, mainfile, pairs, card_title, tag, relative: true)
119
106
  # HTML for sidebar card
107
+ log!(str: "Creating #{cardfile}.html", pwd: true)
108
+ # TTY.puts "Creating #{cardfile}.html - pwd = #{Dir.pwd}"
120
109
  File.open("#{cardfile}.html", "w") do |f|
121
110
  f.puts <<-EOS
122
111
  <div class="card mb-3">
123
112
  <div class="card-body">
124
113
  <h5 class="card-title">
125
114
  <a href="javascript: void(0)"
126
- onclick="javascript:open_main('widgets/news/#{mainfile}.html')"
115
+ onclick="javascript:open_main('widgets/#{tag}/#{mainfile}.html')"
127
116
  style="text-decoration: none; color: black">#{card_title}</a>
128
117
  </h5>
129
118
  EOS
119
+ log!(str: "Writing data pairs to #{cardfile}.html", pwd: true)
120
+ top = "widgets/#{tag}/" # FIXME ???
130
121
  pairs.each do |file, title|
131
122
  f.puts <<-EOS
132
123
  <li class="list-group-item"> <a href="javascript: void(0)"
133
- onclick="javascript:open_main('#{file}')">#{title}</a> </li>
124
+ onclick="javascript:open_main('#{top}#{file}')">#{title}</a> </li>
134
125
  EOS
135
126
  end
136
127
  f.puts <<-EOS
@@ -140,6 +131,35 @@ def make_news_links
140
131
  end
141
132
  end
142
133
 
134
+ def _write_main(mainfile, pairs, card_title)
135
+ # HTML for main area (iframe)
136
+ log!(str: "Creating #{mainfile}.html", pwd: true)
137
+ # TTY.puts "Creating #{mainfile}.html - pwd = #{Dir.pwd}"
138
+ File.open("#{mainfile}.html", "w") do |f|
139
+ _html_body(f) do
140
+ f.puts "<h1>#{card_title}</h1>"
141
+ pairs.each do |file, title|
142
+ f.puts %[<a style="text-decoration: none; font-size: 24px" href="#{file}">#{title}</a> <br>]
143
+ end
144
+ end
145
+ end
146
+ end
147
+
148
+ def make_main_links
149
+ log!(enter: __method__)
150
+ # FIXME remember strings may not be safe
151
+ line = _data.chomp
152
+ tag, card_title = *line.split(" ", 2)
153
+ cardfile, mainfile = "#{tag}-card", "#{tag}-main"
154
+ input = "list.data"
155
+ log!(str: "Reading #{input}", pwd: true)
156
+ pairs = File.readlines(input).map {|line| line.chomp.split(",", 2) }
157
+ _write_main(mainfile, pairs, card_title)
158
+ widget_relative = false # (tag != "news") # FIXME kludge!!!
159
+ _write_card(cardfile, mainfile, pairs, card_title, tag, relative: widget_relative)
160
+ log!(str: "...returning from method", pwd: true)
161
+ end
162
+
143
163
  ### inset
144
164
 
145
165
  def inset
@@ -236,23 +256,20 @@ def pin
236
256
  _optional_blank_line
237
257
  end
238
258
 
239
- def write_post
240
- raise "'post' was not called" unless @meta
241
- save = Dir.pwd
242
- @postdir.gsub!(/\/\//, "/") # FIXME unneeded?
243
- Dir.mkdir(@postdir) unless Dir.exist?(@postdir) # FIXME remember assets!
244
- Dir.chdir(@postdir)
245
- @meta.views = @meta.views.join(" ") if @meta.views.is_a? Array
246
- @meta.tags = @meta.tags.join(" ") if @meta.tags.is_a? Array
259
+ def _write_metadata
247
260
  File.write("teaser.txt", @meta.teaser)
248
-
249
261
  fields = [:num, :title, :date, :pubdate, :views, :tags]
250
-
251
262
  fname2 = "metadata.txt"
252
263
  f2 = File.open(fname2, "w") do |f2|
253
264
  fields.each {|fld| f2.puts "#{fld}: #{@meta.send(fld)}" }
254
265
  end
255
- Dir.chdir(save)
266
+ end
267
+
268
+ def write_post
269
+ raise "'post' was not called" unless @meta
270
+ @meta.views = @meta.views.join(" ") if @meta.views.is_a? Array
271
+ @meta.tags = @meta.tags.join(" ") if @meta.tags.is_a? Array
272
+ _write_metadata
256
273
  rescue => err
257
274
  puts "err = #{err}"
258
275
  puts err.backtrace.join("\n")
@@ -267,19 +284,25 @@ def teaser
267
284
  end
268
285
 
269
286
  def finalize
287
+ STDERR.puts :cp1
270
288
  unless @meta
271
289
  puts @live.body
272
290
  return
273
291
  end
292
+ STDERR.puts :cp4
274
293
  if @blog.nil?
275
294
  return @meta
276
295
  end
277
296
 
297
+ STDERR.puts :cp6
278
298
  @slug = @blog.make_slug(@meta)
299
+ STDERR.puts :cp7
279
300
  slug_dir = @slug
280
301
  @postdir = @blog.view.dir + "/posts/#{slug_dir}"
281
302
  STDERR.puts "--- finalize: pwd = #{Dir.pwd} postdir = #@postdir"
303
+ STDERR.puts :cp8
282
304
  write_post
305
+ STDERR.puts :cp9
283
306
  @meta
284
307
  end
285
308
 
@@ -423,10 +446,12 @@ def sidebar
423
446
  _out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
424
447
  _args do |token|
425
448
  tag = token.chomp.strip.downcase
426
- # Doesn't handle "split personality" widgets yet
427
- Dir.chdir("widgets/#{tag}") do
428
- livetext tag, "card-#{tag}.html"
429
- _include_file "card-#{tag}.html"
449
+ wtag = "widgets/#{tag}"
450
+ raise "Can't find #{wtag}" unless Dir.exist?(wtag)
451
+ Dir.chdir(wtag) do
452
+ tcard = "#{tag}-card.html"
453
+ livetext tag, tcard
454
+ _include_file tcard
430
455
  end
431
456
  end
432
457
  _out %[</div>]
@@ -606,7 +631,7 @@ def tag_cloud
606
631
  _out open
607
632
  _body do |line|
608
633
  line.chomp!
609
- url, classname, cdata = line.split(",", 4)
634
+ url, classname, cdata = line.split(",", 3)
610
635
  main = _main(url)
611
636
  _out %[<a #{main} class="#{classname}">#{cdata}</a>]
612
637
  end
@@ -60,7 +60,7 @@ class RuneBlog
60
60
  create_dirs(root)
61
61
  Dir.chdir(root) do
62
62
  system("cp #{RuneBlog::Path}/../empty_view.tgz .")
63
- create_dirs(:drafts, :views)
63
+ create_dirs(:drafts, :views, :posts)
64
64
  new_sequence
65
65
  end
66
66
  put_config(root: root)
@@ -99,6 +99,23 @@ class RuneBlog
99
99
  @post_tags = []
100
100
  end
101
101
 
102
+ def _deploy_local(dir)
103
+ log!(enter: __method__, args: [dir])
104
+ Dir.chdir(dir) do
105
+ views = File.readlines("metadata.txt").grep(/^.views /).first[7..-1].split
106
+ views.each {|v| system("cp *html #@root/views/#{v}/remote") }
107
+ end
108
+ end
109
+
110
+ def process_post(sourcefile)
111
+ log!(enter: __method__, args: [dir])
112
+ nslug = sourcefile.sub(/.lt3/, "")
113
+ dir = @root + "/posts/#{nslug}"
114
+ create_dir(dir)
115
+ xlate cwd: dir, src: sourcefile, debug: true
116
+ _deploy_local(dir)
117
+ end
118
+
102
119
  def inspect
103
120
  log!(enter: __method__)
104
121
  str = "blog: "
@@ -177,45 +194,59 @@ class RuneBlog
177
194
  Dir.exist?(DotDir) && File.exist?(DotDir + "/" + ConfigFile)
178
195
  end
179
196
 
180
- def _copy_to_staging
181
- copy!("themes/standard/", "staging/")
182
- copy!("themes/standard/widgets/", "staging/")
197
+ def make_dummy_publish_file(view_name)
198
+ log!(enter: __method__, args: [view_name])
199
+ vdir = "#@root/views/#{view_name}"
200
+ pub = [:user, :server, :docroot, :path, :proto]
201
+ pub = pub.map {|x| x.to_s + ": undefined" }
202
+ pub = pub.join("\n") + "\n"
203
+ dump(pub, "#{vdir}/publish")
183
204
  end
184
205
 
185
- def _copy_to_remote
186
- copy!("themes/standard/etc", "remote/")
187
- copy!("themes/standard/assets", "remote/")
188
- copy!("themes/standard/widgets", "remote/")
206
+ def mark_last_published(str)
207
+ log!(enter: __method__, args: [str])
208
+ dump(str, "last_published")
189
209
  end
190
210
 
191
- def create_view(arg)
192
- log!(enter: __method__, args: [arg])
193
- raise ArgumentError unless arg.is_a?(String) && ! arg.empty?
194
-
195
- names = self.views.map(&:to_s)
196
- raise ViewAlreadyExists(arg) if names.include?(arg)
197
-
198
- vdir = arg.dup
199
- raise DirAlreadyExists(vdir) if Dir.exist?(vdir)
211
+ def add_view(view_name)
212
+ log!(enter: __method__, args: [view_name])
213
+ view = RuneBlog::View.new(view_name)
214
+ @view = view # current view
215
+ @views << view # all views
216
+ view
217
+ end
200
218
 
219
+ def make_empty_view_tree(view_name)
220
+ log!(enter: __method__, args: [view_name])
201
221
  Dir.chdir(@root) do
202
222
  cmd1 = "tar zxvf empty_view.tgz >/dev/null 2>&1"
203
- cmd2 = "cp -r empty_view views/#{arg}"
223
+ cmd2 = "cp -r empty_view views/#{view_name}"
204
224
  system(cmd1)
205
225
  system(cmd2)
206
226
  end
227
+ end
207
228
 
208
- Dir.chdir("#@root/views/#{vdir}") do
209
- livetext "themes/standard/blog/generate", "remote/index"
210
- pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
211
- dump(pub, "publish")
229
+ def check_valid_new_view(view_name)
230
+ log!(enter: __method__, args: [view_name])
231
+ raise ArgumentError unless view_name.is_a?(String)
232
+ raise ArgumentError if view_name.empty?
233
+ names = self.views.map(&:to_s)
234
+ bad = names.include?(view_name)
235
+ raise ViewAlreadyExists(view_name) if bad
236
+ vdir = "@root/views/#{view_name}"
237
+ raise DirAlreadyExists(view_name) if Dir.exist?(vdir)
238
+ return true # hm?
239
+ end
212
240
 
213
- view = RuneBlog::View.new(arg)
214
- self.view = view
215
- dump("Initial creation", "last_published")
216
- end
217
- @views << view
218
- @views
241
+ def create_view(view_name)
242
+ log!(enter: __method__, args: [view_name])
243
+ check_valid_new_view(view_name)
244
+ make_empty_view_tree(view_name)
245
+ # xlate cwd: "#@root/views/#{view_name}/themes/standard/blog",
246
+ # src: "generate", dst: "../../../remote/index"
247
+ make_dummy_publish_file(view_name)
248
+ mark_last_published("Initial creation")
249
+ add_view(view_name)
219
250
  end
220
251
 
221
252
  def delete_view(name, force = false)
@@ -304,7 +335,7 @@ class RuneBlog
304
335
  def create_new_post(title, testing = false, teaser: nil, body: nil, other_views: [])
305
336
  log!(enter: __method__, args: [title, testing, teaser, body, other_views])
306
337
  meta = nil
307
- Dir.chdir(self.view.dir) do
338
+ Dir.chdir("#@root/posts/") do
308
339
  post = Post.create(title: title, teaser: teaser, body: body, other_views: other_views)
309
340
  post.edit unless testing
310
341
  post.build
@@ -322,6 +353,7 @@ class RuneBlog
322
353
  sourcefile = "#@root/drafts/#{file}"
323
354
  result = system("#@editor #{sourcefile} +8") unless testing
324
355
  raise EditorProblem(sourcefile) unless result
356
+ process_post(sourcefile)
325
357
  nil
326
358
  rescue => err
327
359
  error(err)
@@ -359,9 +391,9 @@ class RuneBlog
359
391
  def generate_view(view) # huh?
360
392
  log!(enter: __method__, args: [view])
361
393
  generate_index(view) # recent posts (recent.html)
362
- Dir.chdir(@root + "/views/#{view}/themes/standard") do
363
- livetext "blog/generate.lt3", "../../remote/index.html"
364
- end
394
+ vdir = "#@root/views/#{view}"
395
+ xlate cwd: "#{vdir}/themes/standard",
396
+ src: "blog/generate.lt3", dst: "#{vdir}/remote/index.html"
365
397
  end
366
398
 
367
399
  def _get_views(draft)
@@ -388,36 +420,69 @@ class RuneBlog
388
420
  [noext, viewdir, slugdir, aslug, theme]
389
421
  end
390
422
 
423
+ def _post_metadata(draft, pdraft)
424
+ log!(enter: __method__, args: [draft, pdraft])
425
+ title_line = File.readlines(draft).grep(/^.title /).first
426
+ title = title_line.split(" ", 2)[1]
427
+ # pdir = "
428
+ Dir.chdir(pdraft) do
429
+ excerpt = File.read("teaser.txt")
430
+ vars = %[.set title="#{title.chomp}"\n] +
431
+ %[.set teaser="#{excerpt.chomp}"]
432
+ File.open("#{pdraft}/vars.lt3", "w") {|f| f.puts vars }
433
+ end
434
+ end
435
+
436
+ def copy_widget_html(view)
437
+ log!(enter: __method__)
438
+ vdir = "#@root/views/#{view}"
439
+ remote = vdir + "/remote"
440
+ wdir = vdir + "/themes/standard/widgets"
441
+ widgets = Dir["#{wdir}/*"].select {|w| File.directory?(w) }
442
+ widgets.each do |w|
443
+ dir = File.basename(w)
444
+ rem = w.sub(/themes.standard/, "remote")
445
+ create_dirs(rem)
446
+ next unless Dir[w+"/*"].any? {|x| x =~ /html$/ }
447
+ # STDERR.puts "---- cp #{w}/*html #{rem}"
448
+ system("cp #{w}/*html #{rem}")
449
+ end
450
+ end
451
+
452
+ def _handle_post(draft, view)
453
+ log!(enter: __method__, args: [draft, view])
454
+
455
+ fname = File.basename(draft) # 0001-this-is-a-post.lt3
456
+ nslug = fname.sub(/.lt3$/, "") # 0001-this-is-a-post
457
+ aslug = nslug.sub(/\d\d\d\d-/, "") # this-is-a-post
458
+ ahtml = aslug + ".html" # this-is-a-post.html
459
+ pdraft = "#@root/posts/#{nslug}"
460
+ remote = "#@root/views/#{view}/remote"
461
+ @theme = "#@root/views/#{view}/themes/standard"
462
+ # Step 1...
463
+ create_dirs(pdraft)
464
+ xlate cwd: pdraft, src: draft, dst: "guts.html"
465
+ _post_metadata(draft, pdraft)
466
+ # Step 2...
467
+ vposts = "#@root/views/#{view}/posts/"
468
+ copy!(pdraft, vposts) # ??
469
+ # Step 3..
470
+ copy(pdraft + "/guts.html", "#@theme/post")
471
+ copy(pdraft + "/vars.lt3", "#@theme/post")
472
+ # Step 4...
473
+ xlate cwd: "#{@theme}/post", src: "generate.lt3",
474
+ dst: "#{remote}/#{ahtml}", copy: "#{@theme}/post"
475
+ xlate cwd: "#{@theme}/post", src: "permalink.lt3",
476
+ dst: "#{remote}/permalink/#{ahtml}"
477
+ copy_widget_html(view)
478
+ end
479
+
391
480
  def generate_post(draft)
392
481
  log!(enter: __method__, args: [draft])
393
482
  views = _get_views(draft)
394
- views.each do |view|
395
- noext, viewdir, slugdir, aslug, @theme = _copy_get_dirs(draft, view)
396
- remote = viewdir + "/remote"
397
- Dir.chdir(slugdir) do
398
- copy(draft, ".")
399
- lt3 = draft.split("/")[-1]
400
- # Remember: Some posts may be in more than one view -- careful with links back
401
- copy(lt3, remote)
402
- html = noext[5..-1]
403
- livetext draft, html # livetext "foobar.lt3", "foobar.html"
404
- copy(html, "../../remote/post/index.html")
405
- title_line = File.readlines(draft).grep(/^.title /).first
406
- title = title_line.split(" ", 2)[1]
407
- excerpt = File.read("teaser.txt")
408
- vars = %[.set title="#{title.chomp}"\n] +
409
- %[.set teaser="#{excerpt.chomp}"]
410
- theme = "../../theme/standard"
411
- File.open("vars.lt3", "w") {|f| f.puts vars }
412
- livetext "#{theme}/post/generate.lt3", "#{remote}/#{html}"
413
- livetext "#{theme}/post/permalink.lt3", "#{remote}/permalink/#{html}"
414
- log!(str: "About to enter remote/", pwd: true, dir: true)
415
- Dir.chdir(remote) do
416
- log!(str: "Now in remote/", pwd: true, dir: true)
417
- system("cp -r ../themes/standard/widgets .")
418
- log!(str: "finished with remote/", pwd: true, dir: true)
419
- end
420
- end
483
+ views.each do |view|
484
+ _handle_post(draft, view)
485
+ generate_view(view)
421
486
  end
422
487
  end
423
488