class Wrongdoc::Rdoc
Public Class Methods
new(opts)
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 15 def initialize(opts) @rdoc_uri = URI.parse(opts[:rdoc_url]) @cgit_uri = URI.parse(opts[:cgit_url]) end
Public Instance Methods
add_atom(path, atom_uri)
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 38 def add_atom(path, atom_uri) File.open(path, "a+") do |fp| doc = parse_xml(fp.read) doc.search("title").each { |t| t.add_next_sibling(atom_node(doc, atom_uri)) } fp.truncate 0 fp.write doc.to_xhtml end end
atom_node(doc, uri, title = 'Atom feed')
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 62 def atom_node(doc, uri, title = 'Atom feed') link = Nokogiri::XML::Node.new('link', doc) link['rel'] = 'alternate' link['title'] = title link['href'] = uri.to_s link['type'] = 'application/atom+xml' link end
cgit_atom_uri()
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 49 def cgit_atom_uri uri = @cgit_uri.dup uri.path += "/atom/" uri.query = "h=master" uri end
news_atom_uri()
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 56 def news_atom_uri uri = @rdoc_uri.dup uri.path += "NEWS.atom.xml" uri end
rdoc(argv)
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 33 def rdoc(argv) r = RDoc::RDoc.new r.document(rdoc_options.concat(argv)) end
run(argv = [])
click to toggle source
# File lib/wrongdoc/rdoc.rb, line 20 def run(argv = []) rdoc(argv) add_atom("doc/ChangeLog.html", cgit_atom_uri) add_atom("doc/NEWS.html", news_atom_uri) add_atom("doc/README.html", news_atom_uri) # the stock RDoc index page layout lacks a vertical sidebar full of links rdoc_index = "doc/rdoc_index.html" File.exist?(rdoc_index) and File.unlink(rdoc_index) File.rename("doc/index.html", rdoc_index) File.link("doc/README.html", "doc/index.html") end