runeblog 0.2.40 → 0.2.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/blog +4 -7
- data/empty_view/themes/standard/blog/post_entry.lt3 +11 -10
- data/empty_view/themes/standard/etc/blog.css.lt3 +6 -1
- data/empty_view/themes/standard/navbar/faq.lt3 +1 -0
- data/empty_view/themes/standard/navbar/navbar.lt3 +1 -0
- data/empty_view/themes/standard/post/generate.lt3 +9 -4
- data/empty_view/themes/standard/widgets/ad/ad.lt3 +8 -1
- data/empty_view/themes/standard/widgets/ad/ad1.png +0 -0
- data/empty_view/themes/standard/widgets/ad/ad2.png +0 -0
- data/empty_view/themes/standard/widgets/ad/ad3.png +0 -0
- data/empty_view/themes/standard/widgets/ad/ad4.png +0 -0
- data/empty_view/themes/standard/widgets/bydates/bydates.rb +7 -3
- data/empty_view/themes/standard/widgets/links/links.rb +28 -3
- data/empty_view/themes/standard/widgets/news/news.rb +7 -3
- data/empty_view/themes/standard/widgets/pages/pages.rb +10 -3
- data/empty_view/themes/standard/widgets/pinned/pinned.rb +7 -3
- data/empty_view/themes/standard/widgets/search/search.rb +7 -3
- data/empty_view/themes/standard/widgets/sitemap/sitemap.rb +7 -3
- data/empty_view/themes/standard/widgets/tag-cloud/tag-cloud.rb +7 -3
- data/lib/default.rb +1 -4
- data/lib/global.rb +8 -7
- data/lib/helpers-blog.rb +15 -15
- data/lib/liveblog.rb +47 -18
- data/lib/logging.rb +17 -8
- data/lib/post.rb +6 -6
- data/lib/publish.rb +4 -4
- data/lib/repl.rb +1 -0
- data/lib/runeblog.rb +77 -47
- data/lib/runeblog_version.rb +1 -1
- data/lib/view.rb +2 -8
- data/lib/xlate.rb +2 -2
- data/test/austin.rb +157 -0
- metadata +8 -5
- data/empty_view/remote/widgets/links/list.data +0 -3
- data/empty_view/remote/widgets/news/list.data +0 -4
- data/empty_view/remote/widgets/pages/list.data +0 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a8bb9a39d611dfe53e5ef484072a68b6c28791563469f591c0ed0b1f2af8d19b
         | 
| 4 | 
            +
              data.tar.gz: 3280e0cec145361c3422de113d54f1c54fa617993c96010a06604f8a81f9b2d3
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dfa3e81153739ccbb5cbea452a33ba523141025df409cd2a33e55d03dd51b4c800a5e49e5fa102063dd71793187df5bed62e847e00bfa75b35dcbc35ed5c3ddf
         | 
| 7 | 
            +
              data.tar.gz: 3b93280f1ac1a370d7ab7ff4f4c1fd28a4cba94af74ebdfb0fc59f21ea1081079786a39f8de9f75216205a256193e774bc379841e675e49600ca7748ed0e655b
         | 
    
        data/bin/blog
    CHANGED
    
    | @@ -16,10 +16,9 @@ def get_started | |
| 16 16 | 
             
              puts
         | 
| 17 17 | 
             
              puts fx(<<-TEXT, :bold)
         | 
| 18 18 | 
             
              Blog repo successfully created.
         | 
| 19 | 
            -
               | 
| 20 | 
            -
              Create  | 
| 21 | 
            -
               | 
| 22 | 
            -
                via the config command.
         | 
| 19 | 
            +
              For help, type h or help.
         | 
| 20 | 
            +
              Create views with: new view
         | 
| 21 | 
            +
              Create a post (within current view): new post
         | 
| 23 22 | 
             
            TEXT
         | 
| 24 23 | 
             
            end
         | 
| 25 24 |  | 
| @@ -55,9 +54,7 @@ if ! RuneBlog.exist? | |
| 55 54 | 
             
              print fx("\n  No blog repo found. Create new one? (y/n): ", :bold)
         | 
