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

[PATCH] docs: monospace listings in docbook output

From
Jeff King <peff@peff.net>
Date
Aug 7, 2012, 20:07 UTC
Message-ID
<20120807200738.GC440@sigill.intra.peff.net>
In-Reply-To
<20120807194211.GB440@sigill.intra.peff.net>
When asciidoc converts a listing block like:

---------------------- $ git log --merge ----------------------

it marks it to be displayed in a monospace font. This works fine when generating HTML output. However, when generating docbook output, we override the expansion of a listingblock to work around bugs in some versions of the docbook toolchain. Our override did not mark the listingblock with the "monospaced" class.

The main output that uses docbook as an intermediate format is the manpages. We didn't notice any issue there because the monospaced class seems to be ignored when generating roff from the docbook manpages.

However, when generating texinfo to make info pages, docbook does respect this class. The resulting texinfo output properly uses "@example" blocks to display the listing in this case. Besides possibly looking prettier in some texinfo backends, one important effect is that the monospace font suppresses texinfo's expansion of "--" and "---" into en-dashes and em-dashes. With the current code, the example above ends up looking like "git log -merge", which is confusing and wrong.

Signed-off-by: Jeff King <peff@peff.net>
---
I wonder if we can maybe just rip out our custom overrides entirely.
They date back to versions of docbook from 2006. I'm not sure I entirely
understand their purpose, though (they seem to also be about inserting
extra line breaks, and handling manual additions of roff).

This cleans up many of the problems with the info result. However, there are still lots of places that use "--" outside of a listing block or a backtick literal. Those still look bad in the generated info page.

 Documentation/asciidoc.conf    | 4 ++--
 Documentation/user-manual.conf | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf
index a26d245..1273a85 100644
--- a/Documentation/asciidoc.conf
+++ b/Documentation/asciidoc.conf
@@ -36,7 +36,7 @@ ifndef::git-asciidoc-no-roff[]
 # v1.72 breaks with this because it replaces dots not in roff requests.
 [listingblock]
 <example><title>{title}</title>
-<literallayout>
+<literallayout class="monospaced">
 ifdef::doctype-manpage[]
 &#10;.ft C&#10;
 endif::doctype-manpage[]
@@ -53,7 +53,7 @@ ifdef::doctype-manpage[]
 # The following two small workarounds insert a simple paragraph after screen
 [listingblock]
 <example><title>{title}</title>
-<literallayout>
+<literallayout class="monospaced">
 |
 </literallayout><simpara></simpara>
 {title#}</example>
diff --git a/Documentation/user-manual.conf b/Documentation/user-manual.conf
index 339b309..d87294d 100644
--- a/Documentation/user-manual.conf
+++ b/Documentation/user-manual.conf
@@ -14,7 +14,7 @@ ifdef::backend-docbook[]
 # "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this.
 [listingblock]
 <example><title>{title}</title>
-<literallayout>
+<literallayout class="monospaced">
 |
 </literallayout>
 {title#}</example>
-- 
1.7.12.rc1.12.g5eaae48
Previous: Jeff KingNext: Andreas Schwab
Message 5 of 6 in “info: display '--' as '-'”
  1. mofaphAug 6, 2012
  2. Jeff KingAug 7, 2012
  3. David KastrupAug 7, 2012
  4. Jeff KingAug 7, 2012
  5. docs: monospace listings in docbook outputJeff King, Aug 7, 2012
  6. Andreas SchwabAug 7, 2012

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.