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

[PATCH 09/11] doc: asciidoctor: add hack to improve links

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 14, 2021, 12:14 UTC
Message-ID
<20210514121435.504423-10-felipe.contreras@gmail.com>
In-Reply-To
<20210514121435.504423-1-felipe.contreras@gmail.com>

The way asciidoctor handles links is very primitive compared to docbook. Links are simply presented in the format "#{text} <#{target}>", which may not be all that bad for the future, but pollutes the doc-diff.

By adding another modification to convert_inline_anchor() we can present links in a form very similar to docbook, diminishing the doc-diff.

This significantly reduces the doc-diff:
From:
        abysmal performance). These safety and performance issues cannot be
        backward compatibly fixed and as such, its use is not recommended.
        Please use an alternative history filtering tool such as git
-       filter-repo[1]. If you still need to use git filter-branch, please
-       carefully read the section called “SAFETY” (and the section called
-       “PERFORMANCE”) to learn about the land mines of filter-branch, and then
-       vigilantly avoid as many of the hazards listed there as reasonably
-       possible.
+       <https://github.com/newren/git-filter-repo/> filter-repo" . If you
+       still need to use git filter-branch, please carefully read the section
+       called “SAFETY” (and the section called “PERFORMANCE”) to learn about
+       the land mines of filter-branch, and then vigilantly avoid as many of
+       the hazards listed there as reasonably possible.
-NOTES
-        1. git filter-repo
-           https://github.com/newren/git-filter-repo/
-
-        2. filter-lamely
-           https://github.com/newren/git-filter-repo/blob/master/contrib/filter-repo-demos/filter-lamely
-
To:
 NOTES
-        1. git filter-repo
+       [1]    git filter-repo
               https://github.com/newren/git-filter-repo/
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 Documentation/asciidoctor-extensions.rb | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff --git a/Documentation/asciidoctor-extensions.rb b/Documentation/asciidoctor-extensions.rb
index b2bbb318ad..42133ee6c3 100644
--- a/Documentation/asciidoctor-extensions.rb
+++ b/Documentation/asciidoctor-extensions.rb
@@ -11,6 +11,19 @@ module Asciidoctor
         return node.text if node.text
         refid = node.attributes['refid']
         'the section called &#8220;%s&#8221;' % refid.gsub('_', ' ')
+      when :link
+        return node.target if node.text == node.target
+        doc = node.document
+
+        footnote = doc.footnotes.find { |e| e.id == node.target }
+        if !footnote
+          footnote_text = "%s\n\e.RS\n\e\\%%%s\n\e.RE" % [node.text, node.target]
+          index = doc.counter('footnote-number')
+          footnote = Document::Footnote.new(index, node.target, footnote_text)
+          doc.register(:footnotes, footnote)
+        end
+
+        "\e\\fB%s\e\\fR[%d]" % [node.text, footnote.index]
       else
         orig_convert_inline_anchor(node)
       end
-- 
2.31.1
Previous: Felipe ContrerasNext: Felipe Contreras
Message 23 of 25 in “doc: asciidoctor: direct man page creation and fixes”
  1. 00/11 doc: asciidoctor: direct man page creation and fixesFelipe Contreras, May 14, 2021
  2. 01/11 doc: allow the user to provide ASCIIDOC_EXTRAFelipe Contreras, May 14, 2021
  3. Jeff KingMay 15, 2021
  4. Jeff KingMay 15, 2021
  5. Felipe ContrerasMay 15, 2021
  6. Jeff KingMay 17, 2021
  7. Felipe ContrerasMay 17, 2021
  8. Jeff KingMay 17, 2021
  9. Felipe ContrerasMay 17, 2021
  10. 02/11 doc: doc-diff: allow more than one flagFelipe Contreras, May 14, 2021
  11. Jeff KingMay 15, 2021
  12. Felipe ContrerasMay 15, 2021
  13. 03/11 doc: doc-diff: set docdate manuallyFelipe Contreras, May 14, 2021
  14. Martin ÅgrenMay 14, 2021
  15. Felipe ContrerasMay 14, 2021
  16. 04/11 doc: use asciidoctor to build man pages directlyFelipe Contreras, May 14, 2021
  17. Martin ÅgrenMay 14, 2021
  18. Felipe ContrerasMay 14, 2021
  19. 05/11 doc: asciidoctor: add linkgit macros in man pagesFelipe Contreras, May 14, 2021
  20. 06/11 doc: join mansource and manversionFelipe Contreras, May 14, 2021
  21. 07/11 doc: add man pages workaround for asciidoctorFelipe Contreras, May 14, 2021
  22. 08/11 doc: asciidoctor: add hack for xrefsFelipe Contreras, May 14, 2021
  23. 09/11 doc: asciidoctor: add hack to improve linksFelipe Contreras, May 14, 2021
  24. 10/11 doc: asciidoctor: add support for baseurlFelipe Contreras, May 14, 2021
  25. 11/11 doc: asciidoctor: cleanup man page hackFelipe Contreras, May 14, 2021

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.