| 56 55 | 
             
              response = gets.chomp
         | 
| 57 56 | 
             
              if response.downcase == "y"
         | 
| 58 | 
            -
                 | 
| 59 | 
            -
                view_name = gets.chomp
         | 
| 60 | 
            -
                RuneBlog.create_new_blog_repo(view_name)
         | 
| 57 | 
            +
                RuneBlog.create_new_blog_repo
         | 
| 61 58 | 
             
                get_started
         | 
| 62 59 | 
             
              else
         | 
| 63 60 | 
             
                exit
         | 
| @@ -4,18 +4,19 @@ | |
| 4 4 | 
             
            . --------------------------------------------------
         | 
| 5 5 |  | 
| 6 6 | 
             
            <div class="post">
         | 
| 7 | 
            -
              <table width=100 | 
| 7 | 
            +
              <table width=100% cellpadding=7>
         | 
| 8 8 | 
             
                <tr>
         | 
| 9 | 
            -
                  <td width= | 
| 10 | 
            -
                    <span class="post-date mt-1 mb-1">
         | 
| 11 | 
            -
                      <b>#{date}</b>
         | 
| 12 | 
            -
                    </span>
         | 
| 9 | 
            +
                  <td width=14% valign=top align=right style="margin-top: -1px;">
         | 
| 10 | 
            +
            <!--        <span class="post-date mt-1 mb-1" style="margin-top: 3px; text-align: right"> -->
         | 
| 11 | 
            +
                      <font size=-1><b>#{date}</b></font>
         | 
| 12 | 
            +
            <!--        </span> -->
         | 
| 13 13 | 
             
                  </td>
         | 
| 14 | 
            -
                  <td>  | 
| 15 | 
            -
             | 
| 16 | 
            -
                      < | 
| 17 | 
            -
                      < | 
| 18 | 
            -
                      <a style="text-decoration: none" href="#{url}"><small>Keep reading...</small></a | 
| 14 | 
            +
                  <td> 
         | 
| 15 | 
            +
                    <!--        <span class="post-title-box"> -->
         | 
| 16 | 
            +
                      <span class="post-title-text"><a href="#{url}" style="margin-top: -5px">#{title}</a></span>
         | 
| 17 | 
            +
                      <b>#{teaser_text}</b>  
         | 
| 18 | 
            +
                      <a style="text-decoration: none" href="#{url}"><small>Keep reading...</small></a> 
         | 
| 19 | 
            +
                    <!--        </span>  -->
         | 
| 19 20 | 
             
                  </td>
         | 
| 20 21 | 
             
                </tr>
         | 
| 21 22 | 
             
              </table>
         | 
| @@ -24,7 +24,6 @@ | |
| 24 24 | 
             
            \.post-title-text a {
         | 
| 25 25 | 
             
              color: $post.text.color;
         | 
| 26 26 | 
             
              font-size: $post.text.size; 
         | 
| 27 | 
            -
            # float: right;
         | 
| 28 27 | 
             
              display: block;
         | 
| 29 28 | 
             
              text-decoration: none;
         | 
| 30 29 | 
             
            }
         | 
| @@ -41,3 +40,9 @@ | |
| 41 40 | 
             
              text-align: top;
         | 
| 42 41 | 
             
            }
         | 
| 43 42 |  | 
| 43 | 
            +
            . not used?
         | 
| 44 | 
            +
            \.thumbnail img {
         | 
| 45 | 
            +
                max-height: 100%;
         | 
| 46 | 
            +
                max-width: 100%;
         | 
| 47 | 
            +
            }
         | 
| 48 | 
            +
             | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            .include ../widgets/pages/faq.lt3
         | 
| @@ -5,10 +5,8 @@ | |
| 5 5 | 
             
            . --------------------------------------------------
         | 
| 6 6 |  | 
| 7 7 | 
             
            .mixin liveblog
         | 
| 8 | 
            -
             | 
| 9 8 | 
             
            <html>
         | 
| 10 | 
            -
              <!--  | 
| 11 | 
            -
              <!-- It was generated from $File on $$date.  -->
         | 
