lib/runeblog.rb in runeblog-0.1.78 vs lib/runeblog.rb in runeblog-0.1.79

- old
+ new

@@ -1,6 +1,6 @@ -require 'find' +#equire 'find' require 'livetext' require 'runeblog_version' require 'global' require 'helpers-blog' @@ -221,13 +221,17 @@ def create_new_post(title, testing = false, teaser: nil, body: nil, other_views: []) save = Dir.pwd Dir.chdir(self.view.dir) # change to create_draft ? post = Post.create(title: title, teaser: teaser, body: body, other_views: other_views) +puts "cnp: num = #{post.meta.num}" post.edit unless testing - meta = post.build + post.build + meta = post.meta Dir.chdir(save) +puts "cnp: title = #{title.inspect}\n meta = #{meta.inspect}" + meta.num ||= 999 return meta.num Dir.chdir(save) meta.num = 999 meta.num rescue => err @@ -295,10 +299,20 @@ ######## New code def generate_view(view) end + def _get_views(draft) + # FIXME dumb code + view_line = File.readlines(draft).grep(/^.views /) + raise "More than one .views call!" if view_line.size > 1 + raise "No .views call!" if view_line.size < 1 +# STDERR.puts view_line.inspect + view_line = view_line.first + views = view_line[7..-1].split + end + # Remember: A post in multiple views will trigger multiple # views needing to be rebuilt (and published) # generate a post: # given draft 9999-title.lt3 @@ -311,50 +325,87 @@ # # Generate associated views: # livetext ??/recent.lt3 >VIEW/working/recent.html # livetext VIEW/blog/generate.lt3 ?? + def _copy_get_dirs(draft, view) + fname = File.basename(draft) + noext = fname.sub(/.lt3$/, "") + vdir = "#@root/views/#{view}" + dir = "#{vdir}/posts/#{noext}/" + Dir.mkdir(dir) unless Dir.exist?(dir) + system("cp #{draft} #{dir}") + viewdir, slugdir, aslug = vdir, dir, noext[5..-1] + theme = viewdir + "/themes/standard" + [noext, viewdir, slugdir, aslug, theme] + end + def generate_post(draft) + views = _get_views(draft) + views.each do |view| + noext, viewdir, slugdir, aslug, theme = _copy_get_dirs(draft, view) + Dir.chdir(slugdir) do + html = noext[5..-1] + ".html" +STDERR.puts "--- NEW gp into #{slugdir}: livetext #{draft} >#{html}" + system("livetext #{draft} >#{html}") + + Dir.mkdir("sidebar") unless Dir.exist?("sidebar") + system("cp #{theme}/sidebar/*.lt3 ./sidebar/") + files = ["blog-generate.lt3", "blog-index.lt3", "global.lt3", "blog-head.lt3", + "meta.lt3", "navbar.lt3"] + files2 = files.map {|x| theme + "/" + x } + files2.each do |f| + system("cp #{f} .") + end + +# system("livetext blog-generate.lt3 >bgen.html") +# files.each {|fname| system("rm ./#{fname}") } +# system("rm -rf ./sidebar/") + end + # create framed pure slug (where?) + end + end + + def old_generate_post(draft) dir = File.dirname(draft) fname = File.basename(draft) # STDERR.puts "--- gp01 dir/fname = #{dir} #{fname}" # FIXME dumb code view_line = File.readlines(draft).grep(/^.views /) raise "More than one .views call!" if view_line.size > 1 raise "No .views call!" if view_line.size < 1 view_line = view_line.first -# STDERR.puts "--- gp01b view_line = #{view_line}" views = view_line[7..-1].split slug_dir = fname.sub(/.lt3$/, "") -# STDERR.puts "--- gp02 preloop" views.each do |view| -# STDERR.puts "--- gp03 view = #{view}" vdir = "#@root/views/#{view}" dir = "#{vdir}/posts/#{slug_dir}/" -STDERR.puts "--- gp03b vdir = #{vdir} dir = #{dir}" Dir.mkdir(dir) unless Dir.exist?(dir) -puts -# --- gp04 system: cp /Users/Hal/Dropbox/files/runeblog/.blogs/data/drafts/0007-the-graffiti-wall.lt3 -# /Users/Hal/Dropbox/files/runeblog/.blogs/data/around_austin/posts/0007-the-graffiti-wall.lt3/ -STDERR.puts "--- gp04 system: cp #{draft} #{dir}" -STDERR.puts system("cp #{draft} #{dir}") Dir.chdir(dir) do -STDERR.puts "--- gp05 into #{dir}: livetext #{draft} >#{draft}.html" - system("livetext #{draft} >#{draft}.html") + html = draft.sub(/.lt3$/, ".html") +STDERR.puts "--- gp05 into #{dir}: livetext #{draft} >#{html}" + system("livetext #{draft} >#{html}") + # copy from theme? theme = vdir + "/themes/standard" - files = ["blog-generate.lt3", "blog-index.lt3", "global.lt3", "blog-head.lt3", "meta.lt3", "navbar.lt3"] - files = files.map {|x| theme + "/" + x } -STDERR.puts "---- Files = #{files.inspect}" - files.each do |f| -STDERR.puts "---- cp #{f} ." + Dir.mkdir("sidebar") unless Dir.exist?("sidebar") + system("cp #{theme}/sidebar/*.lt3 ./sidebar/") + files = ["blog-generate.lt3", "blog-index.lt3", "global.lt3", "blog-head.lt3", + "meta.lt3", "navbar.lt3"] + files2 = files.map {|x| theme + "/" + x } + # STDERR.puts "---- gp06: In #{Dir.pwd}: files = #{files.inspect}" + files2.each do |f| + # STDERR.puts "---- gp07: cp #{f} ." system("cp #{f} .") end -STDERR.puts "---- Files copied from theme" + # STDERR.puts "---- gp08: Files copied from theme" + system("livetext blog-generate.lt3 >bgen.html") -STDERR.puts "---- Files went thru livetext" + # STDERR.puts "---- gp09: Files went thru livetext" +# files.each {|fname| system("rm ./#{fname}") } +# system("rm -rf ./sidebar/") end # create framed pure slug (where?) end end