From: Bagas Sanjaya Date: Wed, 12 May 2021 04:43:14 GMT Subject: Re: [PATCH 1/2] doc: add an option to have Asciidoctor build man pages directly Message-ID: <117a0b3b-ae7a-ffe7-feee-ae659c588920@gmail.com> In-Reply-To: <20210512021138.63598-1-sandals@crustytoothpaste.net> Another review below. On 12/05/21 09.11, brian m. carlson wrote: > From: Felipe Contreras >> Asciidoctor contains a converter to generate man pages. In some > environments, where building only the manual pages and not the other > documentation is desired, installing a toolchain for building > DocBook-based manual pages may be burdensome, and using Asciidoctor > directly may be easier, so let's add an option to build manual pages > using Asciidoctor without the DocBook toolchain. > > We generally require Asciidoctor 1.5, but versions before 1.5.3 didn't > contain proper handling of the apostrophe, which is controlled normally > by the GNU_ROFF option. This option for the DocBook toolchain, as well > as newer versions of Asciidoctor, makes groff output an ASCII apostrophe > instead of a Unicode apostrophe in text, so as to make copy and pasting > commands easier. These newer versions of Asciidoctor detect groff and > do the right thing in all cases, so the GNU_ROFF option is obsolete in > this case. > > We also need to update the code that tells Asciidoctor how to format our > linkgit macros so that it can output proper code for man pages. Be > careful to reset the font to the previous after the change. In order to > do so, we must reset to the previous after each font change so the > previous state at the end is the state before our inserted text, since > troff only remembers one previous font. > > Because Asciidoctor versions before 2.0 had a few problems with man page > output, let's default this to off for now, since some common distros are > still on 1.5. If users are using a more modern toolchain or don't care > about the rendering issues, they can enable the option. > > Suggested-by: Bagas Sanjaya > Signed-off-by: Felipe Contreras > Signed-off-by: brian m. carlson > --- It is customary for multi-patches patch series to have a cover letter. For example, when I send a patch that add corrections to an existing patch series, I can add permalink of that series' cover letter to be clear that my patch is applied on top of another patch series. > diff --git a/Documentation/asciidoctor-extensions.rb b/Documentation/asciidoctor-extensions.rb > index d906a00803..40fa87b121 100644 > --- a/Documentation/asciidoctor-extensions.rb > +++ b/Documentation/asciidoctor-extensions.rb > @@ -15,6 +15,8 @@ module Git > "#{target}(#{attrs[1]})" > elsif parent.document.basebackend? 'html' > %(#{target}(#{attrs[1]})) > + elsif parent.document.basebackend? 'manpage' > + %(\\fB#{target}\\fP\\fR(#{attrs[1]})\\fP) > elsif parent.document.basebackend? 'docbook' > "\n" \ > "#{target}" \ > diff --git a/Makefile b/Makefile > index 93664d6714..cb75dec314 100644 > --- a/Makefile > +++ b/Makefile > @@ -285,6 +285,9 @@ all:: > # Define USE_ASCIIDOCTOR to use Asciidoctor instead of AsciiDoc to build the > # documentation. > # > +# Define USE_ASCIIDOCTOR_MANPAGE to use Asciidoctor's manual page backend > +# instead of building manual pages from DocBook. > +# Does USE_ASCIIDOCTOR_MANPAGE imply USE_ASCIIDOCTOR? > # Define ASCIIDOCTOR_EXTENSIONS_LAB to point to the location of the Asciidoctor > # Extensions Lab if you have it available. > # > Thanks. -- An old man doll... just what I always wanted! - Clara