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

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

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jan 22, 2017, 02:41 UTC
Message-ID
<20170122024156.284180-8-sandals@crustytoothpaste.net>
In-Reply-To
<20170122024156.284180-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 d95002e62..19c42eb60 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: Øyvind A. Holm
Message 7 of 24 in “Macros for Asciidoctor support”
  1. 0/7 Macros for Asciidoctor supportbrian m. carlson, Jan 22, 2017
  2. 1/7 Documentation: fix warning in cat-texi.perlbrian m. carlson, Jan 22, 2017
  3. 4/7 Documentation: sort sources for gitman.texibrian m. carlson, Jan 22, 2017
  4. 3/7 Documentation: remove unneeded argument in cat-texi.perlbrian m. carlson, Jan 22, 2017
  5. 2/7 Documentation: modernize cat-texi.perlbrian m. carlson, Jan 22, 2017
  6. 6/7 Documentation: move dblatex arguments into variablebrian m. carlson, Jan 22, 2017
  7. 7/7 Makefile: add a knob to enable the use of Asciidoctorbrian m. carlson, Jan 22, 2017
  8. Øyvind A. HolmJan 23, 2017
  9. brian m. carlsonJan 23, 2017
  10. Øyvind A. HolmJan 25, 2017
  11. 5/7 Documentation: add XSLT to fix DocBook for Texinfobrian m. carlson, Jan 22, 2017
  12. Junio C HamanoJan 23, 2017
  13. Johannes SchindelinJan 25, 2017
  14. Jeff KingJan 25, 2017
  15. brian m. carlsonJan 25, 2017
  16. Jeff KingJan 25, 2017
  17. brian m. carlsonJan 25, 2017
  18. Documentation: implement linkgit macro for Asciidoctorbrian m. carlson, Jan 26, 2017
  19. Jeff KingJan 26, 2017
  20. Eric WongJan 26, 2017
  21. Johannes SchindelinJan 26, 2017
  22. Eric WongJan 26, 2017
  23. brian m. carlsonJan 27, 2017
  24. Junio C HamanoJan 31, 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.