lib/caramelize/gollum_output.rb in caramelize-0.1.2 vs lib/caramelize/gollum_output.rb in caramelize-0.2.0

- old
+ new

@@ -1,11 +1,11 @@ #Encoding: UTF-8 module Caramelize class GollumOutput - def supported_markup + def supported_markup [:markdown, :textile] end # Initialize a new gollum-wiki-repository at the given path. def initialize wiki_path @@ -14,18 +14,18 @@ @gollum = Gollum::Wiki.new(wiki_path) end # Commit the given page into the gollum-wiki-repository. # Make sure the target markup is correct before calling this method. - def commit_revision(page, markup) + def commit_revision(page, markup) message = page.message.empty? ? "Edit in page #{page.title}" : page.message if page.author author = page.author else author = Author.new - author.name = page.author_name + author.name = page.author_name ? page.author_name : "Caramelize" author.email = "mail@example.com" end commit = {:message => message, :name => author.name, @@ -42,15 +42,25 @@ end end # Commit all revisions of the given history into this gollum-wiki-repository. def commit_history(revisions, options={}, &block) - options[:markup] = :markdown if options[:markup].nil? # target markup + options[:markup] = :markdown if !options[:markup] # target markup revisions.each_with_index do |page, index| # call debug output from outside block.call(page, index) if block_given? commit_revision(page, options[:markup]) end + end + + def create_namespace_home namespaces, options={} + options[:markup] = :markdown if options[:markup].nil? # target markup + body = "## Overview of namespaces" + "\n" + "\n" + namespaces.each do |namespace| + body << "* [[#{namespace[:name]}|#{namespace[:identifier]}/Wiki]] \n" # change wiki as configurable default home + end + page = Page.new({:title => "Home", :body => body, :message => 'Create Namespace Home', :latest => true }) + commit_revision(page, options[:markup]) end end end \ No newline at end of file