lib/repl.rb in runeblog-0.0.37 vs lib/repl.rb in runeblog-0.0.38

- old
+ new

@@ -252,31 +252,50 @@ end rescue => err puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s end + ### create_dir + + def create_dir + cmd = "mkdir -p #{dir} >/dev/null 2>&1" + result = system(cmd) + raise "Can't create #{dir}" unless result + end + ### link_post_view def link_post_view(view) # Create dir using slug (index.html, metadata?) vdir = @config.viewdir(view) dir = vdir + @meta.slug + "/" - unless File.exist?(dir) and File.directory?(dir) - cmd = "mkdir -p #{dir}" - result = system(cmd) - raise "Can't create #{dir}" unless result - end - + create_dir(dir + "assets") File.write("#{dir}/metadata.yaml", @meta.to_yaml) template = File.read(vdir + "custom/post_template.html") post = interpolate(template) File.write(dir + "index.html", post) generate_index(view) rescue => err puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s end + ### find_asset + + def find_asset(asset, views) + STDERR.puts " Search #{@meta.slug}" + views.each {|view| STDERR.puts " Search #{view}" } + STDERR.puts " Search #@root" + end + + ### find_all_assets + + def find_all_assets(list, views) + STDERR.puts "\n Called find_assets with #{list.inspect}" + list ||= [] + list.each {|asset| find_asset(asset, views) } + end + ### publish_post def publish_post(meta) puts " #{colored_slug(meta.slug)}" # First gather the views @@ -284,10 +303,11 @@ print " Views: " views.each do |view| print "#{view} " link_post_view(view) end + assets = find_assets(@meta.assets, views) puts rescue => err puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s end @@ -362,12 +382,11 @@ read_config unless @config arg ||= ask("New view: ") # check validity later raise "view #{arg} already exists" if @config.views.include?(arg) dir = @root + "/views/" + arg + "/" - cmd = "mkdir -p #{dir + 'custom'}" - result = system(cmd) - raise "Could not create #{dir}/custom" unless result + create_dir(dir + 'custom') + create_dir(dir + 'assets') File.write(dir + "custom/blog_header.html", RuneBlog::BlogHeader) File.write(dir + "custom/blog_trailer.html", RuneBlog::BlogTrailer) File.write(dir + "last_deployed", "Initial creation") @config.views << arg