module Asciidoctor::RFC::Common::Front
Public Instance Methods
date(node, xml)
click to toggle source
Syntax:
= Title Author :revdate or :date
# File lib/asciidoctor/rfc/common/front.rb, line 103 def date(node, xml) revdate = node.attr("revdate") || node.attr("date") if revdate.nil? revdate = DateTime.now.iso8601 warn %(asciidoctor: WARNING (#{current_location(node)}): revdate attribute missing from header, provided current date) end unless revdate.nil? begin date1(revdate, xml) rescue ArgumentError # invalid date warn %(asciidoctor: WARNING (#{current_location(node)}): invalid date in header, provided current date) date1(DateTime.now.iso8601, xml) end end end
date1(revdate, xml)
click to toggle source
# File lib/asciidoctor/rfc/common/front.rb, line 76 def date1(revdate, xml) revdate.gsub!(/T.*$/, "") if revdate.length == 4 && revdate =~ /^\d\d\d\d$/ date_attributes = { year: revdate, } elsif revdate =~ /^\d\d\d\d-?\d\d$/ matched = /^(?<year>\d\d\d\d)-(?<month>\d\d)$/.match revdate date_attributes = { month: Date::MONTHNAMES[(matched[:month]).to_i], year: matched[:year], } else d = Date.iso8601 revdate date_attributes = { day: d.day.to_s.gsub(/^0/, ""), month: Date::MONTHNAMES[d.month], year: d.year, } end xml.date **attr_code(date_attributes) end
title(node, xml)
click to toggle source
# File lib/asciidoctor/rfc/common/front.rb, line 4 def title(node, xml) title_attributes = { abbrev: node.attr("abbrev"), } xml.title **attr_code(title_attributes) do |t| t << node.doctitle end end