Re: [PATCH 1/2] doc: add an option to have Asciidoctor build man pages directly
- From
Bagas Sanjaya <bagasdotme@gmail.com>
- Date
- May 12, 2021, 04:43 UTC
- 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:
Show 32 quoted lines
> From: Felipe Contreras <felipe.contreras@gmail.com> >> 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 <bagasdotme@gmail.com> > Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> > Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> > ---
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.
Show 24 quoted lines
> 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]})</ulink>"
> elsif parent.document.basebackend? 'html'
> %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>)
> + elsif parent.document.basebackend? 'manpage'
> + %(\\fB#{target}\\fP\\fR(#{attrs[1]})\\fP)
> elsif parent.document.basebackend? 'docbook'
> "<citerefentry>\n" \
> "<refentrytitle>#{target}</refentrytitle>" \
> 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