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