# require "sdoc" require "rdoc/task" require_relative "../lib/net/imap" require 'rdoc/rdoc' unless defined?(RDoc::Markup::ToHtml) module RDoc::Generator module NetIMAP module RemoveRedundantParens def param_seq super.sub(/^\(\)\s*/, "") end end # See https://github.com/ruby/rdoc/pull/936 module FixSectionComments def markup(text) @store ||= @parent&.store super end def description; markup comment end def comment; super || @comments&.first end def parse(_comment_location = nil) super() end end # render "[label] data" lists as tables. adapted from "hanna-nouveau" gem. module LabelListTable def list_item_start(list_item, list_type) case list_type when :NOTE %(#{Array(list_item.label).map{|label| to_html(label)}.join("
")}) else super end end def list_end_for(list_type) case list_type when :NOTE then "" else super end end end end end class RDoc::AnyMethod prepend RDoc::Generator::NetIMAP::RemoveRedundantParens end class RDoc::Context::Section prepend RDoc::Generator::NetIMAP::FixSectionComments end class RDoc::Markup::ToHtml LIST_TYPE_TO_HTML[:NOTE] = ['', '
'] prepend RDoc::Generator::NetIMAP::LabelListTable end RDoc::Task.new do |doc| doc.main = "README.md" doc.title = "net-imap #{Net::IMAP::VERSION}" doc.rdoc_dir = "doc" doc.rdoc_files = FileList.new %w[lib/**/*.rb *.rdoc *.md] doc.options << "--template-stylesheets" << "docs/styles.css" # doc.generator = "hanna" end