runeblog 0.3.34 → 0.3.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. checksums.yaml +4 -4
  2. data/data/global.lt3 +3 -3
  3. data/empty_view/global.lt3 +20 -0
  4. data/empty_view/themes/standard/banner/top.lt3 +1 -1
  5. data/empty_view/themes/standard/blog/generate.lt3 +1 -1
  6. data/empty_view/themes/standard/blog/index.lt3 +8 -4
  7. data/empty_view/themes/standard/etc/blog.css.lt3 +1 -1
  8. data/empty_view/themes/standard/post/generate.lt3 +1 -1
  9. data/empty_view/themes/standard/post/permalink.lt3 +1 -1
  10. data/lib/exceptions.rb +2 -0
  11. data/lib/helpers-blog.rb +3 -3
  12. data/lib/liveblog.rb +25 -24
  13. data/lib/lowlevel.rb +47 -0
  14. data/lib/menus.rb +2 -2
  15. data/lib/processing.rb +9 -17
  16. data/lib/publish.rb +3 -6
  17. data/lib/repl.rb +5 -9
  18. data/lib/runeblog.rb +95 -25
  19. data/lib/runeblog_version.rb +6 -2
  20. data/lib/view.rb +7 -3
  21. data/runeblog.gemspec +5 -3
  22. data/test/.blogs/data/EDITOR +1 -0
  23. data/test/.blogs/data/ROOT +1 -0
  24. data/test/.blogs/data/VERSION +2 -0
  25. data/test/.blogs/data/VIEW +1 -0
  26. data/test/.blogs/data/features.txt +18 -0
  27. data/test/.blogs/data/global.lt3 +20 -0
  28. data/test/.blogs/data/sequence +1 -0
  29. data/test/.blogs/data/universal.lt3 +20 -0
  30. data/test/.blogs/drafts/0001-whats-at-stubbs.lt3 +13 -0
  31. data/test/.blogs/drafts/0002-the-new-amphitheatre-is-overrated.lt3 +14 -0
  32. data/test/.blogs/drafts/0003-the-graffiti-wall.lt3 +42 -0
  33. data/test/.blogs/drafts/0004-the-waller-creek-project.lt3 +13 -0
  34. data/test/.blogs/drafts/0005-life-on-sabine-street.lt3 +13 -0
  35. data/test/.blogs/drafts/0006-remember-modest-mouse.lt3 +14 -0
  36. data/test/.blogs/posts/0001-whats-at-stubbs/guts.html +6 -0
  37. data/test/.blogs/posts/0001-whats-at-stubbs/metadata.txt +7 -0
  38. data/test/.blogs/posts/0001-whats-at-stubbs/teaser.txt +1 -0
  39. data/test/.blogs/posts/0002-the-new-amphitheatre-is-overrated/guts.html +6 -0
  40. data/test/.blogs/posts/0002-the-new-amphitheatre-is-overrated/metadata.txt +7 -0
  41. data/test/.blogs/posts/0002-the-new-amphitheatre-is-overrated/teaser.txt +1 -0
  42. data/test/.blogs/posts/0003-the-graffiti-wall/guts.html +6 -0
  43. data/test/.blogs/posts/0003-the-graffiti-wall/metadata.txt +7 -0
  44. data/test/.blogs/posts/0003-the-graffiti-wall/teaser.txt +1 -0
  45. data/test/.blogs/posts/0004-the-waller-creek-project/guts.html +6 -0
  46. data/test/.blogs/posts/0004-the-waller-creek-project/metadata.txt +7 -0
  47. data/test/.blogs/posts/0004-the-waller-creek-project/teaser.txt +1 -0
  48. data/test/.blogs/posts/0005-life-on-sabine-street/guts.html +6 -0
  49. data/test/.blogs/posts/0005-life-on-sabine-street/metadata.txt +7 -0
  50. data/test/.blogs/posts/0005-life-on-sabine-street/teaser.txt +1 -0
  51. data/test/.blogs/posts/0006-remember-modest-mouse/guts.html +6 -0
  52. data/test/.blogs/posts/0006-remember-modest-mouse/metadata.txt +7 -0
  53. data/test/.blogs/posts/0006-remember-modest-mouse/teaser.txt +1 -0
  54. data/test/.blogs/views/around_austin/assets/austin-pano.jpg +0 -0
  55. data/test/.blogs/views/around_austin/assets/back-icon.png +0 -0
  56. data/test/.blogs/views/around_austin/assets/reddit-logo.png +0 -0
  57. data/test/.blogs/views/around_austin/assets/sky2.jpg +0 -0
  58. data/test/.blogs/views/around_austin/config/exper/2svg.lt3 +38 -0
  59. data/test/.blogs/views/around_austin/config/exper/gen_svg.rb +60 -0
  60. data/test/.blogs/views/around_austin/config/exper/meta.html +10 -0
  61. data/test/.blogs/views/around_austin/config/exper/s2.html +25 -0
  62. data/test/.blogs/views/around_austin/config/exper/varmint.rb +50 -0
  63. data/test/.blogs/views/around_austin/config/facebook/credentials.txt +7 -0
  64. data/test/.blogs/views/around_austin/config/facebook/facebook.rb +42 -0
  65. data/test/.blogs/views/around_austin/config/facebook/fb.html +10 -0
  66. data/test/.blogs/views/around_austin/config/facebook/fb.js.lt3 +15 -0
  67. data/test/.blogs/views/around_austin/config/reddit/credentials.txt +6 -0
  68. data/test/.blogs/views/around_austin/config/reddit/notes.txt +4 -0
  69. data/test/.blogs/views/around_austin/config/reddit/reddit_post_url.py +34 -0
  70. data/test/.blogs/views/around_austin/config/reddit/redpost.rb +38 -0
  71. data/test/.blogs/views/around_austin/config/twitter/credentials.txt +3 -0
  72. data/test/.blogs/views/around_austin/config/twitter/tw.html +12 -0
  73. data/test/.blogs/views/around_austin/config/twitter/tw.js +5 -0
  74. data/test/.blogs/views/around_austin/config/twitter/twitter.rb +35 -0
  75. data/test/.blogs/views/around_austin/data/GIT_IS_DUMB +0 -0
  76. data/test/.blogs/views/around_austin/global.lt3 +20 -0
  77. data/test/.blogs/views/around_austin/last_published +1 -0
  78. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/guts.html +6 -0
  79. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/metadata.txt +7 -0
  80. data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/teaser.txt +1 -0
  81. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/guts.html +6 -0
  82. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/metadata.txt +7 -0
  83. data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/teaser.txt +1 -0
  84. data/test/.blogs/views/around_austin/posts/0003-the-graffiti-wall/guts.html +6 -0
  85. data/test/.blogs/views/around_austin/posts/0003-the-graffiti-wall/metadata.txt +7 -0
  86. data/test/.blogs/views/around_austin/posts/0003-the-graffiti-wall/teaser.txt +1 -0
  87. data/test/.blogs/views/around_austin/posts/0004-the-waller-creek-project/guts.html +6 -0
  88. data/test/.blogs/views/around_austin/posts/0004-the-waller-creek-project/metadata.txt +7 -0
  89. data/test/.blogs/views/around_austin/posts/0004-the-waller-creek-project/teaser.txt +1 -0
  90. data/test/.blogs/views/around_austin/posts/0005-life-on-sabine-street/guts.html +6 -0
  91. data/test/.blogs/views/around_austin/posts/0005-life-on-sabine-street/metadata.txt +7 -0
  92. data/test/.blogs/views/around_austin/posts/0005-life-on-sabine-street/teaser.txt +1 -0
  93. data/test/.blogs/views/around_austin/posts/0006-remember-modest-mouse/guts.html +6 -0
  94. data/test/.blogs/views/around_austin/posts/0006-remember-modest-mouse/metadata.txt +7 -0
  95. data/test/.blogs/views/around_austin/posts/0006-remember-modest-mouse/teaser.txt +1 -0
  96. data/test/.blogs/views/around_austin/posts/GIT_IS_DUMB +1 -0
  97. data/test/.blogs/views/around_austin/remote/assets/GIT_IS_DUMB +1 -0
  98. data/test/.blogs/views/around_austin/remote/banner/navbar/GIT_IS_DUMB +0 -0
  99. data/test/.blogs/views/around_austin/remote/banner/navbar/about.html +10 -0
  100. data/test/.blogs/views/around_austin/remote/banner/navbar/contact.html +10 -0
  101. data/test/.blogs/views/around_austin/remote/banner/navbar/faq.html +46 -0
  102. data/test/.blogs/views/around_austin/remote/etc/GIT_IS_DUMB +1 -0
  103. data/test/.blogs/views/around_austin/remote/etc/blog.css +66 -0
  104. data/test/.blogs/views/around_austin/remote/history +6 -0
  105. data/test/.blogs/views/around_austin/remote/life-on-sabine-street.html +2 -0
  106. data/test/.blogs/views/around_austin/remote/permalink/GIT_IS_DUMB +1 -0
  107. data/test/.blogs/views/around_austin/remote/recent.html +4 -0
  108. data/test/.blogs/views/around_austin/remote/remember-modest-mouse.html +2 -0
  109. data/test/.blogs/views/around_austin/remote/the-graffiti-wall.html +2 -0
  110. data/test/.blogs/views/around_austin/remote/the-new-amphitheatre-is-overrated.html +2 -0
  111. data/test/.blogs/views/around_austin/remote/the-waller-creek-project.html +2 -0
  112. data/test/.blogs/views/around_austin/remote/whats-at-stubbs.html +2 -0
  113. data/test/.blogs/views/around_austin/remote/widgets/ad/GIT_IS_DUMB +2 -0
  114. data/test/.blogs/views/around_austin/remote/widgets/bydates/README +2 -0
  115. data/test/.blogs/views/around_austin/remote/widgets/bydates/bydates.rb +18 -0
  116. data/test/.blogs/views/around_austin/remote/widgets/bydates/card.css +1 -0
  117. data/test/.blogs/views/around_austin/remote/widgets/bydates/custom.rb +1 -0
  118. data/test/.blogs/views/around_austin/remote/widgets/bydates/main.css +2 -0
  119. data/test/.blogs/views/around_austin/remote/widgets/links/GIT_IS_DUMB +2 -0
  120. data/test/.blogs/views/around_austin/remote/widgets/links/README +2 -0
  121. data/test/.blogs/views/around_austin/remote/widgets/links/card.css +1 -0
  122. data/test/.blogs/views/around_austin/remote/widgets/links/custom.rb +1 -0
  123. data/test/.blogs/views/around_austin/remote/widgets/links/links.rb +90 -0
  124. data/test/.blogs/views/around_austin/remote/widgets/links/list.data +3 -0
  125. data/test/.blogs/views/around_austin/remote/widgets/links/main.css +2 -0
  126. data/test/.blogs/views/around_austin/remote/widgets/news/GIT_IS_DUMB +2 -0
  127. data/test/.blogs/views/around_austin/remote/widgets/news/README +2 -0
  128. data/test/.blogs/views/around_austin/remote/widgets/news/card.css +1 -0
  129. data/test/.blogs/views/around_austin/remote/widgets/news/custom.rb +1 -0
  130. data/test/.blogs/views/around_austin/remote/widgets/news/list.data +4 -0
  131. data/test/.blogs/views/around_austin/remote/widgets/news/main.css +2 -0
  132. data/test/.blogs/views/around_austin/remote/widgets/news/news.rb +88 -0
  133. data/test/.blogs/views/around_austin/remote/widgets/pages/GIT_IS_DUMB +2 -0
  134. data/test/.blogs/views/around_austin/remote/widgets/pages/README +2 -0
  135. data/test/.blogs/views/around_austin/remote/widgets/pages/card.css +1 -0
  136. data/test/.blogs/views/around_austin/remote/widgets/pages/custom.rb +1 -0
  137. data/test/.blogs/views/around_austin/remote/widgets/pages/disclaim.lt3 +10 -0
  138. data/test/.blogs/views/around_austin/remote/widgets/pages/faq.lt3 +41 -0
  139. data/test/.blogs/views/around_austin/remote/widgets/pages/like-dislike.lt3 +11 -0
  140. data/test/.blogs/views/around_austin/remote/widgets/pages/list.data +4 -0
  141. data/test/.blogs/views/around_austin/remote/widgets/pages/local.rb +0 -0
  142. data/test/.blogs/views/around_austin/remote/widgets/pages/main.css +2 -0
  143. data/test/.blogs/views/around_austin/remote/widgets/pages/other-stuff.lt3 +10 -0
  144. data/test/.blogs/views/around_austin/remote/widgets/pages/pages.rb +130 -0
  145. data/test/.blogs/views/around_austin/remote/widgets/pinned/GIT_IS_DUMB +2 -0
  146. data/test/.blogs/views/around_austin/remote/widgets/pinned/README +2 -0
  147. data/test/.blogs/views/around_austin/remote/widgets/pinned/card.css +1 -0
  148. data/test/.blogs/views/around_austin/remote/widgets/pinned/custom.rb +1 -0
  149. data/test/.blogs/views/around_austin/remote/widgets/pinned/main.css +2 -0
  150. data/test/.blogs/views/around_austin/remote/widgets/pinned/pinned.rb +111 -0
  151. data/test/.blogs/views/around_austin/remote/widgets/search/README +2 -0
  152. data/test/.blogs/views/around_austin/remote/widgets/search/card.css +1 -0
  153. data/test/.blogs/views/around_austin/remote/widgets/search/custom.rb +1 -0
  154. data/test/.blogs/views/around_austin/remote/widgets/search/main.css +2 -0
  155. data/test/.blogs/views/around_austin/remote/widgets/search/search.rb +18 -0
  156. data/test/.blogs/views/around_austin/remote/widgets/sitemap/README +2 -0
  157. data/test/.blogs/views/around_austin/remote/widgets/sitemap/card.css +1 -0
  158. data/test/.blogs/views/around_austin/remote/widgets/sitemap/custom.rb +1 -0
  159. data/test/.blogs/views/around_austin/remote/widgets/sitemap/main.css +2 -0
  160. data/test/.blogs/views/around_austin/remote/widgets/sitemap/sitemap.rb +18 -0
  161. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/OLD-example.lt3 +12 -0
  162. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/README +2 -0
  163. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/card.css +1 -0
  164. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/custom.rb +1 -0
  165. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/main.css +2 -0
  166. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/tag-cloud.lt3 +3 -0
  167. data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/tag-cloud.rb +18 -0
  168. data/test/.blogs/views/around_austin/settings/features.txt +18 -0
  169. data/test/.blogs/views/around_austin/settings/publish.txt +5 -0
  170. data/test/.blogs/views/around_austin/settings/recent.txt +11 -0
  171. data/test/.blogs/views/around_austin/settings/view.txt +4 -0
  172. data/test/.blogs/views/around_austin/themes/standard/README +59 -0
  173. data/test/.blogs/views/around_austin/themes/standard/banner/banner.lt3 +5 -0
  174. data/test/.blogs/views/around_austin/themes/standard/banner/navbar/about.lt3 +18 -0
  175. data/test/.blogs/views/around_austin/themes/standard/banner/navbar/contact.lt3 +18 -0
  176. data/test/.blogs/views/around_austin/themes/standard/banner/navbar/faq.lt3 +1 -0
  177. data/test/.blogs/views/around_austin/themes/standard/banner/navbar/list.data +3 -0
  178. data/test/.blogs/views/around_austin/themes/standard/banner/navbar/navbar.html +10 -0
  179. data/test/.blogs/views/around_austin/themes/standard/banner/top.html +22 -0
  180. data/test/.blogs/views/around_austin/themes/standard/banner/top.lt3 +20 -0
  181. data/test/.blogs/views/around_austin/themes/standard/blog/generate.lt3 +21 -0
  182. data/test/.blogs/views/around_austin/themes/standard/blog/head.lt3 +16 -0
  183. data/test/.blogs/views/around_austin/themes/standard/blog/index.lt3 +20 -0
  184. data/test/.blogs/views/around_austin/themes/standard/blog/post_entry.lt3 +21 -0
  185. data/test/.blogs/views/around_austin/themes/standard/etc/blog.css +66 -0
  186. data/test/.blogs/views/around_austin/themes/standard/etc/blog.css.lt3 +62 -0
  187. data/test/.blogs/views/around_austin/themes/standard/etc/externals.lt3 +24 -0
  188. data/test/.blogs/views/around_austin/themes/standard/etc/favicon.ico +0 -0
  189. data/test/.blogs/views/around_austin/themes/standard/etc/github.css +209 -0
  190. data/test/.blogs/views/around_austin/themes/standard/etc/misc.js +20 -0
  191. data/test/.blogs/views/around_austin/themes/standard/post/generate.lt3 +39 -0
  192. data/test/.blogs/views/around_austin/themes/standard/post/head.lt3 +7 -0
  193. data/test/.blogs/views/around_austin/themes/standard/post/index.lt3 +24 -0
  194. data/test/.blogs/views/around_austin/themes/standard/post/permalink.lt3 +31 -0
  195. data/test/.blogs/views/around_austin/widgets/README +4 -0
  196. data/test/.blogs/views/around_austin/widgets/bydates/README +2 -0
  197. data/test/.blogs/views/around_austin/widgets/bydates/bydates.rb +18 -0
  198. data/test/.blogs/views/around_austin/widgets/bydates/card.css +1 -0
  199. data/test/.blogs/views/around_austin/widgets/bydates/custom.rb +1 -0
  200. data/test/.blogs/views/around_austin/widgets/bydates/main.css +2 -0
  201. data/test/.blogs/views/around_austin/widgets/links/README +2 -0
  202. data/test/.blogs/views/around_austin/widgets/links/card.css +1 -0
  203. data/test/.blogs/views/around_austin/widgets/links/custom.rb +1 -0
  204. data/test/.blogs/views/around_austin/widgets/links/links-card.html +18 -0
  205. data/test/.blogs/views/around_austin/widgets/links/links-main.html +13 -0
  206. data/test/.blogs/views/around_austin/widgets/links/links.rb +90 -0
  207. data/test/.blogs/views/around_austin/widgets/links/list.data +3 -0
  208. data/test/.blogs/views/around_austin/widgets/links/main.css +2 -0
  209. data/test/.blogs/views/around_austin/widgets/news/README +2 -0
  210. data/test/.blogs/views/around_austin/widgets/news/card.css +1 -0
  211. data/test/.blogs/views/around_austin/widgets/news/custom.rb +1 -0
  212. data/test/.blogs/views/around_austin/widgets/news/list.data +4 -0
  213. data/test/.blogs/views/around_austin/widgets/news/main.css +2 -0
  214. data/test/.blogs/views/around_austin/widgets/news/news.rb +88 -0
  215. data/test/.blogs/views/around_austin/widgets/pages/README +2 -0
  216. data/test/.blogs/views/around_austin/widgets/pages/card.css +1 -0
  217. data/test/.blogs/views/around_austin/widgets/pages/custom.rb +1 -0
  218. data/test/.blogs/views/around_austin/widgets/pages/disclaim.lt3 +10 -0
  219. data/test/.blogs/views/around_austin/widgets/pages/faq.lt3 +41 -0
  220. data/test/.blogs/views/around_austin/widgets/pages/like-dislike.lt3 +11 -0
  221. data/test/.blogs/views/around_austin/widgets/pages/list.data +4 -0
  222. data/test/.blogs/views/around_austin/widgets/pages/local.rb +0 -0
  223. data/test/.blogs/views/around_austin/widgets/pages/main.css +2 -0
  224. data/test/.blogs/views/around_austin/widgets/pages/other-stuff.lt3 +10 -0
  225. data/test/.blogs/views/around_austin/widgets/pages/pages.rb +130 -0
  226. data/test/.blogs/views/around_austin/widgets/pinned/README +2 -0
  227. data/test/.blogs/views/around_austin/widgets/pinned/card.css +1 -0
  228. data/test/.blogs/views/around_austin/widgets/pinned/custom.rb +1 -0
  229. data/test/.blogs/views/around_austin/widgets/pinned/main.css +2 -0
  230. data/test/.blogs/views/around_austin/widgets/pinned/pinned.rb +111 -0
  231. data/test/.blogs/views/around_austin/widgets/search/README +2 -0
  232. data/test/.blogs/views/around_austin/widgets/search/card.css +1 -0
  233. data/test/.blogs/views/around_austin/widgets/search/custom.rb +1 -0
  234. data/test/.blogs/views/around_austin/widgets/search/main.css +2 -0
  235. data/test/.blogs/views/around_austin/widgets/search/search.rb +18 -0
  236. data/test/.blogs/views/around_austin/widgets/sitemap/README +2 -0
  237. data/test/.blogs/views/around_austin/widgets/sitemap/card.css +1 -0
  238. data/test/.blogs/views/around_austin/widgets/sitemap/custom.rb +1 -0
  239. data/test/.blogs/views/around_austin/widgets/sitemap/main.css +2 -0
  240. data/test/.blogs/views/around_austin/widgets/sitemap/sitemap.rb +18 -0
  241. data/test/.blogs/views/around_austin/widgets/tag-cloud/OLD-example.lt3 +12 -0
  242. data/test/.blogs/views/around_austin/widgets/tag-cloud/README +2 -0
  243. data/test/.blogs/views/around_austin/widgets/tag-cloud/card.css +1 -0
  244. data/test/.blogs/views/around_austin/widgets/tag-cloud/custom.rb +1 -0
  245. data/test/.blogs/views/around_austin/widgets/tag-cloud/main.css +2 -0
  246. data/test/.blogs/views/around_austin/widgets/tag-cloud/tag-cloud.lt3 +3 -0
  247. data/test/.blogs/views/around_austin/widgets/tag-cloud/tag-cloud.rb +18 -0
  248. data/test/.blogs/widgets/README +4 -0
  249. data/test/.blogs/widgets/bydates/README +2 -0
  250. data/test/.blogs/widgets/bydates/bydates.rb +18 -0
  251. data/test/.blogs/widgets/bydates/card.css +1 -0
  252. data/test/.blogs/widgets/bydates/custom.rb +1 -0
  253. data/test/.blogs/widgets/bydates/main.css +2 -0
  254. data/test/.blogs/widgets/links/README +2 -0
  255. data/test/.blogs/widgets/links/card.css +1 -0
  256. data/test/.blogs/widgets/links/custom.rb +1 -0
  257. data/test/.blogs/widgets/links/links.rb +90 -0
  258. data/test/.blogs/widgets/links/list.data +3 -0
  259. data/test/.blogs/widgets/links/main.css +2 -0
  260. data/test/.blogs/widgets/news/README +2 -0
  261. data/test/.blogs/widgets/news/card.css +1 -0
  262. data/test/.blogs/widgets/news/custom.rb +1 -0
  263. data/test/.blogs/widgets/news/list.data +4 -0
  264. data/test/.blogs/widgets/news/main.css +2 -0
  265. data/test/.blogs/widgets/news/news.rb +88 -0
  266. data/test/.blogs/widgets/pages/README +2 -0
  267. data/test/.blogs/widgets/pages/card.css +1 -0
  268. data/test/.blogs/widgets/pages/custom.rb +1 -0
  269. data/test/.blogs/widgets/pages/disclaim.lt3 +10 -0
  270. data/test/.blogs/widgets/pages/faq.lt3 +41 -0
  271. data/test/.blogs/widgets/pages/like-dislike.lt3 +11 -0
  272. data/test/.blogs/widgets/pages/list.data +4 -0
  273. data/test/.blogs/widgets/pages/local.rb +0 -0
  274. data/test/.blogs/widgets/pages/main.css +2 -0
  275. data/test/.blogs/widgets/pages/other-stuff.lt3 +10 -0
  276. data/test/.blogs/widgets/pages/pages.rb +130 -0
  277. data/test/.blogs/widgets/pinned/README +2 -0
  278. data/test/.blogs/widgets/pinned/card.css +1 -0
  279. data/test/.blogs/widgets/pinned/custom.rb +1 -0
  280. data/test/.blogs/widgets/pinned/main.css +2 -0
  281. data/test/.blogs/widgets/pinned/pinned.rb +111 -0
  282. data/test/.blogs/widgets/search/README +2 -0
  283. data/test/.blogs/widgets/search/card.css +1 -0
  284. data/test/.blogs/widgets/search/custom.rb +1 -0
  285. data/test/.blogs/widgets/search/main.css +2 -0
  286. data/test/.blogs/widgets/search/search.rb +18 -0
  287. data/test/.blogs/widgets/sitemap/README +2 -0
  288. data/test/.blogs/widgets/sitemap/card.css +1 -0
  289. data/test/.blogs/widgets/sitemap/custom.rb +1 -0
  290. data/test/.blogs/widgets/sitemap/main.css +2 -0
  291. data/test/.blogs/widgets/sitemap/sitemap.rb +18 -0
  292. data/test/.blogs/widgets/tag-cloud/OLD-example.lt3 +12 -0
  293. data/test/.blogs/widgets/tag-cloud/README +2 -0
  294. data/test/.blogs/widgets/tag-cloud/card.css +1 -0
  295. data/test/.blogs/widgets/tag-cloud/custom.rb +1 -0
  296. data/test/.blogs/widgets/tag-cloud/main.css +2 -0
  297. data/test/.blogs/widgets/tag-cloud/tag-cloud.lt3 +3 -0
  298. data/test/.blogs/widgets/tag-cloud/tag-cloud.rb +18 -0
  299. data/test/austin.rb +8 -3
  300. data/test/binblog.txt +2 -0
  301. data/test/stderr.out +0 -0
  302. metadata +290 -10
@@ -1,10 +1,14 @@
1
1
  if !defined?(RuneBlog::Path)
2
2
 
3
+ require 'pathname'
4
+
3
5
  class RuneBlog
4
- VERSION = "0.3.34"
6
+ VERSION = "0.3.36"
5
7
 
6
8
  path = Gem.find_files("runeblog").grep(/runeblog-/).first
7
- Path = File.dirname(path)
9
+ path ||= Pathname(__FILE__).realpath.dirname.to_s
10
+
11
+ Path = File.dirname(path) # inside gem or dev repo
8
12
  end
9
13
 
10
14
  # skeleton
data/lib/view.rb CHANGED
@@ -12,10 +12,11 @@ class RuneBlog::View
12
12
  @blog = RuneBlog.blog
13
13
  @name = name
14
14
  @publisher = RuneBlog::Publishing.new(name)
15
- # puts "view #{name}: pub = #{@publisher.inspect}"
16
15
  @can_publish = true # FIXME
17
16
  # @blog.view = self # NOOOO??
18
17
  get_globals
18
+ rescue => err
19
+ fatal(err)
19
20
  end
20
21
 
21
22
  def dump_globals_stderr
@@ -30,13 +31,14 @@ class RuneBlog::View
30
31
  end
31
32
  STDERR.puts
32
33
  log!(str: "")
34
+ rescue => err
35
+ fatal(err)
33
36
  end
34
37
 
35
38
  def get_globals(force = false)
36
39
  return if @globals && !force
37
40
 
38
- # gfile = @blog.root/"views/#@name/themes/standard/global.lt3"
39
- gfile = @blog.root/"views/#@name/data/global.lt3"
41
+ gfile = @blog.root/"views/#@name/global.lt3"
40
42
  return unless File.exist?(gfile) # Hackish!! how is View.new called from create_view??
41
43
 
42
44
  live = Livetext.customize(call: ".nopara")
@@ -45,6 +47,8 @@ class RuneBlog::View
45
47
  live.setvar("View", @name)
46
48
  @globals = live.vars
47
49
  # dump_globals_stderr
50
+ rescue => err
51
+ fatal(err)
48
52
  end
49
53
 
50
54
  def dir
data/runeblog.gemspec CHANGED
@@ -7,6 +7,8 @@ require "runeblog_version"
7
7
 
8
8
  Gem.post_install do |spec|
9
9
  Dir.chdir(RuneBlog::Path)
10
+ # FIXME - depends on livetext being installed
11
+ # How to deal with this??
10
12
  system("livetext -i liveblog.rb")
11
13
  system("livetext -i code_rouge.rb")
12
14
  end
@@ -21,11 +23,11 @@ spec = Gem::Specification.new do |s|
21
23
  s.authors = ["Hal Fulton"]
22
24
  s.email = 'rubyhacker@gmail.com'
23
25
  s.executables << "blog"
24
- s.add_runtime_dependency 'livetext', '~> 0.9', '>= 0.9.43'
25
- s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.23'
26
+ s.add_runtime_dependency 'livetext', '~> 0.9', '>= 0.9.45'
27
+ s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.27'
26
28
  s.add_runtime_dependency 'rouge', '~> 3.25', '>= 3.25.0'
27
29
 
28
- s.add_development_dependency 'minitest', '~> 5.10', '>= 5.10.0'
30
+ s.add_development_dependency 'minitest', '~> 5.20', '>= 5.20.0'
29
31
 
30
32
  # Files...
31
33
  main = Find.find("bin").to_a +
@@ -0,0 +1 @@
1
+ /usr/local/bin/vim
@@ -0,0 +1 @@
1
+ /Users/Hal/Dropbox/topx/git/runeblog/test/.blogs
@@ -0,0 +1,2 @@
1
+ 0.3.35
2
+ Blog created: 2024-05-21 17:50:33 -0500
@@ -0,0 +1 @@
1
+ around_austin
@@ -0,0 +1,18 @@
1
+ # 0 = disabled (installed but disabled)
2
+ # 1 = enabled (implies installed)
3
+ # x = excluded (not installed; does it even exist?)
4
+
5
+ reddit 0 # autopost, embed thread after blog post
6
+ facebook 0 # reader-like, reader post, autopost?
7
+ twitter 0 # reader-tweet, reader-follow, autotweet?
8
+
9
+ links 1 # widget: external links
10
+ news 1 # widget: news (external)
11
+ pages 1 # widget: internal pages
12
+ pinned 1 # widget: pinned posts
13
+
14
+ ad x # widget: embed advertising
15
+ bydates x # widget: browse posts by date
16
+ search x # widget: search posts
17
+ sitemap x # widget: site map
18
+ tag_cloud x # widget: tag cloud (clickable)
@@ -0,0 +1,20 @@
1
+ . --------------------------------------------------
2
+ . Global settings are stored here in the form
3
+ . <variable> <value>
4
+ . --------------------------------------------------
5
+
6
+ .variables view settings/view.txt
7
+
8
+ .variables recent settings/recent.txt
9
+
10
+ .variables publish settings/publish.txt
11
+
12
+ .variables
13
+ host http://SITE
14
+ charset utf-8
15
+ url http://SITE
16
+ locale en_US
17
+
18
+ font.family verdana
19
+ .end
20
+
@@ -0,0 +1 @@
1
+ 6
@@ -0,0 +1,20 @@
1
+ . "Universal" settings -- new defaults for global.lt3
2
+ . work in progress - defaults for each global.lt3
3
+
4
+ . --------------------------------------------------
5
+ . Global settings are stored here in the form
6
+ . <variable> <value>
7
+ . --------------------------------------------------
8
+ .nopara
9
+
10
+ .set Root=REPO_ROOT
11
+
12
+ .variables
13
+ univ.author AUTHOR
14
+ univ.site SITE_DOMAIN
15
+
16
+ font.family verdana
17
+
18
+ charset utf-8
19
+ locale en_US
20
+ .end
@@ -0,0 +1,13 @@
1
+ .post 1
2
+
3
+ .title What's at Stubbs...
4
+ .pubdate 2024-05-01
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ Stubbs has been around for longer than civilization.
10
+
11
+ .end
12
+ That's a good thing. But their music isn't always the greatest.
13
+
@@ -0,0 +1,14 @@
1
+ .post 2
2
+
3
+ .title The new amphitheatre is overrated
4
+ .pubdate 2024-05-03
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ It used to be that all major concerts played the Erwin Center.
10
+
11
+ .end
12
+ .pin around_austin
13
+ Now, depending on what you consider "major," blah blah blah...
14
+
@@ -0,0 +1,42 @@
1
+ .post 3
2
+
3
+ .title The graffiti wall
4
+ .pubdate 2024-05-05
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ RIP, Hope Gallery
10
+
11
+ .end
12
+
13
+ .dropcap It's been a while since I was there. They say it was torn down
14
+ while I wasn't looking. Never tagged anything there, of course, nor
15
+ anywhere else. Spraypainting public places isn't my thing, but in this
16
+ case I condoned it because it was sort of there for that purpose.
17
+
18
+ This fake entry is a long one so as to demonstrate both drop-caps
19
+ (above) and an inset quote. Blah blah blah. Lorem ipsum dolor and
20
+ a partridge in a pear tree.
21
+
22
+ .inset left 20
23
+ Wherever you go, there you are. Last night I saw upon the stair
24
+ a little man who was not there. He wasn't there again today; I
25
+ wish, I wish he'd go away. As far as we know, our computer has
26
+ never had an undetected error.
27
+ |On a clean disk, you can seek forever.
28
+ And never let it be denied that
29
+ pobbles are happier without their toes. And may your snark never
30
+ be a boojum. How do you know you aren't dreaming right now? When
31
+ you see a butterfly, think of Chuang Tzu.
32
+ .end
33
+
34
+ Contact light. Houston, this is Tranquility Base. The Eagle has
35
+ landed. That's one small step for (a) man, one giant leap for
36
+ mankind.
37
+
38
+ Here's the PDF of $$link["Ruby for the Old-Time C Programmer"|http://rubyhacker.com/blog2/rubydino.pdf]
39
+
40
+ Pity this busy monster, manunkind, not. Pity rather... Listen:
41
+ There's a hell of a universe next door; let's go.
42
+
@@ -0,0 +1,13 @@
1
+ .post 4
2
+
3
+ .title The Waller Creek project
4
+ .pubdate 2024-05-07
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ Will it ever be finished?
10
+
11
+ .end
12
+ Blah blah Waller Creek blah blah...
13
+
@@ -0,0 +1,13 @@
1
+ .post 5
2
+
3
+ .title Life on Sabine Street
4
+ .pubdate 2024-05-08
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ It's like Pooh Corner, except not.
10
+
11
+ .end
12
+ This is about Sabine St, blah blah lorem ipsum dolor...
13
+
@@ -0,0 +1,14 @@
1
+ .post 6
2
+
3
+ .title Remember Modest Mouse?
4
+ .pubdate 2024-05-10
5
+ .views around_austin
6
+ .tags
7
+
8
+ .teaser
9
+ They date to the 90s or before.
10
+
11
+ .end
12
+ But I first heard of them
13
+ in 2005.
14
+
@@ -0,0 +1,6 @@
1
+ <!-- Post number 1 -->
2
+
3
+ <p>
4
+
5
+ Stubbs has been around for longer than civilization.
6
+
@@ -0,0 +1,7 @@
1
+ num 1
2
+ title What's at Stubbs...
3
+ date 2024-05-01
4
+ pubdate 2024-05-01
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ Stubbs has been around for longer than civilization.
@@ -0,0 +1,6 @@
1
+ <!-- Post number 2 -->
2
+
3
+ <p>
4
+
5
+ It used to be that all major concerts played the Erwin Center.
6
+
@@ -0,0 +1,7 @@
1
+ num 2
2
+ title The new amphitheatre is overrated
3
+ date 2024-05-03
4
+ pubdate 2024-05-03
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ It used to be that all major concerts played the Erwin Center.
@@ -0,0 +1,6 @@
1
+ <!-- Post number 3 -->
2
+
3
+ <p>
4
+
5
+ RIP, Hope Gallery
6
+
@@ -0,0 +1,7 @@
1
+ num 3
2
+ title The graffiti wall
3
+ date 2024-05-05
4
+ pubdate 2024-05-05
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ RIP, Hope Gallery
@@ -0,0 +1,6 @@
1
+ <!-- Post number 4 -->
2
+
3
+ <p>
4
+
5
+ Will it ever be finished?
6
+
@@ -0,0 +1,7 @@
1
+ num 4
2
+ title The Waller Creek project
3
+ date 2024-05-07
4
+ pubdate 2024-05-07
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ Will it ever be finished?
@@ -0,0 +1,6 @@
1
+ <!-- Post number 5 -->
2
+
3
+ <p>
4
+
5
+ It's like Pooh Corner, except not.
6
+
@@ -0,0 +1,7 @@
1
+ num 5
2
+ title Life on Sabine Street
3
+ date 2024-05-08
4
+ pubdate 2024-05-08
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ It's like Pooh Corner, except not.
@@ -0,0 +1,6 @@
1
+ <!-- Post number 6 -->
2
+
3
+ <p>
4
+
5
+ They date to the 90s or before.
6
+
@@ -0,0 +1,7 @@
1
+ num 6
2
+ title Remember Modest Mouse?
3
+ date 2024-05-10
4
+ pubdate 2024-05-10
5
+ views around_austin
6
+ tags
7
+ pinned
@@ -0,0 +1 @@
1
+ They date to the 90s or before.
@@ -0,0 +1,38 @@
1
+ .nopara
2
+ .variables
3
+ blog Around Austin
4
+ blog.desc The view from downtown
5
+
6
+ viewbox.wide 550
7
+ viewbox.high 90
8
+
9
+ rect.wide 550
10
+ rect.high 90
11
+ rect.fill blue
12
+
13
+ title.font bold 58px sans-serif
14
+ title.fill white
15
+ title.xoff 280
16
+ title.yoff 55
17
+
18
+ subtitle.font italic 24px sans-serif
19
+ subtitle.fill lightblue
20
+ subtitle.xoff 280
21
+ subtitle.yoff 80
22
+ .end
23
+
24
+ <svg width=$viewbox.wide height=$viewbox.high
25
+ viewBox="0 0 $viewbox.wide $viewbox.high"
26
+ xmlns="http://www.w3.org/2000/svg">
27
+ <style>
28
+ .subtitle { font: $subtitle.font; fill: $subtitle.fill }
29
+ .title { font: $title.font; fill: $title.fill }
30
+ </style>
31
+
32
+ <rect x="0" y="0" rx="10" ry="10" width="$rect.wide" height="$rect.high" fill="$rect.fill"/>
33
+
34
+ <text text-anchor="middle" x=$title.xoff y=$title.yoff class=title>$blog</text>
35
+ <text text-anchor="middle" x=$subtitle.xoff y=$subtitle.yoff class=subtitle>$blog.desc</text>
36
+ </svg>
37
+ <br>
38
+ Here we are
@@ -0,0 +1,60 @@
1
+ width = 550
2
+ title = "My Stuff" # 13 -> 58, 8 -> 13/8 * 58
3
+ sub = "I always wanted a place for it" # 22 -> 24, 31 -> 15
4
+
5
+ tlen, slen = title.length, sub.length
6
+ tfont = 58
7
+ sfont = 18
8
+
9
+ =begin
10
+ .svg_titles
11
+ title style: bold size: 20px face: sans-serif color: white
12
+ title2 italic 10px sans-serif
13
+ width 550
14
+ height 90
15
+ bgcolor blue
16
+ title_xy 82 55 left
17
+ title2_xy 210 80
18
+ .end
19
+ =end
20
+
21
+ puts <<-EOS
22
+ .nopara
23
+ .variables
24
+ blog #{title}
25
+ blog.desc #{sub}
26
+
27
+ viewbox.wide 550
28
+ viewbox.high 90
29
+
30
+ rect.wide 550
31
+ rect.high 90
32
+ rect.fill blue
33
+
34
+ title.font bold #{tfont}px sans-serif
35
+ title.fill white
36
+ title.xoff 82
37
+ title.yoff 55
38
+
39
+ subtitle.font italic #{sfont}px sans-serif
40
+ subtitle.fill lightblue
41
+ subtitle.xoff 210
42
+ subtitle.yoff 80
43
+ .end
44
+
45
+ <svg width=$viewbox.wide height=$viewbox.high
46
+ viewBox="0 0 $viewbox.wide $viewbox.high"
47
+ xmlns="http://www.w3.org/2000/svg">
48
+ <style>
49
+ .subtitle { font: $subtitle.font; fill: $subtitle.fill }
50
+ .title { font: $title.font; fill: $title.fill }
51
+ </style>
52
+
53
+ <rect x="0" y="0" rx="10" ry="10" width="$rect.wide" height="$rect.high" fill="$rect.fill"/>
54
+
55
+ <text x=$title.xoff y=$title.yoff class=title>$blog</text>
56
+ <text x=$subtitle.xoff y=$subtitle.yoff class=subtitle>$blog.desc</text>
57
+ </svg>
58
+ <br>
59
+ Here we are
60
+ EOS
@@ -0,0 +1,10 @@
1
+
2
+ <!-- meta tags: separate out? -->
3
+
4
+ <!-- meta property='fb:admins' content='767352779' /> -->
5
+ <meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
6
+ <meta property='og:type' content='article'/>
7
+ <meta property='og:title' content='#{title}'/>
8
+ <meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
9
+ <meta property='og:description' content='#{teaser}'/>
10
+
@@ -0,0 +1,25 @@
1
+ <table>
2
+ <tr>
3
+ <td wudth=300>
4
+ <h1>And here we are...</h1>
5
+ </td>
6
+
7
+ <td>
8
+ <svg width=550 height=90
9
+ viewBox="0 0 550 90"
10
+ xmlns="http://www.w3.org/2000/svg">
11
+ <style>
12
+ .subtitle { font: italic 24px sans-serif; fill: lightblue }
13
+ .title { font: bold 58px sans-serif; fill: white }
14
+ </style>
15
+
16
+ <rect x="0" y="0" rx="10" ry="10" width="550" height="90" fill="blue"/>
17
+
18
+ <text text-anchor="middle" x=280 y=55 class=title>Around Austin</text>
19
+ <text text-anchor="middle" x=280 y=80 class=subtitle>The view from downtown</text>
20
+ </svg>
21
+ </td>
22
+ </tr>
23
+ <table>
24
+ <br>
25
+ Here we are
@@ -0,0 +1,50 @@
1
+ require 'ostruct'
2
+
3
+ class OpenStruct
4
+ def to_s
5
+ "[not a value]"
6
+ end
7
+
8
+ def inspect
9
+ to_s
10
+ end
11
+ end
12
+
13
+ class OpenVar
14
+
15
+ def initialize
16
+ @hash = {}
17
+ @obj = OpenStruct.new
18
+ end
19
+
20
+ def [](var)
21
+ puts "self = #{self.inspect}"
22
+ # @hash[var] = nil
23
+ pieces = var.split(".")
24
+ this = @obj
25
+ pieces.each do |piece|
26
+ puts "piece = #{piece}"
27
+ # this.send(piece.to_s+"=", OpenStruct.new)
28
+ this = this.send(piece)
29
+ puts "this = #{this.inspect}"
30
+ end
31
+ this
32
+ end
33
+
34
+ def method_missing(meth, *args)
35
+ setter = meth.to_s + "="
36
+ meh = @obj.send(setter, OpenStruct.new)
37
+ @obj
38
+ end
39
+
40
+
41
+ end
42
+
43
+ var = OpenVar.new
44
+
45
+ var.foo.bar = 237
46
+
47
+ puts var.foo.inspect
48
+ puts var.foo.bar.inspect
49
+
50
+ puts var["foo.bar"]
@@ -0,0 +1,7 @@
1
+ admins 767352779
2
+ appid 1176481582378716
3
+ version v2.4
4
+ xfbml true
5
+ share true
6
+ width 450
7
+ faces true
@@ -0,0 +1,42 @@
1
+ class Livetext::Functions
2
+
3
+ def facebook_init
4
+ fb_appid = _var("facebook.appid")
5
+ xfbml = _var("facebook.xfbml")
6
+ ver = _var("facebook.version")
7
+ width = _var("facebook.width")
8
+ share = _var("facebook.share")
9
+ faces = _var("facebook.faces")
10
+ <<~HTML
11
+ window.fbAsyncInit = function() {
12
+ FB.init({
13
+ appId : '#{fb_appid}',
14
+ xfbml : #{xfbml},
15
+ version : '#{ver}'
16
+ });
17
+ };
18
+ HTML
19
+ end
20
+
21
+ =begin
22
+ <!-- Needed:
23
+ <meta property='fb:admins' content='$facebook.admins'/>
24
+ <meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
25
+ <meta property='og:type' content='article'/>
26
+ <meta property='og:title' content='#{title}'/>
27
+ <meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
28
+ <meta property='og:description' content='#{teaser}'/>
29
+ -->
30
+ =end
31
+
32
+ def facebook_likes
33
+ <<~HTML
34
+ <div class='fb-like'
35
+ data-share='#{share}'
36
+ data-width='#{width}'
37
+ data-show-faces='#{faces}'>
38
+ </div>
39
+ HTML
40
+ end
41
+
42
+ end
@@ -0,0 +1,10 @@
1
+
2
+ <!-- facebook -->
3
+
4
+ <div
5
+ class='fb-like'
6
+ data-share='true'
7
+ data-width='450'
8
+ data-show-faces='true'>
9
+ </div>
10
+