runeblog 0.1.96 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/helpers-blog.rb +17 -4
- data/lib/liveblog.rb +119 -71
- data/lib/runeblog.rb +11 -10
- data/lib/runeblog_version.rb +1 -1
- data/runeblog.gemspec +1 -1
- data/test/.blogs/VERSION +2 -0
- data/test/.blogs/config +3 -0
- data/test/.blogs/drafts/0001-whats-at-stubbs.lt3 +16 -0
- data/test/.blogs/drafts/0002-the-new-amphitheatre-is-overrated.lt3 +16 -0
- data/test/.blogs/drafts/0003-elixir-conf-coming-up.lt3 +17 -0
- data/test/.blogs/drafts/0004-does-indie-still-matter.lt3 +16 -0
- data/test/.blogs/drafts/0005-the-genius-of-scenic.lt3 +16 -0
- data/test/.blogs/drafts/0006-the-future-of-coding.lt3 +16 -0
- data/test/.blogs/drafts/0007-the-graffiti-wall.lt3 +17 -0
- data/test/.blogs/drafts/0008-the-waller-creek-project.lt3 +16 -0
- data/test/.blogs/drafts/0009-life-on-sabine-street.lt3 +16 -0
- data/test/.blogs/drafts/0010-remember-modest-mouse.lt3 +17 -0
- data/test/.blogs/sequence +1 -0
- data/test/.blogs/views/around_austin/last_published +1 -0
- data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/0001-whats-at-stubbs.lt3 +16 -0
- data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/metadata.txt +6 -0
- data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/teaser.txt +1 -0
- data/test/.blogs/views/around_austin/posts/0001-whats-at-stubbs/whats-at-stubbs.html +11 -0
- data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/0002-the-new-amphitheatre-is-overrated.lt3 +16 -0
- data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/metadata.txt +6 -0
- data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/teaser.txt +1 -0
- data/test/.blogs/views/around_austin/posts/0002-the-new-amphitheatre-is-overrated/the-new-amphitheatre-is-overrated.html +11 -0
- data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/0007-the-graffiti-wall.lt3 +17 -0
- data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/metadata.txt +6 -0
- data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/teaser.txt +1 -0
- data/test/.blogs/views/around_austin/posts/0007-the-graffiti-wall/the-graffiti-wall.html +12 -0
- data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/0008-the-waller-creek-project.lt3 +16 -0
- data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/metadata.txt +6 -0
- data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/teaser.txt +1 -0
- data/test/.blogs/views/around_austin/posts/0008-the-waller-creek-project/the-waller-creek-project.html +11 -0
- data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/0009-life-on-sabine-street.lt3 +16 -0
- data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/life-on-sabine-street.html +11 -0
- data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/metadata.txt +6 -0
- data/test/.blogs/views/around_austin/posts/0009-life-on-sabine-street/teaser.txt +1 -0
- data/test/.blogs/views/around_austin/publish +5 -0
- data/test/.blogs/views/around_austin/remote/etc/blog.css +34 -0
- data/test/.blogs/views/around_austin/remote/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/around_austin/remote/etc/externals.lt3 +19 -0
- data/test/.blogs/views/around_austin/remote/etc/favicon.ico +0 -0
- data/test/.blogs/views/around_austin/remote/etc/misc.js +6 -0
- data/test/.blogs/views/around_austin/remote/life-on-sabine-street.html +10 -0
- data/test/.blogs/views/around_austin/remote/permalink/life-on-sabine-street.html +10 -0
- data/test/.blogs/views/around_austin/remote/permalink/the-graffiti-wall.html +10 -0
- data/test/.blogs/views/around_austin/remote/permalink/the-new-amphitheatre-is-overrated.html +50 -0
- data/test/.blogs/views/around_austin/remote/permalink/the-waller-creek-project.html +50 -0
- data/test/.blogs/views/around_austin/remote/permalink/whats-at-stubbs.html +50 -0
- data/test/.blogs/views/around_austin/remote/recent.html +104 -0
- data/test/.blogs/views/around_austin/remote/the-graffiti-wall.html +10 -0
- data/test/.blogs/views/around_austin/remote/the-new-amphitheatre-is-overrated.html +50 -0
- data/test/.blogs/views/around_austin/remote/the-waller-creek-project.html +50 -0
- data/test/.blogs/views/around_austin/remote/whats-at-stubbs.html +50 -0
- data/test/.blogs/views/around_austin/remote/widgets/README +4 -0
- data/test/.blogs/views/around_austin/remote/widgets/ad/ad.lt3 +12 -0
- data/{themes/standard/sidebar → test/.blogs/views/around_austin/remote/widgets/calendar}/calendar.lt3 +0 -0
- data/test/.blogs/views/around_austin/remote/widgets/news/list.data +4 -0
- data/test/.blogs/views/around_austin/remote/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/README +2 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/list.data +4 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/main.html +9 -0
- data/test/.blogs/views/around_austin/remote/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/around_austin/remote/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/around_austin/staging/0001-whats-at-stubbs.lt3 +16 -0
- data/test/.blogs/views/around_austin/staging/0002-the-new-amphitheatre-is-overrated.lt3 +16 -0
- data/test/.blogs/views/around_austin/staging/0007-the-graffiti-wall.lt3 +17 -0
- data/test/.blogs/views/around_austin/staging/0008-the-waller-creek-project.lt3 +16 -0
- data/test/.blogs/views/around_austin/staging/0009-life-on-sabine-street.lt3 +16 -0
- data/test/.blogs/views/around_austin/staging/README +59 -0
- data/test/.blogs/views/around_austin/staging/blog/generate.lt3 +17 -0
- data/test/.blogs/views/around_austin/staging/blog/head.lt3 +9 -0
- data/test/.blogs/views/around_austin/staging/blog/index.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/around_austin/staging/etc/blog.css +34 -0
- data/test/.blogs/views/around_austin/staging/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/around_austin/staging/etc/externals.lt3 +19 -0
- data/test/.blogs/views/around_austin/staging/etc/favicon.ico +0 -0
- data/test/.blogs/views/around_austin/staging/etc/misc.js +6 -0
- data/test/.blogs/views/around_austin/staging/global.lt3 +22 -0
- data/test/.blogs/views/around_austin/staging/life-on-sabine-street.html +10 -0
- data/test/.blogs/views/around_austin/staging/navbar/about.html +6 -0
- data/test/.blogs/views/around_austin/staging/navbar/contact.html +6 -0
- data/test/.blogs/views/around_austin/staging/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/post/generate.lt3 +26 -0
- data/test/.blogs/views/around_austin/staging/post/head.lt3 +4 -0
- data/test/.blogs/views/around_austin/staging/post/index.html +16 -0
- data/test/.blogs/views/around_austin/staging/post/index.lt3 +16 -0
- data/test/.blogs/views/around_austin/staging/post/permalink.lt3 +26 -0
- data/test/.blogs/views/around_austin/staging/recent.html +104 -0
- data/test/.blogs/views/around_austin/staging/sidebar/README +3 -0
- data/test/.blogs/views/around_austin/staging/the-graffiti-wall.html +10 -0
- data/test/.blogs/views/around_austin/staging/the-new-amphitheatre-is-overrated.html +50 -0
- data/test/.blogs/views/around_austin/staging/the-waller-creek-project.html +50 -0
- data/test/.blogs/views/around_austin/staging/vars.lt3 +2 -0
- data/test/.blogs/views/around_austin/staging/whats-at-stubbs.html +50 -0
- data/test/.blogs/views/around_austin/staging/widgets/README +4 -0
- data/test/.blogs/views/around_austin/staging/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/around_austin/staging/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/widgets/news/list.data +4 -0
- data/test/.blogs/views/around_austin/staging/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/README +2 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/list.data +4 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/main.html +9 -0
- data/test/.blogs/views/around_austin/staging/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/around_austin/staging/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/around_austin/themes/standard/README +59 -0
- data/test/.blogs/views/around_austin/themes/standard/blog/generate.lt3 +17 -0
- data/test/.blogs/views/around_austin/themes/standard/blog/head.lt3 +9 -0
- data/test/.blogs/views/around_austin/themes/standard/blog/index.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/around_austin/themes/standard/etc/blog.css +34 -0
- data/test/.blogs/views/around_austin/themes/standard/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/around_austin/themes/standard/etc/externals.lt3 +19 -0
- data/test/.blogs/views/around_austin/themes/standard/etc/favicon.ico +0 -0
- data/test/.blogs/views/around_austin/themes/standard/etc/misc.js +6 -0
- data/test/.blogs/views/around_austin/themes/standard/global.lt3 +22 -0
- data/test/.blogs/views/around_austin/themes/standard/navbar/about.html +6 -0
- data/test/.blogs/views/around_austin/themes/standard/navbar/contact.html +6 -0
- data/test/.blogs/views/around_austin/themes/standard/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/post/generate.lt3 +26 -0
- data/test/.blogs/views/around_austin/themes/standard/post/head.lt3 +4 -0
- data/test/.blogs/views/around_austin/themes/standard/post/index.lt3 +16 -0
- data/test/.blogs/views/around_austin/themes/standard/post/permalink.lt3 +26 -0
- data/test/.blogs/views/around_austin/themes/standard/sidebar/README +3 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/README +4 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/news/list.data +4 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/README +2 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/list.data +4 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/main.html +9 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/around_austin/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/computing/last_published +1 -0
- data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/0003-elixir-conf-coming-up.lt3 +17 -0
- data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/elixir-conf-coming-up.html +12 -0
- data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/metadata.txt +6 -0
- data/test/.blogs/views/computing/posts/0003-elixir-conf-coming-up/teaser.txt +1 -0
- data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/0005-the-genius-of-scenic.lt3 +16 -0
- data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/metadata.txt +6 -0
- data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/teaser.txt +1 -0
- data/test/.blogs/views/computing/posts/0005-the-genius-of-scenic/the-genius-of-scenic.html +11 -0
- data/test/.blogs/views/computing/posts/0006-the-future-of-coding/0006-the-future-of-coding.lt3 +16 -0
- data/test/.blogs/views/computing/posts/0006-the-future-of-coding/metadata.txt +6 -0
- data/test/.blogs/views/computing/posts/0006-the-future-of-coding/teaser.txt +1 -0
- data/test/.blogs/views/computing/posts/0006-the-future-of-coding/the-future-of-coding.html +11 -0
- data/test/.blogs/views/computing/publish +5 -0
- data/test/.blogs/views/computing/remote/elixir-conf-coming-up.html +51 -0
- data/test/.blogs/views/computing/remote/etc/blog.css +34 -0
- data/test/.blogs/views/computing/remote/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/computing/remote/etc/externals.lt3 +19 -0
- data/test/.blogs/views/computing/remote/etc/favicon.ico +0 -0
- data/test/.blogs/views/computing/remote/etc/misc.js +6 -0
- data/test/.blogs/views/computing/remote/permalink/elixir-conf-coming-up.html +51 -0
- data/test/.blogs/views/computing/remote/permalink/the-future-of-coding.html +50 -0
- data/test/.blogs/views/computing/remote/permalink/the-genius-of-scenic.html +50 -0
- data/test/.blogs/views/computing/remote/recent.html +64 -0
- data/test/.blogs/views/computing/remote/the-future-of-coding.html +50 -0
- data/test/.blogs/views/computing/remote/the-genius-of-scenic.html +50 -0
- data/test/.blogs/views/computing/remote/widgets/README +4 -0
- data/test/.blogs/views/computing/remote/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/computing/remote/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/computing/remote/widgets/news/list.data +4 -0
- data/test/.blogs/views/computing/remote/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/computing/remote/widgets/pages/README +2 -0
- data/test/.blogs/views/computing/remote/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/computing/remote/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/computing/remote/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/computing/remote/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/computing/remote/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/computing/remote/widgets/pages/list.data +4 -0
- data/test/.blogs/views/computing/remote/widgets/pages/main.html +9 -0
- data/test/.blogs/views/computing/remote/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/computing/remote/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/computing/staging/0003-elixir-conf-coming-up.lt3 +17 -0
- data/test/.blogs/views/computing/staging/0005-the-genius-of-scenic.lt3 +16 -0
- data/test/.blogs/views/computing/staging/0006-the-future-of-coding.lt3 +16 -0
- data/test/.blogs/views/computing/staging/README +59 -0
- data/test/.blogs/views/computing/staging/blog/generate.lt3 +17 -0
- data/test/.blogs/views/computing/staging/blog/head.lt3 +9 -0
- data/test/.blogs/views/computing/staging/blog/index.lt3 +6 -0
- data/test/.blogs/views/computing/staging/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/computing/staging/elixir-conf-coming-up.html +51 -0
- data/test/.blogs/views/computing/staging/etc/blog.css +34 -0
- data/test/.blogs/views/computing/staging/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/computing/staging/etc/externals.lt3 +19 -0
- data/test/.blogs/views/computing/staging/etc/favicon.ico +0 -0
- data/test/.blogs/views/computing/staging/etc/misc.js +6 -0
- data/test/.blogs/views/computing/staging/global.lt3 +22 -0
- data/test/.blogs/views/computing/staging/navbar/about.html +6 -0
- data/test/.blogs/views/computing/staging/navbar/contact.html +6 -0
- data/test/.blogs/views/computing/staging/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/computing/staging/post/generate.lt3 +26 -0
- data/test/.blogs/views/computing/staging/post/head.lt3 +4 -0
- data/test/.blogs/views/computing/staging/post/index.html +16 -0
- data/test/.blogs/views/computing/staging/post/index.lt3 +16 -0
- data/test/.blogs/views/computing/staging/post/permalink.lt3 +26 -0
- data/test/.blogs/views/computing/staging/recent.html +64 -0
- data/test/.blogs/views/computing/staging/sidebar/README +3 -0
- data/test/.blogs/views/computing/staging/the-future-of-coding.html +50 -0
- data/test/.blogs/views/computing/staging/the-genius-of-scenic.html +50 -0
- data/test/.blogs/views/computing/staging/vars.lt3 +2 -0
- data/test/.blogs/views/computing/staging/widgets/README +4 -0
- data/test/.blogs/views/computing/staging/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/computing/staging/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/computing/staging/widgets/news/list.data +4 -0
- data/test/.blogs/views/computing/staging/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/computing/staging/widgets/pages/README +2 -0
- data/test/.blogs/views/computing/staging/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/computing/staging/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/computing/staging/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/computing/staging/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/computing/staging/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/computing/staging/widgets/pages/list.data +4 -0
- data/test/.blogs/views/computing/staging/widgets/pages/main.html +9 -0
- data/test/.blogs/views/computing/staging/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/computing/staging/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/computing/themes/standard/README +59 -0
- data/test/.blogs/views/computing/themes/standard/blog/generate.lt3 +17 -0
- data/test/.blogs/views/computing/themes/standard/blog/head.lt3 +9 -0
- data/test/.blogs/views/computing/themes/standard/blog/index.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/computing/themes/standard/etc/blog.css +34 -0
- data/test/.blogs/views/computing/themes/standard/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/computing/themes/standard/etc/externals.lt3 +19 -0
- data/test/.blogs/views/computing/themes/standard/etc/favicon.ico +0 -0
- data/test/.blogs/views/computing/themes/standard/etc/misc.js +6 -0
- data/test/.blogs/views/computing/themes/standard/global.lt3 +22 -0
- data/test/.blogs/views/computing/themes/standard/navbar/about.html +6 -0
- data/test/.blogs/views/computing/themes/standard/navbar/contact.html +6 -0
- data/test/.blogs/views/computing/themes/standard/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/post/generate.lt3 +26 -0
- data/test/.blogs/views/computing/themes/standard/post/head.lt3 +4 -0
- data/test/.blogs/views/computing/themes/standard/post/index.lt3 +16 -0
- data/test/.blogs/views/computing/themes/standard/post/permalink.lt3 +26 -0
- data/test/.blogs/views/computing/themes/standard/sidebar/README +3 -0
- data/test/.blogs/views/computing/themes/standard/widgets/README +4 -0
- data/test/.blogs/views/computing/themes/standard/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/computing/themes/standard/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/widgets/news/list.data +4 -0
- data/test/.blogs/views/computing/themes/standard/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/README +2 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/list.data +4 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/main.html +9 -0
- data/test/.blogs/views/computing/themes/standard/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/computing/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/music/last_published +1 -0
- data/test/.blogs/views/music/posts/0004-does-indie-still-matter/0004-does-indie-still-matter.lt3 +16 -0
- data/test/.blogs/views/music/posts/0004-does-indie-still-matter/does-indie-still-matter.html +11 -0
- data/test/.blogs/views/music/posts/0004-does-indie-still-matter/metadata.txt +6 -0
- data/test/.blogs/views/music/posts/0004-does-indie-still-matter/teaser.txt +1 -0
- data/test/.blogs/views/music/posts/0010-remember-modest-mouse/0010-remember-modest-mouse.lt3 +17 -0
- data/test/.blogs/views/music/posts/0010-remember-modest-mouse/metadata.txt +6 -0
- data/test/.blogs/views/music/posts/0010-remember-modest-mouse/remember-modest-mouse.html +12 -0
- data/test/.blogs/views/music/posts/0010-remember-modest-mouse/teaser.txt +1 -0
- data/test/.blogs/views/music/publish +5 -0
- data/test/.blogs/views/music/remote/does-indie-still-matter.html +50 -0
- data/test/.blogs/views/music/remote/etc/blog.css +34 -0
- data/test/.blogs/views/music/remote/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/music/remote/etc/externals.lt3 +19 -0
- data/test/.blogs/views/music/remote/etc/favicon.ico +0 -0
- data/test/.blogs/views/music/remote/etc/misc.js +6 -0
- data/test/.blogs/views/music/remote/permalink/does-indie-still-matter.html +50 -0
- data/test/.blogs/views/music/remote/permalink/remember-modest-mouse.html +51 -0
- data/test/.blogs/views/music/remote/recent.html +44 -0
- data/test/.blogs/views/music/remote/remember-modest-mouse.html +51 -0
- data/test/.blogs/views/music/remote/widgets/README +4 -0
- data/test/.blogs/views/music/remote/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/music/remote/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/music/remote/widgets/news/list.data +4 -0
- data/test/.blogs/views/music/remote/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/music/remote/widgets/pages/README +2 -0
- data/test/.blogs/views/music/remote/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/music/remote/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/music/remote/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/music/remote/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/music/remote/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/music/remote/widgets/pages/list.data +4 -0
- data/test/.blogs/views/music/remote/widgets/pages/main.html +9 -0
- data/test/.blogs/views/music/remote/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/music/remote/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/music/staging/0004-does-indie-still-matter.lt3 +16 -0
- data/test/.blogs/views/music/staging/0010-remember-modest-mouse.lt3 +17 -0
- data/test/.blogs/views/music/staging/README +59 -0
- data/test/.blogs/views/music/staging/blog/generate.lt3 +17 -0
- data/test/.blogs/views/music/staging/blog/head.lt3 +9 -0
- data/test/.blogs/views/music/staging/blog/index.lt3 +6 -0
- data/test/.blogs/views/music/staging/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/music/staging/does-indie-still-matter.html +50 -0
- data/test/.blogs/views/music/staging/etc/blog.css +34 -0
- data/test/.blogs/views/music/staging/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/music/staging/etc/externals.lt3 +19 -0
- data/test/.blogs/views/music/staging/etc/favicon.ico +0 -0
- data/test/.blogs/views/music/staging/etc/misc.js +6 -0
- data/test/.blogs/views/music/staging/global.lt3 +22 -0
- data/test/.blogs/views/music/staging/navbar/about.html +6 -0
- data/test/.blogs/views/music/staging/navbar/contact.html +6 -0
- data/test/.blogs/views/music/staging/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/music/staging/post/generate.lt3 +26 -0
- data/test/.blogs/views/music/staging/post/head.lt3 +4 -0
- data/test/.blogs/views/music/staging/post/index.html +17 -0
- data/test/.blogs/views/music/staging/post/index.lt3 +16 -0
- data/test/.blogs/views/music/staging/post/permalink.lt3 +26 -0
- data/test/.blogs/views/music/staging/recent.html +44 -0
- data/test/.blogs/views/music/staging/remember-modest-mouse.html +51 -0
- data/test/.blogs/views/music/staging/sidebar/README +3 -0
- data/test/.blogs/views/music/staging/vars.lt3 +2 -0
- data/test/.blogs/views/music/staging/widgets/README +4 -0
- data/test/.blogs/views/music/staging/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/music/staging/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/music/staging/widgets/news/list.data +4 -0
- data/test/.blogs/views/music/staging/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/music/staging/widgets/pages/README +2 -0
- data/test/.blogs/views/music/staging/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/music/staging/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/music/staging/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/music/staging/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/music/staging/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/music/staging/widgets/pages/list.data +4 -0
- data/test/.blogs/views/music/staging/widgets/pages/main.html +9 -0
- data/test/.blogs/views/music/staging/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/music/staging/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/music/themes/standard/README +59 -0
- data/test/.blogs/views/music/themes/standard/blog/generate.lt3 +17 -0
- data/test/.blogs/views/music/themes/standard/blog/head.lt3 +9 -0
- data/test/.blogs/views/music/themes/standard/blog/index.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/music/themes/standard/etc/blog.css +34 -0
- data/test/.blogs/views/music/themes/standard/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/music/themes/standard/etc/externals.lt3 +19 -0
- data/test/.blogs/views/music/themes/standard/etc/favicon.ico +0 -0
- data/test/.blogs/views/music/themes/standard/etc/misc.js +6 -0
- data/test/.blogs/views/music/themes/standard/global.lt3 +22 -0
- data/test/.blogs/views/music/themes/standard/navbar/about.html +6 -0
- data/test/.blogs/views/music/themes/standard/navbar/contact.html +6 -0
- data/test/.blogs/views/music/themes/standard/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/post/generate.lt3 +26 -0
- data/test/.blogs/views/music/themes/standard/post/head.lt3 +4 -0
- data/test/.blogs/views/music/themes/standard/post/index.lt3 +16 -0
- data/test/.blogs/views/music/themes/standard/post/permalink.lt3 +26 -0
- data/test/.blogs/views/music/themes/standard/sidebar/README +3 -0
- data/test/.blogs/views/music/themes/standard/widgets/README +4 -0
- data/test/.blogs/views/music/themes/standard/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/music/themes/standard/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/widgets/news/list.data +4 -0
- data/test/.blogs/views/music/themes/standard/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/README +2 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/list.data +4 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/main.html +9 -0
- data/test/.blogs/views/music/themes/standard/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/music/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/test_view/last_published +1 -0
- data/test/.blogs/views/test_view/publish +5 -0
- data/test/.blogs/views/test_view/remote/etc/blog.css +34 -0
- data/test/.blogs/views/test_view/remote/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/test_view/remote/etc/externals.lt3 +19 -0
- data/test/.blogs/views/test_view/remote/etc/favicon.ico +0 -0
- data/test/.blogs/views/test_view/remote/etc/misc.js +6 -0
- data/test/.blogs/views/test_view/remote/widgets/README +4 -0
- data/test/.blogs/views/test_view/remote/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/test_view/remote/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/test_view/remote/widgets/news/list.data +4 -0
- data/test/.blogs/views/test_view/remote/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/README +2 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/list.data +4 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/main.html +9 -0
- data/test/.blogs/views/test_view/remote/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/test_view/remote/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/test_view/staging/README +59 -0
- data/test/.blogs/views/test_view/staging/blog/generate.lt3 +17 -0
- data/test/.blogs/views/test_view/staging/blog/head.lt3 +9 -0
- data/test/.blogs/views/test_view/staging/blog/index.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/test_view/staging/etc/blog.css +34 -0
- data/test/.blogs/views/test_view/staging/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/test_view/staging/etc/externals.lt3 +19 -0
- data/test/.blogs/views/test_view/staging/etc/favicon.ico +0 -0
- data/test/.blogs/views/test_view/staging/etc/misc.js +6 -0
- data/test/.blogs/views/test_view/staging/global.lt3 +22 -0
- data/test/.blogs/views/test_view/staging/navbar/about.html +6 -0
- data/test/.blogs/views/test_view/staging/navbar/contact.html +6 -0
- data/test/.blogs/views/test_view/staging/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/post/generate.lt3 +26 -0
- data/test/.blogs/views/test_view/staging/post/head.lt3 +4 -0
- data/test/.blogs/views/test_view/staging/post/index.lt3 +16 -0
- data/test/.blogs/views/test_view/staging/post/permalink.lt3 +26 -0
- data/test/.blogs/views/test_view/staging/sidebar/README +3 -0
- data/test/.blogs/views/test_view/staging/widgets/README +4 -0
- data/test/.blogs/views/test_view/staging/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/test_view/staging/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/widgets/news/list.data +4 -0
- data/test/.blogs/views/test_view/staging/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/README +2 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/list.data +4 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/main.html +9 -0
- data/test/.blogs/views/test_view/staging/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/test_view/staging/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/.blogs/views/test_view/themes/standard/README +59 -0
- data/test/.blogs/views/test_view/themes/standard/blog/generate.lt3 +17 -0
- data/test/.blogs/views/test_view/themes/standard/blog/head.lt3 +9 -0
- data/test/.blogs/views/test_view/themes/standard/blog/index.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/blog/post_entry.lt3 +19 -0
- data/test/.blogs/views/test_view/themes/standard/etc/blog.css +34 -0
- data/test/.blogs/views/test_view/themes/standard/etc/blog.css.lt3 +36 -0
- data/test/.blogs/views/test_view/themes/standard/etc/externals.lt3 +19 -0
- data/test/.blogs/views/test_view/themes/standard/etc/favicon.ico +0 -0
- data/test/.blogs/views/test_view/themes/standard/etc/misc.js +6 -0
- data/test/.blogs/views/test_view/themes/standard/global.lt3 +22 -0
- data/test/.blogs/views/test_view/themes/standard/navbar/about.html +6 -0
- data/test/.blogs/views/test_view/themes/standard/navbar/contact.html +6 -0
- data/test/.blogs/views/test_view/themes/standard/navbar/navbar.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/post/generate.lt3 +26 -0
- data/test/.blogs/views/test_view/themes/standard/post/head.lt3 +4 -0
- data/test/.blogs/views/test_view/themes/standard/post/index.lt3 +16 -0
- data/test/.blogs/views/test_view/themes/standard/post/permalink.lt3 +26 -0
- data/test/.blogs/views/test_view/themes/standard/sidebar/README +3 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/README +4 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/ad/ad.lt3 +12 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/calendar/calendar.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/news/list.data +4 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/news/news.lt3 +3 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/README +2 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/list.data +4 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/main.html +9 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/pages/main.lt3 +18 -0
- data/test/.blogs/views/test_view/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- data/test/config +3 -0
- data/test/make_blog.rb +0 -2
- data/themes/standard/blog/index.lt3 +3 -1
- data/themes/standard/etc/blog.css.lt3 +6 -6
- data/themes/standard/global.lt3 +7 -7
- data/themes/standard/navbar/contact.html +6 -0
- data/themes/standard/sidebar/README +3 -0
- data/themes/standard/widgets/README +4 -0
- data/themes/standard/widgets/ad/ad.lt3 +15 -0
- data/themes/standard/widgets/calendar/calendar.lt3 +6 -0
- data/themes/standard/widgets/news/list.data +4 -0
- data/themes/standard/widgets/news/news.lt3 +3 -0
- data/themes/standard/widgets/pages/README +2 -0
- data/themes/standard/widgets/pages/disclaim.lt3 +6 -0
- data/themes/standard/widgets/pages/faq.lt3 +6 -0
- data/themes/standard/widgets/pages/generated.lt3 +4 -0
- data/themes/standard/widgets/pages/lifestory.lt3 +6 -0
- data/themes/standard/widgets/pages/like-dislike.lt3 +6 -0
- data/themes/standard/widgets/pages/list.data +4 -0
- data/themes/standard/widgets/pages/main.html +9 -0
- data/themes/standard/widgets/pages/main.lt3 +18 -0
- data/themes/standard/widgets/tag-cloud/tag-cloud.lt3 +12 -0
- metadata +487 -8
- data/themes/standard/sidebar/ad.lt3 +0 -5
- data/themes/standard/sidebar/news.lt3 +0 -7
- data/themes/standard/sidebar/tag-cloud.lt3 +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9d81e1698ec57e960eb96cedd07e976f0581243a20ef44a509ff31d683ef552
|
4
|
+
data.tar.gz: 9f18e15de10d2bff25b3596c6d9e498833ed203252729d3a9ae07fde93200d13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57c611667b8cedc12adbfd2a6e07059fff1a98ad0ab9200ded8b4514c16f3b899b71d954ab1b00f2b5f953fad01faa86382206020a464819547ea23e0794d86f
|
7
|
+
data.tar.gz: aa44c0773ee6cf9117581a78baffd07949c43a07e3487187560601cc6996bc2aa7581862de3d64dab8fca3bf9fd1c277e1b629dffb335833f38131c4500039ab
|
data/lib/helpers-blog.rb
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
require 'runeblog_version'
|
2
|
+
require 'fileutils'
|
2
3
|
|
3
4
|
# Home = Dir.pwd # unless Home
|
4
5
|
|
5
6
|
module RuneBlog::Helpers
|
6
7
|
|
7
8
|
def copy(src, dst)
|
8
|
-
|
9
|
+
if src =~ /\*/
|
10
|
+
system("cp #{src} #{dst}")
|
11
|
+
else
|
12
|
+
FileUtils.cp(src, dst)
|
13
|
+
end
|
9
14
|
end
|
10
15
|
|
11
16
|
def copy!(src, dst)
|
12
|
-
|
17
|
+
if src =~ /\*/
|
18
|
+
system("cp -r #{src} #{dst}")
|
19
|
+
else
|
20
|
+
FileUtils.cp_r(src, dst)
|
21
|
+
end
|
13
22
|
end
|
14
23
|
|
15
24
|
def stale?(src, dst)
|
@@ -18,9 +27,13 @@ module RuneBlog::Helpers
|
|
18
27
|
return false
|
19
28
|
end
|
20
29
|
|
21
|
-
def livetext(src, dst)
|
30
|
+
def livetext(src, dst=nil)
|
22
31
|
src << ".lt3" unless src.end_with?(".lt3")
|
23
|
-
|
32
|
+
if dst
|
33
|
+
dst << ".html" unless dst.end_with?(".html")
|
34
|
+
else
|
35
|
+
dst = src.sub(/.lt3$/, "")
|
36
|
+
end
|
24
37
|
return unless stale?(src, dst)
|
25
38
|
system("livetext #{src} >#{dst}")
|
26
39
|
end
|
data/lib/liveblog.rb
CHANGED
@@ -5,7 +5,7 @@ require 'date'
|
|
5
5
|
require 'livetext'
|
6
6
|
require 'runeblog'
|
7
7
|
|
8
|
-
errfile = File.new("liveblog.out", "w")
|
8
|
+
errfile = File.new("/tmp/liveblog.out", "w")
|
9
9
|
STDERR.reopen(errfile)
|
10
10
|
|
11
11
|
def init_liveblog # FIXME - a lot of this logic sucks
|
@@ -22,18 +22,31 @@ def init_liveblog # FIXME - a lot of this logic sucks
|
|
22
22
|
@theme = @vdir + "/themes/standard/"
|
23
23
|
end
|
24
24
|
|
25
|
+
# FIXME - stale? and livetext are duplicated from helpers-blog
|
26
|
+
|
27
|
+
def stale?(src, dst)
|
28
|
+
return true unless File.exist?(dst)
|
29
|
+
return true if File.mtime(src) > File.mtime(dst)
|
30
|
+
return false
|
31
|
+
end
|
32
|
+
|
33
|
+
def livetext(src, dst=nil)
|
34
|
+
src += ".lt3" unless src.end_with?(".lt3")
|
35
|
+
if dst
|
36
|
+
dst += ".html" unless dst.end_with?(".html")
|
37
|
+
else
|
38
|
+
dst = src.sub(/.lt3$/, "")
|
39
|
+
end
|
40
|
+
return unless stale?(src, dst)
|
41
|
+
system("livetext #{src} >#{dst}")
|
42
|
+
end
|
43
|
+
|
25
44
|
def post
|
26
45
|
@meta = OpenStruct.new
|
27
46
|
@meta.num = _args[0]
|
28
47
|
_out " <!-- Post number #{@meta.num} -->\n "
|
29
48
|
end
|
30
49
|
|
31
|
-
def _view_from_cwd
|
32
|
-
md = Dir.pwd.match(%r[.*/views/(.*?)/])
|
33
|
-
return md[1] if md
|
34
|
-
nil
|
35
|
-
end
|
36
|
-
|
37
50
|
def quote
|
38
51
|
_passthru "<blockquote>"
|
39
52
|
_passthru _body
|
@@ -60,11 +73,70 @@ def h6; _passthru "
#{@_data}"; end |
|
60
73
|
|
61
74
|
def hr; _passthru "<hr>"; end
|
62
75
|
|
63
|
-
def
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
76
|
+
def list
|
77
|
+
_out "<ul>"
|
78
|
+
_body {|line| _out "<li>#{line}</li>" }
|
79
|
+
_out "</ul>"
|
80
|
+
_optional_blank_line
|
81
|
+
end
|
82
|
+
|
83
|
+
def list!
|
84
|
+
_out "<ul>"
|
85
|
+
lines = _body.each
|
86
|
+
loop do
|
87
|
+
line = lines.next
|
88
|
+
line = _format(line)
|
89
|
+
if line[0] == " "
|
90
|
+
_out line
|
91
|
+
else
|
92
|
+
_out "<li>#{line}</li>"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
_out "</ul>"
|
96
|
+
_optional_blank_line
|
97
|
+
end
|
98
|
+
|
99
|
+
def html_body(file)
|
100
|
+
file.puts "<html>\n <body>"
|
101
|
+
yield
|
102
|
+
file.puts " </body>\n</html>"
|
103
|
+
end
|
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
|
119
|
+
# HTML for sidebar card
|
120
|
+
File.open("#{cardfile}.html", "w") do |f|
|
121
|
+
f.puts <<-EOS
|
122
|
+
<div class="card mb-3">
|
123
|
+
<div class="card-body">
|
124
|
+
<h5 class="card-title">
|
125
|
+
<a href="javascript: void(0)"
|
126
|
+
onclick="javascript:open_main('widgets/news/#{mainfile}.html')"
|
127
|
+
style="text-decoration: none; color: black">#{card_title}</a>
|
128
|
+
</h5>
|
129
|
+
EOS
|
130
|
+
pairs.each do |file, title|
|
131
|
+
f.puts <<-EOS
|
132
|
+
<li class="list-group-item"> <a href="javascript: void(0)"
|
133
|
+
onclick="javascript:open_main('#{file}')">#{title}</a> </li>
|
134
|
+
EOS
|
135
|
+
end
|
136
|
+
f.puts <<-EOS
|
137
|
+
</div>
|
138
|
+
</div>
|
139
|
+
EOS
|
68
140
|
end
|
69
141
|
end
|
70
142
|
|
@@ -164,29 +236,6 @@ def pin
|
|
164
236
|
_optional_blank_line
|
165
237
|
end
|
166
238
|
|
167
|
-
def list
|
168
|
-
_out "<ul>"
|
169
|
-
_body {|line| _out "<li>#{line}</li>" }
|
170
|
-
_out "</ul>"
|
171
|
-
_optional_blank_line
|
172
|
-
end
|
173
|
-
|
174
|
-
def list!
|
175
|
-
_out "<ul>"
|
176
|
-
lines = _body.each
|
177
|
-
loop do
|
178
|
-
line = lines.next
|
179
|
-
line = _format(line)
|
180
|
-
if line[0] == " "
|
181
|
-
_out line
|
182
|
-
else
|
183
|
-
_out "<li>#{line}</li>"
|
184
|
-
end
|
185
|
-
end
|
186
|
-
_out "</ul>"
|
187
|
-
_optional_blank_line
|
188
|
-
end
|
189
|
-
|
190
239
|
def write_post
|
191
240
|
raise "'post' was not called" unless @meta
|
192
241
|
save = Dir.pwd
|
@@ -277,6 +326,8 @@ class Livetext::Functions
|
|
277
326
|
end
|
278
327
|
end
|
279
328
|
|
329
|
+
###
|
330
|
+
|
280
331
|
def _var(name) # FIXME scope issue!
|
281
332
|
::Livetext::Vars[name] || "[:#{name} is undefined]"
|
282
333
|
end
|
@@ -291,12 +342,12 @@ def head # Does NOT output tags
|
|
291
342
|
defaults = {}
|
292
343
|
defaults = { "charset" => %[<meta charset="utf-8">],
|
293
344
|
"http-equiv" => %[<meta http-equiv="X-UA-Compatible" content="IE=edge">],
|
294
|
-
"title" => %[<title>\n #{_var(:blog)} | #{_var(
|
345
|
+
"title" => %[<title>\n #{_var(:blog)} | #{_var("blog.desc")}\n </title>],
|
295
346
|
"generator" => %[<meta name="generator" content="Runeblog v #@version">],
|
296
347
|
"og:title" => %[<meta property="og:title" content="#{_var(:blog)}">],
|
297
348
|
"og:locale" => %[<meta property="og:locale" content="#{_var(:locale)}">],
|
298
|
-
"description" => %[<meta name="description" content="#{_var(
|
299
|
-
"og:description" => %[<meta property="og:description" content="#{_var(
|
349
|
+
"description" => %[<meta name="description" content="#{_var("blog.desc")}">],
|
350
|
+
"og:description" => %[<meta property="og:description" content="#{_var("blog.desc")}">],
|
300
351
|
"linkc" => %[<link rel="canonical" href="#{_var(:host)}">],
|
301
352
|
"og:url" => %[<meta property="og:url" content="#{_var(:host)}">],
|
302
353
|
"og:site_name" => %[<meta property="og:site_name" content="#{_var(:blog)}">],
|
@@ -366,20 +417,12 @@ end
|
|
366
417
|
|
367
418
|
def sidebar
|
368
419
|
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
369
|
-
|
370
|
-
tag =
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
end
|
376
|
-
|
377
|
-
def sidebar!
|
378
|
-
_out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
|
379
|
-
_args do |line|
|
380
|
-
tag = line.chomp.strip
|
381
|
-
self.data = "sidebar/#{tag.downcase}.lt3"
|
382
|
-
_include
|
420
|
+
_args do |token|
|
421
|
+
tag = token.chomp.strip.downcase
|
422
|
+
Dir.chdir("widgets/#{tag}") do
|
423
|
+
livetext tag, "card-#{tag}.html"
|
424
|
+
_include_file "card-#{tag}.html"
|
425
|
+
end
|
383
426
|
end
|
384
427
|
_out %[</div>]
|
385
428
|
end
|
@@ -451,7 +494,7 @@ def all_teasers
|
|
451
494
|
end
|
452
495
|
text << "</body></html>"
|
453
496
|
File.write("recent.html", text)
|
454
|
-
_out %[<iframe id="main" style="width: 100vw;height: 100vh;position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
|
497
|
+
_out %[<iframe id="main" style="width: 100vw; height: 100vh; position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
|
455
498
|
end
|
456
499
|
|
457
500
|
def _post_lookup(postid) # side-effect
|
@@ -512,7 +555,7 @@ def card_iframe
|
|
512
555
|
stuff = lines[1..-1].join(" ") # FIXME later
|
513
556
|
middle = <<-HTML
|
514
557
|
<iframe src="#{url}" #{stuff}
|
515
|
-
style="border: 0"
|
558
|
+
style="border: 0" #{stuff}
|
516
559
|
frameborder="0" scrolling="no">
|
517
560
|
</iframe>
|
518
561
|
HTML
|
@@ -520,23 +563,30 @@ def card_iframe
|
|
520
563
|
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
521
564
|
end
|
522
565
|
|
566
|
+
def _main(url)
|
567
|
+
%[href="javascript: void(0)" onclick="javascript:open_main('#{url}')"]
|
568
|
+
end
|
569
|
+
|
523
570
|
def card1
|
524
571
|
title, lines = _data, _body
|
525
572
|
lines.map!(&:chomp)
|
526
573
|
|
527
574
|
card_text = lines[0]
|
528
|
-
url,
|
575
|
+
url, classname, cdata = lines[1].split(",", 4)
|
576
|
+
main = _main(url)
|
529
577
|
|
530
578
|
middle = <<-HTML
|
531
579
|
<p class="card-text">#{card_text}</p>
|
532
|
-
<a
|
580
|
+
<a #{main} class="#{classname}">#{cdata}</a>
|
533
581
|
HTML
|
534
582
|
|
535
583
|
_card_generic(card_title: title, middle: middle, extra: "bg-dark text-white")
|
536
584
|
end
|
537
585
|
|
538
586
|
def card2
|
539
|
-
|
587
|
+
str = _data
|
588
|
+
file, card_title = str.chomp.split(" ", 2)
|
589
|
+
card_title = %[<a #{_main(file)} style="text-decoration: none; color: black">#{card_title}</a>]
|
540
590
|
|
541
591
|
# FIXME is this wrong??
|
542
592
|
|
@@ -544,18 +594,16 @@ def card2
|
|
544
594
|
<div class="card mb-3">
|
545
595
|
<div class="card-body">
|
546
596
|
<h5 class="card-title">#{card_title}</h5>
|
547
|
-
</div>
|
548
597
|
<ul class="list-group list-group-flush">
|
549
598
|
HTML
|
550
599
|
_out open
|
551
600
|
_body do |line|
|
552
|
-
url,
|
553
|
-
|
601
|
+
url, cdata = line.chomp.split(",", 3)
|
602
|
+
main = _main(url)
|
603
|
+
_out %[<li class="list-group-item"><a #{main}}">#{cdata}</a> </li>]
|
554
604
|
end
|
555
|
-
close = %[ </ul>\n </div>]
|
605
|
+
close = %[ </ul>\n </div>\n </div>]
|
556
606
|
_out close
|
557
|
-
rescue
|
558
|
-
puts @live.body
|
559
607
|
end
|
560
608
|
|
561
609
|
def tag_cloud
|
@@ -569,11 +617,12 @@ def tag_cloud
|
|
569
617
|
_out open
|
570
618
|
_body do |line|
|
571
619
|
line.chomp!
|
572
|
-
url,
|
573
|
-
|
620
|
+
url, classname, cdata = line.split(",", 4)
|
621
|
+
main = _main(url)
|
622
|
+
_out %[<a #{main} class="#{classname}">#{cdata}</a>]
|
574
623
|
end
|
575
|
-
|
576
|
-
|
624
|
+
close = %[ </div>\n </div>]
|
625
|
+
_out close
|
577
626
|
end
|
578
627
|
|
579
628
|
def navbar
|
@@ -605,14 +654,13 @@ def navbar
|
|
605
654
|
_out open
|
606
655
|
_body do |line|
|
607
656
|
href, cdata = line.chomp.strip.split(" ", 2)
|
608
|
-
|
657
|
+
main = _main(href)
|
609
658
|
if first
|
610
659
|
first = false
|
611
660
|
_out %[<li class="nav-item active"> <a class="nav-link" href="#{href}">#{cdata}<span class="sr-only">(current)</span></a> </li>]
|
612
661
|
else
|
613
|
-
|
614
|
-
|
615
|
-
_out %[<li class="nav-item"> <a class="nav-link" #{href_click}>#{cdata}</a> </li>]
|
662
|
+
main = _main("navbar/#{href}")
|
663
|
+
_out %[<li class="nav-item"> <a class="nav-link" #{main}>#{cdata}</a> </li>]
|
616
664
|
end
|
617
665
|
end
|
618
666
|
_out close
|
data/lib/runeblog.rb
CHANGED
@@ -178,10 +178,12 @@ class RuneBlog
|
|
178
178
|
copy!("#{Themes}", "themes")
|
179
179
|
create_dirs(:assets, :posts)
|
180
180
|
create_dirs(:staging, "remote/permalink", "remote/navbar")
|
181
|
-
livetext "themes/standard/etc/blog.css.lt3"
|
181
|
+
livetext "themes/standard/etc/blog.css.lt3" # strip ext
|
182
182
|
copy!("themes/standard/*", "staging/")
|
183
|
+
|
183
184
|
copy!("themes/standard/etc", "remote/")
|
184
185
|
copy!("themes/standard/assets", "remote/")
|
186
|
+
copy!("themes/standard/widgets", "remote/")
|
185
187
|
|
186
188
|
pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
|
187
189
|
dump(pub, "publish")
|
@@ -276,15 +278,13 @@ class RuneBlog
|
|
276
278
|
end
|
277
279
|
|
278
280
|
def create_new_post(title, testing = false, teaser: nil, body: nil, other_views: [])
|
279
|
-
|
280
|
-
Dir.chdir(self.view.dir)
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
Dir.chdir(save)
|
287
|
-
meta.num ||= 999 # ??
|
281
|
+
meta = nil
|
282
|
+
Dir.chdir(self.view.dir) do
|
283
|
+
post = Post.create(title: title, teaser: teaser, body: body, other_views: other_views)
|
284
|
+
post.edit unless testing
|
285
|
+
post.build
|
286
|
+
meta = post.meta
|
287
|
+
end
|
288
288
|
return meta.num
|
289
289
|
rescue => err
|
290
290
|
puts err
|
@@ -400,6 +400,7 @@ class RuneBlog
|
|
400
400
|
collect_recent_posts("recent.html")
|
401
401
|
copy("recent.html", "../remote")
|
402
402
|
copy!("navbar/*html", "../remote/navbar/")
|
403
|
+
copy!("widgets", "../remote/") # really copies too much...
|
403
404
|
livetext "blog/generate", "../remote/index"
|
404
405
|
end
|
405
406
|
end
|
data/lib/runeblog_version.rb
CHANGED
data/runeblog.gemspec
CHANGED
@@ -20,7 +20,7 @@ spec = Gem::Specification.new do |s|
|
|
20
20
|
s.authors = ["Hal Fulton"]
|
21
21
|
s.email = 'rubyhacker@gmail.com'
|
22
22
|
s.executables << "blog"
|
23
|
-
s.add_runtime_dependency 'livetext', '~> 0.8', '>= 0.8.
|
23
|
+
s.add_runtime_dependency 'livetext', '~> 0.8', '>= 0.8.92'
|
24
24
|
s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.16'
|
25
25
|
|
26
26
|
# Files...
|
data/test/.blogs/VERSION
ADDED
data/test/.blogs/config
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
.mixin liveblog
|
2
|
+
. ^ get rid of this later
|
3
|
+
|
4
|
+
.post 1
|
5
|
+
|
6
|
+
.title What's at Stubbs...
|
7
|
+
.pubdate 2019-09-20
|
8
|
+
.views around_austin music
|
9
|
+
.tags
|
10
|
+
|
11
|
+
.teaser
|
12
|
+
Stubbs has been around for longer than civilization.
|
13
|
+
|
14
|
+
.end
|
15
|
+
That's a good thing. But their music isn't always the greatest.
|
16
|
+
|