Merge branch 'ma/asciidoctor-refmiscinfo'
Update support for Asciidoctor documentation toolchain. * ma/asciidoctor-refmiscinfo: doc-diff: replace --cut-header-footer with --cut-footer asciidoctor-extensions: provide `<refmiscinfo/>` Doc/Makefile: give mansource/-version/-manual attributes
This commit is contained in:
commit
70c1cbf515
@ -123,7 +123,8 @@ ASCIIDOC_HTML = xhtml11
|
||||
ASCIIDOC_DOCBOOK = docbook
|
||||
ASCIIDOC_CONF = -f asciidoc.conf
|
||||
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
|
||||
-agit_version=$(GIT_VERSION)
|
||||
-amanversion=$(GIT_VERSION) \
|
||||
-amanmanual='Git Manual' -amansource='Git'
|
||||
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
|
||||
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
||||
MANPAGE_XSL = manpage-normal.xsl
|
||||
|
@ -78,9 +78,9 @@ template::[header-declarations]
|
||||
<refmeta>
|
||||
<refentrytitle>{mantitle}</refentrytitle>
|
||||
<manvolnum>{manvolnum}</manvolnum>
|
||||
<refmiscinfo class="source">Git</refmiscinfo>
|
||||
<refmiscinfo class="version">{git_version}</refmiscinfo>
|
||||
<refmiscinfo class="manual">Git Manual</refmiscinfo>
|
||||
<refmiscinfo class="source">{mansource}</refmiscinfo>
|
||||
<refmiscinfo class="version">{manversion}</refmiscinfo>
|
||||
<refmiscinfo class="manual">{manmanual}</refmiscinfo>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>{manname}</refname>
|
||||
|
@ -20,9 +20,26 @@ module Git
|
||||
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
|
||||
|
@ -21,7 +21,7 @@ asciidoc use asciidoc with both commits
|
||||
to-asciidoc use asciidoc with the 'to'-commit
|
||||
to-asciidoctor use asciidoctor with the 'to'-commit
|
||||
asciidoctor use asciidoctor with both commits
|
||||
cut-header-footer cut away header and footer
|
||||
cut-footer cut away footer
|
||||
"
|
||||
SUBDIRECTORY_OK=1
|
||||
. "$(git --exec-path)/git-sh-setup"
|
||||
@ -31,7 +31,7 @@ force=
|
||||
clean=
|
||||
from_program=
|
||||
to_program=
|
||||
cut_header_footer=
|
||||
cut_footer=
|
||||
while test $# -gt 0
|
||||
do
|
||||
case "$1" in
|
||||
@ -55,8 +55,8 @@ do
|
||||
--asciidoc)
|
||||
from_program=-asciidoc
|
||||
to_program=-asciidoc ;;
|
||||
--cut-header-footer)
|
||||
cut_header_footer=-cut-header-footer ;;
|
||||
--cut-footer)
|
||||
cut_footer=-cut-footer ;;
|
||||
--)
|
||||
shift; break ;;
|
||||
*)
|
||||
@ -118,8 +118,8 @@ construct_makemanflags () {
|
||||
from_makemanflags=$(construct_makemanflags "$from_program") &&
|
||||
to_makemanflags=$(construct_makemanflags "$to_program") &&
|
||||
|
||||
from_dir=$from_oid$from_program$cut_header_footer &&
|
||||
to_dir=$to_oid$to_program$cut_header_footer &&
|
||||
from_dir=$from_oid$from_program$cut_footer &&
|
||||
to_dir=$to_oid$to_program$cut_footer &&
|
||||
|
||||
# generate_render_makefile <srcdir> <dstdir>
|
||||
generate_render_makefile () {
|
||||
@ -169,12 +169,11 @@ render_tree () {
|
||||
make -j$parallel -f - &&
|
||||
mv "$tmp/rendered/$dname+" "$tmp/rendered/$dname"
|
||||
|
||||
if test "$cut_header_footer" = "-cut-header-footer"
|
||||
if test "$cut_footer" = "-cut-footer"
|
||||
then
|
||||
for f in $(find "$tmp/rendered/$dname" -type f)
|
||||
do
|
||||
tail -n +3 "$f" | head -n -2 |
|
||||
sed -e '1{/^$/d}' -e '${/^$/d}' >"$f+" &&
|
||||
head -n -2 "$f" | sed -e '${/^$/d}' >"$f+" &&
|
||||
mv "$f+" "$f" ||
|
||||
return 1
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user