[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] docs: Support building pdfs from markdown using pandoc
commit 869d9ca2d3c345bfe2926d655f881b645e86ff08 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Tue Jun 3 14:13:48 2014 +0100 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Thu Jun 5 14:14:36 2014 +0100 docs: Support building pdfs from markdown using pandoc The Xen command line parameters document is far more useful as an indexed pdf than it is as unindexed html webpage. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> [ ijc -- reran autogen.sh ] --- config/Docs.mk.in | 1 + docs/Makefile | 17 +++++++++++++++-- docs/configure | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/configure.ac | 1 + 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/config/Docs.mk.in b/config/Docs.mk.in index a2a72fd..497650f 100644 --- a/config/Docs.mk.in +++ b/config/Docs.mk.in @@ -11,4 +11,5 @@ POD2MAN := @POD2MAN@ POD2HTML := @POD2HTML@ POD2TEXT := @POD2TEXT@ MARKDOWN := @MARKDOWN@ +PANDOC := @PANDOC@ PERL := @PERL@ diff --git a/docs/Makefile b/docs/Makefile index 5153bcb..46e8f22 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -28,12 +28,13 @@ DOC_TXT := $(patsubst %.txt,txt/%.txt,$(TXTSRC-y)) \ $(patsubst %.markdown,txt/%.txt,$(MARKDOWNSRC-y)) \ $(patsubst man/%.pod.1,txt/man/%.1.txt,$(MAN1SRC-y)) \ $(patsubst man/%.pod.5,txt/man/%.5.txt,$(MAN5SRC-y)) +DOC_PDF := $(patsubst %.markdown,pdf/%.pdf,$(MARKDOWNSRC-y)) .PHONY: all all: build .PHONY: build -build: html txt man-pages figs +build: html txt pdf man-pages figs .PHONY: html html: $(DOC_HTML) html/index.html @@ -62,6 +63,14 @@ else @echo "pod2man not installed; skipping man-pages." endif +.PHONY: pdf +pdf: +ifdef PANDOC + $(MAKE) $(DOC_PDF) +else + @echo "pandoc not installed; skipping pdfs." +endif + man1/%.1: man/%.pod.1 Makefile $(INSTALL_DIR) $(@D) $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man1.//'| \ @@ -77,7 +86,7 @@ clean: $(MAKE) -C figs clean rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core - rm -rf html txt + rm -rf html txt pdf rm -rf man5 rm -rf man1 @@ -178,6 +187,10 @@ else @echo "pod2text not installed; skipping $<." endif +pdf/%.pdf: %.markdown + $(INSTALL_DIR) $(@D) + pandoc -N --toc --standalone $< --output $@ + ifeq (,$(findstring clean,$(MAKECMDGOALS))) $(XEN_ROOT)/config/Docs.mk: $(error You have to run ./configure before building docs) diff --git a/docs/configure b/docs/configure index d76e4d4..c36e249 100755 --- a/docs/configure +++ b/docs/configure @@ -589,6 +589,7 @@ ac_subst_vars='LTLIBOBJS LIBOBJS PERL MARKDOWN +PANDOC POD2TEXT POD2HTML POD2MAN @@ -642,6 +643,7 @@ FIG2DEV POD2MAN POD2HTML POD2TEXT +PANDOC MARKDOWN PERL' @@ -1254,6 +1256,7 @@ Some influential environment variables: POD2MAN Path to pod2man tool POD2HTML Path to pod2html tool POD2TEXT Path to pod2text tool + PANDOC Path to pandoc tool MARKDOWN Path to markdown tool PERL Path to Perl parser @@ -1934,6 +1937,55 @@ fi + # Extract the first word of "pandoc", so it can be a program name with args. +set dummy pandoc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PANDOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PANDOC in + [\\/]* | ?:[\\/]*) + ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PANDOC=$ac_cv_path_PANDOC +if test -n "$PANDOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 +$as_echo "$PANDOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if ! test -x "$ac_cv_path_PANDOC"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pandoc is not available so some documentation won't be built" >&5 +$as_echo "$as_me: WARNING: pandoc is not available so some documentation won't be built" >&2;} + +fi + + + for ac_prog in markdown markdown_py do # Extract the first word of "$ac_prog", so it can be a program name with args. diff --git a/docs/configure.ac b/docs/configure.ac index e545b00..bc77f49 100644 --- a/docs/configure.ac +++ b/docs/configure.ac @@ -17,6 +17,7 @@ AX_DOCS_TOOL_PROG([FIG2DEV], [fig2dev]) AX_DOCS_TOOL_PROG([POD2MAN], [pod2man]) AX_DOCS_TOOL_PROG([POD2HTML], [pod2html]) AX_DOCS_TOOL_PROG([POD2TEXT], [pod2text]) +AX_DOCS_TOOL_PROG([PANDOC], [pandoc]) AX_DOCS_TOOL_PROGS([MARKDOWN], [markdown], [markdown markdown_py]) AC_ARG_VAR([PERL], [Path to Perl parser]) -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |