 b0f8aed48f
			
		
	
	b0f8aed48f
	
	
	
		
			
			The markup used in user-manual has been updated to work better with asciidoctor. * ma/user-manual-markup-update: user-manual.txt: render ASCII art correctly under Asciidoctor asciidoctor-extensions.rb: handle "book" doctype in linkgit user-manual.txt: change header notation user-manual.txt: add missing section label
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'asciidoctor'
 | |
| require 'asciidoctor/extensions'
 | |
| 
 | |
| module Git
 | |
|   module Documentation
 | |
|     class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor
 | |
|       use_dsl
 | |
| 
 | |
|       named :chrome
 | |
| 
 | |
|       def process(parent, target, attrs)
 | |
|         prefix = parent.document.attr('git-relative-html-prefix')
 | |
|         if parent.document.doctype == 'book'
 | |
|           "<ulink url=\"#{prefix}#{target}.html\">" \
 | |
|           "#{target}(#{attrs[1]})</ulink>"
 | |
|         elsif parent.document.basebackend? 'html'
 | |
|           %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>)
 | |
|         elsif parent.document.basebackend? 'docbook'
 | |
|           "<citerefentry>\n" \
 | |
|             "<refentrytitle>#{target}</refentrytitle>" \
 | |
|             "<manvolnum>#{attrs[1]}</manvolnum>\n" \
 | |
|           "</citerefentry>"
 | |
|         end
 | |
|       end
 | |
|     end
 | |
| 
 | |
|     class DocumentPostProcessor < Asciidoctor::Extensions::Postprocessor
 | |
|       def process document, output
 | |
|         if document.basebackend? 'docbook'
 | |
|           mansource = document.attributes['mansource']
 | |
|           manversion = document.attributes['manversion']
 | |
|           manmanual = document.attributes['manmanual']
 | |
|           new_tags = "" \
 | |
|             "<refmiscinfo class=\"source\">#{mansource}</refmiscinfo>\n" \
 | |
|             "<refmiscinfo class=\"version\">#{manversion}</refmiscinfo>\n" \
 | |
|             "<refmiscinfo class=\"manual\">#{manmanual}</refmiscinfo>\n"
 | |
|           output = output.sub(/<\/refmeta>/, new_tags + "</refmeta>")
 | |
|         end
 | |
|         output
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | |
| 
 | |
| Asciidoctor::Extensions.register do
 | |
|   inline_macro Git::Documentation::LinkGitProcessor, :linkgit
 | |
|   postprocessor Git::Documentation::DocumentPostProcessor
 | |
| end
 |