From 0e367a524147718efaed2b020691d330a24639f1 Mon Sep 17 00:00:00 2001 From: Ryan Tomayko Date: Tue, 27 May 2008 09:18:56 -0400 Subject: [PATCH] rake task for generating rdoc with hanna template This uses the hanna command shipped with the hanna gem. The preferred method of using is to require 'hanna/rdoctask' in your Rakefile but this caused various gem depency errors (blame Hoe, rdoc 2.0, Echoe, and rubyforge). You have to install mislav's hanna gem from github: $ sudo gem install mislav-hanna --source=http://gems.github.com Run the doc task to generate rdoc under doc/api: $ rake doc See mislav's repo for more info on template usage: http://github.com/mislav/hanna See the HAML docs for an example of the hanna template in action: http://haml.hamptoncatlin.com/docs/rdoc --- Rakefile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Rakefile b/Rakefile index ce129541..8eaf0e19 100644 --- a/Rakefile +++ b/Rakefile @@ -44,3 +44,26 @@ end file package('.tar.gz') => %w[dist/] + spec.files do |f| sh "git archive --format=tar HEAD | gzip > #{f.name}" end + +# Hanna RDoc ========================================================= +# +# Building docs requires the hanna gem: +# gem install mislav-hanna --source=http://gems.github.com + +desc 'Generate Hanna RDoc under doc/api' +task :doc => ['doc/api/index.html'] + +file 'doc/api/index.html' => FileList['lib/**/*.rb','README.rdoc'] do |f| + rb_files = f.prerequisites + sh((<<-end).gsub(/\s+/, ' ')) + hanna --charset utf8 \ + --fmt html \ + --inline-source \ + --line-numbers \ + --main README.rdoc \ + --op doc/api \ + --title 'Sinatra API Documentation' \ + #{rb_files.join(' ')} + end +end +CLEAN.include 'doc/api'