| 9 | 
            +
              <!-- Generated from $File on $$date; editing not recommended.   -->
         | 
| 12 10 |  | 
| 13 11 | 
             
            .seek global.lt3
         | 
| 14 12 | 
             
            .include vars.lt3
         | 
| @@ -18,13 +16,20 @@ og:title    $title | |
| 18 16 | 
             
            description $teaser
         | 
| 19 17 | 
             
            .end
         | 
| 20 18 |  | 
| 19 | 
            +
            <body>
         | 
| 20 | 
            +
             | 
| 21 21 | 
             
            <section class="post">
         | 
| 22 22 | 
             
              <div class="entry-content">
         | 
| 23 | 
            +
                <table border=0 width=100%><tr>
         | 
| 24 | 
            +
                  <td align=left valign=bottom><h2 class="post-title">$title</h2></td>
         | 
| 25 | 
            +
                  <td align=right valign=top><font size=-5><br></font>$longdate</td>
         | 
| 26 | 
            +
                </tr></table><hr>
         | 
| 23 27 | 
             
                $.copy guts.html
         | 
| 24 28 | 
             
              </div>
         | 
| 25 29 | 
             
            </section>
         | 
| 26 30 |  | 
| 27 31 | 
             
            <br>
         | 
| 28 | 
            -
            < | 
| 32 | 
            +
            <hr>
         | 
| 33 | 
            +
            .post_trailer
         | 
| 29 34 | 
             
            </body>
         | 
| 30 35 | 
             
            </html>
         | 
| @@ -1,15 +1,22 @@ | |
| 1 1 | 
             
            . In real life, ads won't work this way...
         | 
| 2 2 |  | 
| 3 | 
            +
            .include vars.lt3
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            .set classname="btn btn-light float-right"
         | 
| 4 6 | 
             
            .set card.title="Advertisement"
         | 
| 5 7 | 
             
            .set card.text="Build your amazing website with blabla.com."
         | 
| 6 | 
            -
            .set extra="bg-dark text-white"
         | 
| 8 | 
            +
            . set extra="bg-dark text-white"
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            <!-- "$ad.image" -->
         | 
| 7 11 |  | 
| 8 12 | 
             
            <div class="card $extra mb-3">
         | 
| 9 13 | 
             
              <div class="card-body">
         | 
| 14 | 
            +
            <!--
         | 
| 10 15 | 
             
                <h5 class="card-title">$card.title</h5>
         | 
| 11 16 | 
             
                <p class="card-text">$card.text</p>
         | 
| 12 17 | 
             
                <a href="javascript: void(0)" onclick="javascript:open_main('widgets/ad/ad.html')" class="$classname">Visit page</a>
         | 
| 18 | 
            +
            -->
         | 
| 19 | 
            +
                <img style="max-height: 100%; max-width: 100%" src="$ad.image"></img>
         | 
| 13 20 | 
             
              </div>
         | 
| 14 21 | 
             
            </div>
         | 
| 15 22 |  | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| @@ -1,14 +1,39 @@ | |
| 1 1 | 
             
            # Custom code for 'links' widget
         | 
| 2 2 |  | 
| 3 | 
            +
            require 'liveblog'
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            class ::RuneBlog::Widget
         | 
| 4 6 | 
             
              class Links
         | 
| 5 | 
            -
                 | 
| 7 | 
            +
                Type = "links"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                def initialize(repo)
         | 
| 10 | 
            +
                  @blog = repo
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def build
         | 
| 14 | 
            +
                  input = "list.data"
         | 
| 15 | 
            +
                  lines = File.readlines(input)
         | 
| 16 | 
            +
                  data = lines.map! {|x| x.chomp.split(/, */, 3) }
         | 
| 17 | 
            +
                  css = "* { font-family: verdana }"
         | 
| 18 | 
            +
                  card_title = "External Links"  # FIXME
         | 
| 19 | 
            +
                  File.open("#{Type}-main.html", "w") do |f|     
         | 
| 20 | 
            +
                    _html_body(f, css) do
         | 
| 21 | 
            +
                      f.puts "<h1>#{card_title}</h1><br><hr>"
         | 
