# File lib/wrongdoc/rdoc.rb, line 14 def initialize(opts) @rdoc_uri = URI.parse(opts[:rdoc_url]) @cgit_uri = URI.parse(opts[:cgit_url]) end
# File lib/wrongdoc/rdoc.rb, line 37 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
# File lib/wrongdoc/rdoc.rb, line 61 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
# File lib/wrongdoc/rdoc.rb, line 48 def cgit_atom_uri uri = @cgit_uri.dup uri.path += "/atom/" uri.query = "h=master" uri end
# File lib/wrongdoc/rdoc.rb, line 55 def news_atom_uri uri = @rdoc_uri.dup uri.path += "NEWS.atom.xml" uri end
# File lib/wrongdoc/rdoc.rb, line 32 def rdoc(argv) r = RDoc::RDoc.new r.document(rdoc_options.concat(argv)) end
# File lib/wrongdoc/rdoc.rb, line 19 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