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_DOCBOOK = docbook
|
||||||
ASCIIDOC_CONF = -f asciidoc.conf
|
ASCIIDOC_CONF = -f asciidoc.conf
|
||||||
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(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_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
|
||||||
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
||||||
MANPAGE_XSL = manpage-normal.xsl
|
MANPAGE_XSL = manpage-normal.xsl
|
||||||
|
@ -78,9 +78,9 @@ template::[header-declarations]
|
|||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>{mantitle}</refentrytitle>
|
<refentrytitle>{mantitle}</refentrytitle>
|
||||||
<manvolnum>{manvolnum}</manvolnum>
|
<manvolnum>{manvolnum}</manvolnum>
|
||||||
<refmiscinfo class="source">Git</refmiscinfo>
|
<refmiscinfo class="source">{mansource}</refmiscinfo>
|
||||||
<refmiscinfo class="version">{git_version}</refmiscinfo>
|
<refmiscinfo class="version">{manversion}</refmiscinfo>
|
||||||
<refmiscinfo class="manual">Git Manual</refmiscinfo>
|
<refmiscinfo class="manual">{manmanual}</refmiscinfo>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>{manname}</refname>
|
<refname>{manname}</refname>
|
||||||
|
@ -20,9 +20,26 @@ module Git
|
|||||||
end
|
end
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
Asciidoctor::Extensions.register do
|
Asciidoctor::Extensions.register do
|
||||||
inline_macro Git::Documentation::LinkGitProcessor, :linkgit
|
inline_macro Git::Documentation::LinkGitProcessor, :linkgit
|
||||||
|
postprocessor Git::Documentation::DocumentPostProcessor
|
||||||
end
|
end
|
||||||
|
@ -21,7 +21,7 @@ asciidoc use asciidoc with both commits
|
|||||||
to-asciidoc use asciidoc with the 'to'-commit
|
to-asciidoc use asciidoc with the 'to'-commit
|
||||||
to-asciidoctor use asciidoctor with the 'to'-commit
|
to-asciidoctor use asciidoctor with the 'to'-commit
|
||||||
asciidoctor use asciidoctor with both commits
|
asciidoctor use asciidoctor with both commits
|
||||||
cut-header-footer cut away header and footer
|
cut-footer cut away footer
|
||||||
"
|
"
|
||||||
SUBDIRECTORY_OK=1
|
SUBDIRECTORY_OK=1
|
||||||
. "$(git --exec-path)/git-sh-setup"
|
. "$(git --exec-path)/git-sh-setup"
|
||||||
@ -31,7 +31,7 @@ force=
|
|||||||
clean=
|
clean=
|
||||||
from_program=
|
from_program=
|
||||||
to_program=
|
to_program=
|
||||||
cut_header_footer=
|
cut_footer=
|
||||||
while test $# -gt 0
|
while test $# -gt 0
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -55,8 +55,8 @@ do
|
|||||||
--asciidoc)
|
--asciidoc)
|
||||||
from_program=-asciidoc
|
from_program=-asciidoc
|
||||||
to_program=-asciidoc ;;
|
to_program=-asciidoc ;;
|
||||||
--cut-header-footer)
|
--cut-footer)
|
||||||
cut_header_footer=-cut-header-footer ;;
|
cut_footer=-cut-footer ;;
|
||||||
--)
|
--)
|
||||||
shift; break ;;
|
shift; break ;;
|
||||||
*)
|
*)
|
||||||
@ -118,8 +118,8 @@ construct_makemanflags () {
|
|||||||
from_makemanflags=$(construct_makemanflags "$from_program") &&
|
from_makemanflags=$(construct_makemanflags "$from_program") &&
|
||||||
to_makemanflags=$(construct_makemanflags "$to_program") &&
|
to_makemanflags=$(construct_makemanflags "$to_program") &&
|
||||||
|
|
||||||
from_dir=$from_oid$from_program$cut_header_footer &&
|
from_dir=$from_oid$from_program$cut_footer &&
|
||||||
to_dir=$to_oid$to_program$cut_header_footer &&
|
to_dir=$to_oid$to_program$cut_footer &&
|
||||||
|
|
||||||
# generate_render_makefile <srcdir> <dstdir>
|
# generate_render_makefile <srcdir> <dstdir>
|
||||||
generate_render_makefile () {
|
generate_render_makefile () {
|
||||||
@ -169,12 +169,11 @@ render_tree () {
|
|||||||
make -j$parallel -f - &&
|
make -j$parallel -f - &&
|
||||||
mv "$tmp/rendered/$dname+" "$tmp/rendered/$dname"
|
mv "$tmp/rendered/$dname+" "$tmp/rendered/$dname"
|
||||||
|
|
||||||
if test "$cut_header_footer" = "-cut-header-footer"
|
if test "$cut_footer" = "-cut-footer"
|
||||||
then
|
then
|
||||||
for f in $(find "$tmp/rendered/$dname" -type f)
|
for f in $(find "$tmp/rendered/$dname" -type f)
|
||||||
do
|
do
|
||||||
tail -n +3 "$f" | head -n -2 |
|
head -n -2 "$f" | sed -e '${/^$/d}' >"$f+" &&
|
||||||
sed -e '1{/^$/d}' -e '${/^$/d}' >"$f+" &&
|
|
||||||
mv "$f+" "$f" ||
|
mv "$f+" "$f" ||
|
||||||
return 1
|
return 1
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user