| 22 | 
            +
                      url_ref = nil
         | 
| 23 | 
            +
                      data.each do |url, frameable, title|
         | 
| 24 | 
            +
                        url_ref = (frameable == "yes") ? "href = '#{url}'" : _blank(url)
         | 
| 25 | 
            +
                        css = "color: #8888FF; text-decoration: none; font-size: 21px"  # ; font-family: verdana"
         | 
| 26 | 
            +
                        f.puts %[<a style="#{css}" #{url_ref}>#{title}</a> <br>]
         | 
| 27 | 
            +
                      end
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                  # remember -card also
         | 
| 6 31 | 
             
                end
         | 
| 7 32 |  | 
| 8 | 
            -
                def  | 
| 33 | 
            +
                def edit_menu
         | 
| 9 34 | 
             
                end
         | 
| 10 35 |  | 
| 11 | 
            -
                def  | 
| 36 | 
            +
                def refresh
         | 
| 12 37 | 
             
                end
         | 
| 13 38 | 
             
              end
         | 
| 14 39 | 
             
            end
         | 
| @@ -4,18 +4,25 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            class ::RuneBlog::Widget
         | 
| 6 6 | 
             
              class Pages
         | 
| 7 | 
            -
                def  | 
| 7 | 
            +
                def initialize(repo)
         | 
| 8 | 
            +
                  @blog = repo
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def build
         | 
| 12 | 
            +
                  # build child pages
         | 
| 8 13 | 
             
                  children = Dir["*.lt3"] - ["pages.lt3"]
         | 
| 9 14 | 
             
                  children.each do |child|
         | 
| 10 15 | 
             
                    dest = child.sub(/.lt3$/, ".html")
         | 
| 11 16 | 
             
                    xlate src: child, dst: dest  # , debug: true
         | 
| 12 17 | 
             
                  end
         | 
| 18 | 
            +
                  # build mainfile
         | 
| 19 | 
            +
                  # build cardfile
         | 
| 13 20 | 
             
                end
         | 
| 14 21 |  | 
| 15 | 
            -
                def  | 
| 22 | 
            +
                def edit_menu
         | 
| 16 23 | 
             
                end
         | 
| 17 24 |  | 
| 18 | 
            -
                def  | 
| 25 | 
            +
                def refresh
         | 
| 19 26 | 
             
                end
         | 
| 20 27 | 
             
              end
         | 
| 21 28 | 
             
            end
         | 
    
        data/lib/default.rb
    CHANGED
    
    | @@ -5,7 +5,7 @@ class RuneBlog::Default | |
| 5 5 | 
             
            def RuneBlog.post_template(num: 0, title: "No title", date: nil, view: "test_view", 
         | 
| 6 6 | 
             
                                   teaser: "No teaser", body: "No body", tags: ["untagged"], 
         | 
| 7 7 | 
             
                                   views: [], back: "javascript:history.go(-1)", home: "no url")
         | 
| 8 | 
            -
              log!(enter: __method__, args: [num, title, date, view, teaser, body, tags, views, back, home])
         | 
| 8 | 
            +
              log!(enter: __method__, args: [num, title, date, view, teaser, body, tags, views, back, home], level: 3)
         | 
| 9 9 | 
             
              viewlist = (views + [view.to_s]).join(" ")
         | 
| 10 10 | 
             
              taglist = ".tags " + tags.join(" ")
         | 
| 11 11 | 
             
            <<-TEXT
         | 
| @@ -28,6 +28,3 @@ TEXT | |
| 28 28 | 
             
            end
         | 
| 29 29 |  | 
| 30 30 | 
             
            end
         | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
    
        data/lib/global.rb
    CHANGED
    
    | @@ -20,7 +20,7 @@ end | |
| 20 20 | 
             
            # Refactor, move stuff elsewhere?
         | 
| 21 21 |  | 
| 22 22 | 
             
            def make_exception(sym, str)
         | 
| 23 | 
            -
              log!(enter: __method__, args: [sym, str])
         | 
| 23 | 
            +
              log!(enter: __method__, args: [sym, str], level: 3)
         | 
| 24 24 | 
             
              return if Object.constants.include?(sym)
         | 
| 25 25 | 
             
              Object.const_set(sym, StandardError.dup)
         | 
| 26 26 | 
             
              define_method(sym) do |*args|
         | 
| @@ -30,8 +30,9 @@ def make_exception(sym, str) | |
| 30 30 | 
             
              end
         | 
| 31 31 | 
             
            end
         | 
| 32 32 |  | 
| 33 | 
            -
              def system!(str)
         | 
| 34 | 
            -
                log!(enter: __method__, args: [str])
         | 
| 33 | 
            +
              def system!(str, show: false)
         | 
| 34 | 
            +
                log!(enter: __method__, args: [str], level: 2)
         | 
| 35 | 
            +
                STDERR.puts str if show
         | 
| 35 36 | 
             
                rc = system(str)
         | 
| 36 37 | 
             
                if rc
         | 
| 37 38 | 
             
                  return rc
         | 
| @@ -44,12 +45,12 @@ end | |
| 44 45 | 
             
              end
         | 
| 45 46 |  | 
| 46 47 | 
             
            def prefix(num)
         | 
| 47 | 
            -
              log!(enter: __method__, args: [num])
         | 
| 48 | 
            +
              log!(enter: __method__, args: [num], level: 3)
         | 
| 48 49 | 
             
              "#{'%04d' % num.to_i}"
         | 
| 49 50 | 
             
            end
         | 
| 50 51 |  | 
| 51 52 | 
             
            def check_meta(meta, where = "")
         | 
| 52 | 
            -
              log!(enter: __method__, args: [meta, where])
         | 
| 53 | 
            +
              log!(enter: __method__, args: [meta, where], level: 3)
         | 
| 53 54 | 
             
              str =  "--- #{where}\n"
         | 
| 54 55 | 
             
              str << "\ncheck_meta: \n" + caller.join("\n") + "\n  meta = #{meta.inspect}\n"
         | 
| 55 56 | 
             
              str << "  title missing!\n" unless meta.title
         | 
| @@ -62,14 +63,14 @@ def check_meta(meta, where = "") | |
| 62 63 | 
             
            end
         | 
| 63 64 |  | 
| 64 65 | 
             
            def verify(hash)
         | 
| 65 | 
            -
              log!(enter: __method__, args: [hash])
         | 
| 66 | 
            +
              log!(enter: __method__, args: [hash], level: 3)
         | 
| 66 67 | 
             
              hash.each_pair do |expr, msg|
         | 
| 67 68 | 
             
                puts "<< #{msg}" unless expr
         | 
| 68 69 | 
             
              end
         | 
| 69 70 | 
             
            end
         | 
| 70 71 |  | 
| 71 72 | 
             
            def assure(hash)  # really the same as verify for now...
         | 
| 72 | 
            -
              log!(enter: __method__, args: [hash])
         | 
| 73 | 
            +
              log!(enter: __method__, args: [hash], level: 3)
         | 
| 73 74 | 
             
              hash.each_pair do |expr, msg|
         | 
| 74 75 | 
             
                puts "<< #{msg}" unless expr
         | 
| 75 76 | 
             
              end
         | 
    
        data/lib/helpers-blog.rb
    CHANGED
    
    | @@ -6,14 +6,14 @@ require 'xlate' | |
| 6 6 | 
             
            module RuneBlog::Helpers
         | 
| 7 7 |  | 
| 8 8 | 
             
              def copy(src, dst)
         | 
| 9 | 
            -
                log!(enter: __method__, args: [src, dst])
         | 
| 9 | 
            +
                log!(enter: __method__, args: [src, dst], level: 2)
         | 
| 10 10 | 
             
                cmd = "cp #{src} #{dst} 2>/dev/null"
         | 
| 11 11 | 
             
                rc = system!(cmd)
         | 
| 12 12 | 
             
                puts "    Failed: #{cmd} - from #{caller[0]}" unless rc
         | 
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              def copy!(src, dst)
         | 
| 16 | 
            -
                log!(enter: __method__, args: [src, dst])
         | 
| 16 | 
            +
                log!(enter: __method__, args: [src, dst], level: 2)
         | 
| 17 17 | 
             
                cmd = "cp -r #{src} #{dst} 2>/dev/null"
         | 
| 18 18 | 
             
                rc = system!(cmd)
         | 
| 19 19 | 
             
                puts "    Failed: #{cmd} - from #{caller[0]}" unless rc
         | 
| @@ -36,7 +36,7 @@ module RuneBlog::Helpers | |
| 36 36 | 
             
            #  end
         | 
| 37 37 |  | 
| 38 38 | 
             
              def read_config(file, *syms)
         | 
| 39 | 
            -
                log!(enter: __method__, args: [file, *syms])
         | 
| 39 | 
            +
                log!(enter: __method__, args: [file, *syms], level: 3)
         | 
| 40 40 | 
             
                lines = File.readlines(file).map(&:chomp)
         | 
| 41 41 | 
             
                obj = ::OpenStruct.new
         | 
| 42 42 | 
             
                lines.each do |line|
         | 
| @@ -61,7 +61,7 @@ module RuneBlog::Helpers | |
| 61 61 | 
             
              end
         | 
| 62 62 |  | 
| 63 63 | 
             
              def try_read_config(file, hash)
         | 
| 64 | 
            -
                log!(enter: __method__, args: [file, hash])
         | 
| 64 | 
            +
                log!(enter: __method__, args: [file, hash], level: 3)
         | 
| 65 65 | 
             
                return hash.values unless File.exist?(file)
         | 
| 66 66 | 
             
                vals = read_config(file, *hash.keys)
         | 
| 67 67 | 
             
                vals
         | 
| @@ -80,7 +80,7 @@ module RuneBlog::Helpers | |
| 80 80 | 
             
            # end 
         | 
| 81 81 |  | 
| 82 82 | 
             
              def write_config(obj, file)
         | 
| 83 | 
            -
                log!(enter: __method__, args: [obj, file])
         | 
| 83 | 
            +
                log!(enter: __method__, args: [obj, file], level: 2)
         | 
| 84 84 | 
             
                hash = obj.to_h
         | 
| 85 85 | 
             
                File.open(file, "w") do |out|
         | 
| 86 86 | 
             
                  hash.each_pair {|key, val| out.puts "#{key}: #{val}" }
         | 
| @@ -88,13 +88,13 @@ module RuneBlog::Helpers | |
| 88 88 | 
             
              end
         | 
| 89 89 |  | 
| 90 90 | 
             
              def get_views   # read from filesystem
         | 
| 91 | 
            -
                log!(enter: __method__)
         | 
| 91 | 
            +
                log!(enter: __method__, level: 3)
         | 
| 92 92 | 
             
                dirs = subdirs("#@root/views/").sort
         | 
| 93 93 | 
             
                dirs.map {|name| RuneBlog::View.new(name) }
         | 
| 94 94 | 
             
              end
         | 
| 95 95 |  | 
| 96 96 | 
             
              def new_dotfile(root: ".blogs", current_view: "test_view", editor: "vi")
         | 
| 97 | 
            -
                log!(enter: __method__, args: [root, current_view, editor])
         | 
| 97 | 
            +
                log!(enter: __method__, args: [root, current_view, editor], level: 3)
         | 
| 98 98 | 
             
                root = Dir.pwd/root
         | 
| 99 99 | 
             
                x = OpenStruct.new
         | 
| 100 100 | 
             
                x.root, x.current_view, x.editor = root, current_view, editor
         | 
| @@ -102,21 +102,21 @@ module RuneBlog::Helpers | |
| 102 102 | 
             
              end
         | 
| 103 103 |  | 
| 104 104 | 
             
              def new_sequence
         | 
| 105 | 
            -
                log!(enter: __method__)
         | 
| 105 | 
            +
                log!(enter: __method__, level: 3)
         | 
| 106 106 | 
             
                dump(0, "sequence")
         | 
| 107 107 | 
             
                version_info = "#{RuneBlog::VERSION}\nBlog created: #{Time.now.to_s}"
         | 
| 108 108 | 
             
                dump(version_info, "VERSION")
         | 
| 109 109 | 
             
              end
         | 
| 110 110 |  | 
| 111 111 | 
             
              def subdirs(dir)
         | 
| 112 | 
            -
                log!(enter: __method__, args: [dir])
         | 
| 112 | 
            +
                log!(enter: __method__, args: [dir], level: 3)
         | 
| 113 113 | 
             
                dirs = Dir.entries(dir) - %w[. ..]
         | 
| 114 114 | 
             
                dirs.reject! {|x| ! File.directory?("#@root/views/#{x}") }
         | 
| 115 115 | 
             
                dirs
         | 
| 116 116 | 
             
              end
         | 
| 117 117 |  | 
| 118 118 | 
             
              def find_draft_slugs
         | 
| 119 | 
            -
                log!(enter: __method__)
         | 
| 119 | 
            +
                log!(enter: __method__, level: 3)
         | 
| 120 120 | 
             
                files = Dir["#@root/drafts/**"].grep /\d{4}.*.lt3$/
         | 
| 121 121 | 
             
                flagfile = "#@root/drafts/last_rebuild"
         | 
| 122 122 | 
             
                last = File.exist?(flagfile) ? File.mtime(flagfile) : (Time.now - 86_400)
         | 
| @@ -128,7 +128,7 @@ module RuneBlog::Helpers | |
| 128 128 | 
             
              end
         | 
| 129 129 |  | 
| 130 130 | 
             
              def create_dirs(*dirs)
         | 
| 131 | 
            -
                log!(enter: __method__, args: [*dirs])
         | 
| 131 | 
            +
                log!(enter: __method__, args: [*dirs], level: 3)
         | 
| 132 132 | 
             
                dirs.each do |dir|
         | 
| 133 133 | 
             
                  dir = dir.to_s  # symbols allowed
         | 
| 134 134 | 
             
                  next if Dir.exist?(dir)
         | 
| @@ -139,27 +139,27 @@ module RuneBlog::Helpers | |
| 139 139 | 
             
              end
         | 
| 140 140 |  | 
| 141 141 | 
             
              def interpolate(str, bind)
         | 
| 142 | 
            -
                log!(enter: __method__, args: [str, bind])
         | 
| 142 | 
            +
                log!(enter: __method__, args: [str, bind], level: 3)
         | 
| 143 143 | 
             
                wrap = "<<-EOS\n#{str}\nEOS"
         | 
| 144 144 | 
             
                eval wrap, bind
         | 
| 145 145 | 
             
              end
         | 
| 146 146 |  | 
| 147 147 | 
             
              def error(err)  # Hmm, this is duplicated
         | 
| 148 | 
            -
                log!(str: "duplicated method", enter: __method__, args: [err])
         | 
| 148 | 
            +
                log!(str: "duplicated method", enter: __method__, args: [err], level: 2)
         | 
| 149 149 | 
             
                str = "\n  Error: #{err}"
         | 
| 150 150 | 
             
                puts str
         | 
| 151 151 | 
             
                puts err.backtrace.join("\n")
         | 
| 152 152 | 
             
              end
         | 
| 153 153 |  | 
| 154 154 | 
             
              def dump(obj, name)
         | 
| 155 | 
            -
                log!(enter: __method__, args: [obj, name])
         | 
| 155 | 
            +
                log!(enter: __method__, args: [obj, name], level: 3)
         | 
| 156 156 | 
             
                File.write(name, obj)
         | 
| 157 157 | 
             
              end
         | 
| 158 158 |  | 
| 159 159 | 
             
            end
         | 
| 160 160 |  | 
| 161 161 | 
             
            def dump(obj, name)      # FIXME scope
         | 
| 162 | 
            -
              log!(str: "scope problem", enter: __method__, args: [obj, name])
         | 
| 162 | 
            +
              log!(str: "scope problem", enter: __method__, args: [obj, name], level: 3)
         | 
| 163 163 | 
             
              File.write(name, obj)
         | 
| 164 164 | 
             
            end
         | 
| 165 165 |  |