From 127f735c1e5e0771076caf2a74390757a42fb177 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 21 Jan 2021 21:03:55 +0900 Subject: [ruby/rdoc] Tweak log entry markdown * add 3 levels to headings * prefix commit log to labels to make unique IDs https://github.com/ruby/rdoc/commit/5074c13209 --- lib/rdoc/parser/changelog.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/rdoc/parser/changelog.rb b/lib/rdoc/parser/changelog.rb index 763ba03d2c..eca4b56ec9 100644 --- a/lib/rdoc/parser/changelog.rb +++ b/lib/rdoc/parser/changelog.rb @@ -229,11 +229,29 @@ class RDoc::Parser::ChangeLog < RDoc::Parser out = [] entries.each do |entry, (author, date, body)| title = RDoc::Markup::Heading.new(3, "#{date} #{author}") + title.extend(Aref) + title.aref = "label-#{entry}" out << title - out.concat RDoc::Markdown.parse(body).parts + out.concat parse_log_entry(body, entry) end out end + + def parse_log_entry(content, sha) + RDoc::Markdown.parse(content).parts.each do |body| + case body + when RDoc::Markup::Heading + body.level += 3 + label = body.aref.sub(/\Alabel-/, "label-#{sha}-") + body.extend(Aref) + body.aref = label + end + end + end + + module Aref + attr_accessor :aref + end end end -- cgit v1.2.1