git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] Makefile: add a knob to enable the use of Asciidoctor

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jan 21, 2017, 21:59 UTC
Message-ID
<20170121215912.246691-8-sandals@crustytoothpaste.net>
In-Reply-To
<20170121215912.246691-1-sandals@crustytoothpaste.net>

While Git has traditionally built its documentation using AsciiDoc, some people wish to use Asciidoctor for speed or other reasons. Add a Makefile knob, USE_ASCIIDOCTOR, that sets various options in order to produce acceptable output. For HTML output, XHTML5 was chosen, since the AsciiDoc options also produce XHTML, albeit XHTML 1.1.

Asciidoctor does not have built-in support for the linkgit macro, but it is available using the Asciidoctor Extensions Lab. Add a macro to enable the use of this extension if it is available. Without it, the linkgit macros are emitted into the output.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 Documentation/Makefile | 12 ++++++++++++
 Makefile               |  6 ++++++
 2 files changed, 18 insertions(+)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 0f4db48eb..5cbecfa99 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -174,6 +174,18 @@ ifdef GNU_ROFF
 XMLTO_EXTRA += -m manpage-quote-apos.xsl
 endif
 
+ifdef USE_ASCIIDOCTOR
+ASCIIDOC = asciidoctor
+ASCIIDOC_CONF =
+ASCIIDOC_HTML = xhtml5
+ASCIIDOC_DOCBOOK = docbook45
+ifdef ASCIIDOCTOR_EXTENSIONS_LAB
+ASCIIDOC_EXTRA = -I$(ASCIIDOCTOR_EXTENSIONS_LAB) -rasciidoctor/extensions -rman-inline-macro
+endif
+ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
+DBLATEX_COMMON =
+endif
+
 SHELL_PATH ?= $(SHELL)
 # Shell quote;
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
diff --git a/Makefile b/Makefile
index 27afd0f37..7ed9d4d4b 100644
--- a/Makefile
+++ b/Makefile
@@ -250,6 +250,12 @@ all::
 # apostrophes to be ASCII so that cut&pasting examples to the shell
 # will work.
 #
+# Define USE_ASCIIDOCTOR to use Asciidoctor instead of AsciiDoc to build the
+# documentation.
+#
+# Define ASCIIDOCTOR_EXTENSIONS_LAB to point to the location of the Asciidoctor
+# Extensions Lab if you have it available.
+#
 # Define PERL_PATH to the path of your Perl binary (usually /usr/bin/perl).
 #
 # Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
Previous: brian m. carlsonNext: brian m. carlson
Message 6 of 9 in “Macro for Asciidoctor support”
  1. 0/7 Macro for Asciidoctor supportbrian m. carlson, Jan 21, 2017
  2. 3/7 Documentation: remove unneeded argument in cat-texi.perlbrian m. carlson, Jan 21, 2017
  3. 2/7 Documentation: modernize cat-texi.perlbrian m. carlson, Jan 21, 2017
  4. 1/7 Documentation: fix warning in cat-texi.perlbrian m. carlson, Jan 21, 2017
  5. 4/7 Documentation: sort sources for gitman.texibrian m. carlson, Jan 21, 2017
  6. 7/7 Makefile: add a knob to enable the use of Asciidoctorbrian m. carlson, Jan 21, 2017
  7. 5/7 Documentation: add XSLT to fix DocBook for Texinfobrian m. carlson, Jan 21, 2017
  8. 6/7 Documentation: move dblatex arguments into variablebrian m. carlson, Jan 21, 2017
  9. Øyvind A. HolmJan 22, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.