diff --git a/documentation/Makefile b/documentation/Makefile --- a/documentation/Makefile +++ b/documentation/Makefile @@ -20,7 +20,13 @@ PYTHON_CMD = ${LOCALBASE}/bin/python3 RUBY_CMD = ${LOCALBASE}/bin/ruby HUGO_CMD = ${LOCALBASE}/bin/hugo +ASCIIDOCTORPDF_CMD= /usr/local/bin/asciidoctor-pdf +.if defined(DOC_LANG) || !empty(DOC_LANG) +LANGUAGES = ${DOC_LANG} +.else LANGUAGES = en,es,pt-br,de,ja,zh-cn,zh-tw,ru,el,hu,it,mn,nl,pl,fr +.endif + RUBYLIB = ../shared/lib .export RUBYLIB @@ -72,3 +78,81 @@ build: .PHONY ${HUGO_CMD} --minify + +# +# PDF targets +# Use DOC_LANG to choose the language, e.g., make DOC_LANG="en,fr" pdf-books +# +pdf-books-target: +.for _lang in ${LANGUAGES:S|,| |g} +TMP += ${.CURDIR}/content/${_lang}/books/*/ +.endfor +BOOKSDIR != echo ${TMP} + +pdf-articles-target: +.for _lang in ${LANGUAGES:S|,| |g} +TTMP += ${.CURDIR}/content/${_lang}/articles/*/ +.endfor +ARTICLESDIR != echo ${TTMP} + +pdf-books: pdf-books-target generate-books-toc + +# Books build +.for _curpdf in ${BOOKSDIR} +.if exists(${_curpdf}book.adoc) + ${ASCIIDOCTORPDF_CMD} \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/git-macro.rb \ + -r ./shared/lib/packages-macro.rb \ + -r ./shared/lib/inter-document-references-macro.rb \ + -r ./shared/lib/sectnumoffset-treeprocessor.rb \ + --doctype=book \ + -a skip-front-matter \ + -a pdf-theme=./themes/default-pdf-theme.yml \ + -o ${_curpdf}book.pdf \ + ${_curpdf}book.adoc +.else +# some books use _index.adoc as main document + ${ASCIIDOCTORPDF_CMD} \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/git-macro.rb \ + -r ./shared/lib/packages-macro.rb \ + -r ./shared/lib/inter-document-references-macro.rb \ + -r ./shared/lib/sectnumoffset-treeprocessor.rb \ + --doctype=book \ + -a skip-front-matter \ + -a pdf-theme=./themes/default-pdf-theme.yml \ + -o ${_curpdf}book.pdf \ + ${_curpdf}_index.adoc +.endif +.endfor + +pdf-articles: pdf-articles-target + +# Articles buil +.for _curpdf in ${ARTICLESDIR} + ${ASCIIDOCTORPDF_CMD} \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/man-macro.rb \ + -r ./shared/lib/git-macro.rb \ + -r ./shared/lib/packages-macro.rb \ + -r ./shared/lib/inter-document-references-macro.rb \ + -r ./shared/lib/sectnumoffset-treeprocessor.rb \ + --doctype=article \ + -a skip-front-matter \ + -a pdf-theme=./themes/default-pdf-theme.yml \ + -o ${_curpdf}article.pdf \ + ${_curpdf}_index.adoc +.endfor + +pdf-books-clean: pdf-books-target +.for _curpdf in ${BOOKSDIR} + rm -f ${_curpdf}book.pdf ${_curpdf}toc*.adoc +.endfor + +pdf-articles-clean: pdf-articles-target +.for _curpdf in ${ARTICLESDIR} + rm -f ${_curpdf}article.pdf +.endfor