Permalink
Browse files

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
  • Loading branch information...
1 parent e31941d commit 0e367a524147718efaed2b020691d330a24639f1 @rtomayko rtomayko committed May 27, 2008
Showing with 23 additions and 0 deletions.
  1. +23 −0 Rakefile
View
@@ -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'

0 comments on commit 0e367a5

Please sign in to comment.