Changeset View
Changeset View
Standalone View
Standalone View
documentation/Makefile
Context not available. | |||||
RUBY_CMD = ${LOCALBASE}/bin/ruby | RUBY_CMD = ${LOCALBASE}/bin/ruby | ||||
HUGO_CMD = ${LOCALBASE}/bin/hugo | HUGO_CMD = ${LOCALBASE}/bin/hugo | ||||
HUGO_ARGS?= --verbose --minify | HUGO_ARGS?= --verbose --minify | ||||
HUGO_OFFLINE_ARGS?= --environment offline --minify | |||||
dbaio: Please, add `--verbose` here. | |||||
ASCIIDOCTOR_CMD= ${LOCALBASE}/bin/asciidoctor | ASCIIDOCTOR_CMD= ${LOCALBASE}/bin/asciidoctor | ||||
ASCIIDOCTORPDF_CMD= ${LOCALBASE}/bin/asciidoctor-pdf | ASCIIDOCTORPDF_CMD= ${LOCALBASE}/bin/asciidoctor-pdf | ||||
SED_CMD = /usr/bin/sed | |||||
.if defined(DOC_LANG) && !empty(DOC_LANG) | .if defined(DOC_LANG) && !empty(DOC_LANG) | ||||
LANGUAGES= ${DOC_LANG:S/,/ /g} | LANGUAGES= ${DOC_LANG:S/,/ /g} | ||||
.if ${LANGUAGES:Men} == "" && ${.TARGETS:Mpdf*} == "" && ${.TARGETS:Mhtml*} == "" | .if ${LANGUAGES:Men} == "" && ${.TARGETS:Mpdf*} == "" && ${.TARGETS:Mhtml*} == "" | ||||
Context not available. | |||||
RUN_DEPENDS= ${PYTHON_CMD} \ | RUN_DEPENDS= ${PYTHON_CMD} \ | ||||
${HUGO_CMD} \ | ${HUGO_CMD} \ | ||||
${LOCALBASE}/bin/asciidoctor \ | ${LOCALBASE}/bin/asciidoctor \ | ||||
${LOCALBASE}/bin/asciidoctor-pdf \ | |||||
Not Done Inline ActionsRemove this on RUN_DEPENDS. We still can have the requirements-pdf target here.: -pdf-books: generate-books-toc +pdf-books: requirements-pdf generate-books-toc -pdf-articles: +pdf-articles: requirements-pdf dbaio: Remove this on `RUN_DEPENDS`.
If brings an old issue:
https://cgit.freebsd.org/doc/commit/? | |||||
${LOCALBASE}/bin/rougify | ${LOCALBASE}/bin/rougify | ||||
.ifndef HOSTNAME | .ifndef HOSTNAME | ||||
Context not available. | |||||
.endif | .endif | ||||
.endfor | .endfor | ||||
requirements-pdf: | |||||
.if !exists(${LOCALBASE}/bin/asciidoctor-pdf) | |||||
@(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1) | |||||
.endif | |||||
Not Done Inline ActionsPlease, restore this. dbaio: Please, restore this. | |||||
starting-message: .PHONY | starting-message: .PHONY | ||||
@echo --------------------------------------------------------------- | @echo --------------------------------------------------------------- | ||||
@echo Building the documentation | @echo Building the documentation | ||||
Context not available. | |||||
${PYTHON_CMD} ./tools/books-toc-examples-creator.py -l ${BOOK_LANGS} | ${PYTHON_CMD} ./tools/books-toc-examples-creator.py -l ${BOOK_LANGS} | ||||
.endif | .endif | ||||
generate-books-toc-offline: .PHONY | |||||
.if !empty(BOOK_LANGS) | |||||
${PYTHON_CMD} ./tools/books-toc-parts-creator.py -o -l ${BOOK_LANGS} | |||||
${PYTHON_CMD} ./tools/books-toc-creator.py -o -l ${BOOK_LANGS} | |||||
${PYTHON_CMD} ./tools/books-toc-figures-creator.py -o -l ${BOOK_LANGS} | |||||
${PYTHON_CMD} ./tools/books-toc-tables-creator.py -o -l ${BOOK_LANGS} | |||||
${PYTHON_CMD} ./tools/books-toc-examples-creator.py -o -l ${BOOK_LANGS} | |||||
.endif | |||||
generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt | generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt | ||||
static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key | static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key | ||||
Context not available. | |||||
build: .PHONY | build: .PHONY | ||||
HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_ARGS} | HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_ARGS} | ||||
build-offline: .PHONY | |||||
HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_OFFLINE_ARGS} | |||||
toc-clean: .PHONY | toc-clean: .PHONY | ||||
.if !empty(BOOK_LANGS) | .if !empty(BOOK_LANGS) | ||||
rm -f $$(${PYTHON_CMD} ./tools/books-toc-parts-creator.py -l ${BOOK_LANGS} -o) | rm -f $$(${PYTHON_CMD} ./tools/books-toc-parts-creator.py -l ${BOOK_LANGS} -p) | ||||
rm -f $$(${PYTHON_CMD} ./tools/books-toc-creator.py -l ${BOOK_LANGS} -o) | rm -f $$(${PYTHON_CMD} ./tools/books-toc-creator.py -l ${BOOK_LANGS} -p) | ||||
rm -f $$(${PYTHON_CMD} ./tools/books-toc-figures-creator.py -l ${BOOK_LANGS} -o) | rm -f $$(${PYTHON_CMD} ./tools/books-toc-figures-creator.py -l ${BOOK_LANGS} -p) | ||||
rm -f $$(${PYTHON_CMD} ./tools/books-toc-tables-creator.py -l ${BOOK_LANGS} -o) | rm -f $$(${PYTHON_CMD} ./tools/books-toc-tables-creator.py -l ${BOOK_LANGS} -p) | ||||
rm -f $$(${PYTHON_CMD} ./tools/books-toc-examples-creator.py -l ${BOOK_LANGS} -o) | rm -f $$(${PYTHON_CMD} ./tools/books-toc-examples-creator.py -l ${BOOK_LANGS} -p) | ||||
.endif | .endif | ||||
pgp-clean: .PHONY | pgp-clean: .PHONY | ||||
Context not available. | |||||
# | # | ||||
pdf: pdf-articles pdf-books | pdf: pdf-articles pdf-books | ||||
pdf-books-target: | pdf-books: generate-books-toc | ||||
.for _lang in ${BOOK_LANGS} | .for _lang in ${BOOK_LANGS} | ||||
TMP+= ${.CURDIR}/content/${_lang}/books/*/ | ./tools/asciidoctor.sh books ${_lang} pdf | ||||
.endfor | .endfor | ||||
BOOKSDIR != echo ${TMP} | |||||
pdf-articles-target: | pdf-articles: | ||||
.for _lang in ${ARTICLE_LANGS} | .for _lang in ${ARTICLE_LANGS} | ||||
TTMP += ${.CURDIR}/content/${_lang}/articles/*/ | ./tools/asciidoctor.sh articles ${_lang} pdf | ||||
.endfor | |||||
ARTICLESDIR != echo ${TTMP} | |||||
pdf-books: requirements-pdf pdf-books-target generate-books-toc | |||||
# Books build | |||||
# | |||||
# Notes: | |||||
# pdf-theme=default-with-fallback-font is | |||||
# used instead of pdf-theme=./themes/default-pdf-theme.yml because | |||||
# it allows ja, ru, tr, zh-* fonts to be embedded and rendering is | |||||
# better for other languages. | |||||
# | |||||
# asciidoctor-pdf-cjk and/or specific themes should be used for cjk | |||||
# fonts | |||||
.for _curpdf in ${BOOKSDIR} | |||||
@mkdir -p ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||} | |||||
.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=default-with-fallback-font \ | |||||
-o ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||}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=default-with-fallback-font \ | |||||
-o ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||}book.pdf \ | |||||
${_curpdf}_index.adoc | |||||
.endif | |||||
.endfor | |||||
pdf-articles: requirements-pdf pdf-articles-target | |||||
# Articles build | |||||
.for _curpdf in ${ARTICLESDIR} | |||||
@mkdir -p ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||} | |||||
${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=default-with-fallback-font \ | |||||
-o ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||}article.pdf \ | |||||
${_curpdf}_index.adoc | |||||
.if exists(${.CURDIR}/static/source/articles/${_curpdf:H:T}) | |||||
cp -R ${.CURDIR}/static/source/articles/${_curpdf:H:T}/ \ | |||||
${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||} | |||||
.endif | |||||
.endfor | .endfor | ||||
pdf-clean: pdf-articles-clean pdf-books-clean | pdf-clean: pdf-articles-clean pdf-books-clean | ||||
pdf-books-clean: pdf-books-target toc-clean | pdf-books-clean: | ||||
.for _curpdf in ${BOOKSDIR} | |||||
rm -f ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||}book.pdf | |||||
.endfor | |||||
.for _lang in ${BOOK_LANGS} | .for _lang in ${BOOK_LANGS} | ||||
rm -fr ${.CURDIR}/public/${_lang}/books | rm -fr ${.CURDIR}/public/${_lang}/books | ||||
-rmdir ${.CURDIR}/public/${_lang} | -rmdir ${.CURDIR}/public/${_lang} | ||||
.endfor | .endfor | ||||
-rmdir ${.CURDIR}/public/ | -rmdir ${.CURDIR}/public/ | ||||
# | pdf-articles-clean: | ||||
# HTML targets | |||||
# Use DOC_LANG to choose the language, e.g., make DOC_LANG="en fr" html-books | |||||
# | |||||
html: html-articles html-books | |||||
html-books-target: | |||||
.for _lang in ${BOOK_LANGS} | |||||
TMPH += ${.CURDIR}/content/${_lang}/books/*/ | |||||
.endfor | |||||
BOOKSDIR != echo ${TMPH} | |||||
html-articles-target: | |||||
.for _lang in ${ARTICLE_LANGS} | |||||
TTMPH += ${.CURDIR}/content/${_lang}/articles/*/ | |||||
.endfor | |||||
ARTICLESDIR != echo ${TTMPH} | |||||
html-books: html-books-target generate-books-toc | |||||
# Books build | |||||
# | |||||
.for _curhtml in ${BOOKSDIR} | |||||
@mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||} | |||||
.if exists(${_curhtml}book.adoc) | |||||
${ASCIIDOCTOR_CMD} \ | |||||
-B ${.CURDIR}/ \ | |||||
-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 linkcss -a copycss=${.CURDIR}/themes/beastie/static/css/docbook.css -a stylesheet=docbook.css -a stylesdir=../../css \ | |||||
-a iconfont-remote! -a iconfont-name=font-awesome-min \ | |||||
-o ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}book.html \ | |||||
${_curhtml}book.adoc | |||||
.if exists(${.CURDIR}/static/images/books/${_curhtml:H:T}) | |||||
@mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/books/ | |||||
cp -R ${.CURDIR}/static/images/books/${_curhtml:H:T}/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/books/${_curhtml:H:T}/ | |||||
${SED_CMD} -i '' -e "s|../../../../images|../../images|g" \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}book.html | |||||
.endif | |||||
.else | |||||
# some books use _index.adoc as main document | |||||
${ASCIIDOCTOR_CMD} \ | |||||
-B ${.CURDIR}/ \ | |||||
-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 linkcss -a copycss=${.CURDIR}/themes/beastie/static/css/docbook.css -a stylesheet=docbook.css -a stylesdir=../../css \ | |||||
-a iconfont-remote! -a iconfont-name=font-awesome-min \ | |||||
-o ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}book.html \ | |||||
${_curhtml}_index.adoc | |||||
.if exists(${.CURDIR}/static/images/books/${_curhtml:H:T}) | |||||
@mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/books/ | |||||
cp -R ${.CURDIR}/static/images/books/${_curhtml:H:T}/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/books/${_curhtml:H:T}/ | |||||
${SED_CMD} -i '' -e "s|../../../../images|../../images|g" \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}book.html | |||||
.endif | |||||
.endif | |||||
.if !exists(${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/) | |||||
mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/ | |||||
cp -R ${.CURDIR}/themes/beastie/static/fonts/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/ | |||||
cp ${.CURDIR}/themes/beastie/static/css/font-awesome-min.css \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/css/ | |||||
.endif | |||||
.endfor | |||||
html-articles: html-articles-target | |||||
# Articles build | |||||
.for _curhtml in ${ARTICLESDIR} | |||||
@mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||} | |||||
${ASCIIDOCTOR_CMD} \ | |||||
-B ${.CURDIR}/ \ | |||||
-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 linkcss -a copycss=${.CURDIR}/themes/beastie/static/css/docbook.css -a stylesheet=docbook.css -a stylesdir=../../css \ | |||||
-a iconfont-remote! -a iconfont-name=font-awesome-min \ | |||||
-o ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}article.html \ | |||||
${_curhtml}_index.adoc | |||||
.if exists(${.CURDIR}/static/source/articles/${_curhtml:H:T}) | |||||
cp -R ${.CURDIR}/static/source/articles/${_curhtml:H:T}/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||} | |||||
.endif | |||||
.if exists(${.CURDIR}/static/images/articles/${_curhtml:H:T}) | |||||
@mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/articles/ | |||||
cp -R ${.CURDIR}/static/images/articles/${_curhtml:H:T}/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/images/articles/${_curhtml:H:T}/ | |||||
${SED_CMD} -i '' -e "s|../../../images|../../images|g" \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}article.html | |||||
.endif | |||||
.if !exists(${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/) | |||||
mkdir -p ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/ | |||||
cp -R ${.CURDIR}/themes/beastie/static/fonts/ \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/fonts/ | |||||
cp ${.CURDIR}/themes/beastie/static/css/font-awesome-min.css \ | |||||
${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||:H:H:H}/css/ | |||||
.endif | |||||
.endfor | |||||
html-clean: html-resources-clean html-articles-clean html-books-clean | |||||
html-resources-clean: | |||||
.for _lang in ${LANGUAGES} | |||||
rm -fr ${.CURDIR}/public/${_lang}/css | |||||
rm -fr ${.CURDIR}/public/${_lang}/fonts | |||||
rm -fr ${.CURDIR}/public/${_lang}/images | |||||
.endfor | |||||
html-books-clean: html-books-target toc-clean | |||||
.for _curhtml in ${BOOKSDIR} | |||||
rm -f ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}book.html ${_curhtml}toc*.adoc | |||||
-rmdir ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||} | |||||
.endfor | |||||
.for _lang in ${BOOK_LANGS} | |||||
rm -fr ${.CURDIR}/public/${_lang}/books | |||||
rm -fr ${.CURDIR}/public/${_lang}/images/books | |||||
-rmdir ${.CURDIR}/public/${_lang} | |||||
.endfor | |||||
-rmdir ${.CURDIR}/public | |||||
html-articles-clean: html-articles-target | |||||
.for _curhtml in ${ARTICLESDIR} | |||||
rm -f ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||}article.html | |||||
-rmdir ${.CURDIR}/public${_curhtml:S|^${.CURDIR}/content||} | |||||
.endfor | |||||
.for _lang in ${ARTICLE_LANGS} | |||||
rm -fr ${.CURDIR}/public/${_lang}/articles | |||||
rm -fr ${.CURDIR}/public/${_lang}/images/articles | |||||
-rmdir ${.CURDIR}/public/${_lang} | |||||
.endfor | |||||
-rmdir ${.CURDIR}/public | |||||
pdf-articles-clean: pdf-articles-target | |||||
.for _curpdf in ${ARTICLESDIR} | |||||
rm -f ${.CURDIR}/public${_curpdf:S|^${.CURDIR}/content||}article.pdf | |||||
.endfor | |||||
.for _lang in ${ARTICLE_LANGS} | .for _lang in ${ARTICLE_LANGS} | ||||
rm -fr ${.CURDIR}/public/${_lang}/articles | rm -fr ${.CURDIR}/public/${_lang}/articles | ||||
.if !exists(${.CURDIR}/public/${_lang}/books) | .if !exists(${.CURDIR}/public/${_lang}/books) | ||||
Context not available. | |||||
.endfor | .endfor | ||||
-rmdir ${.CURDIR}/public | -rmdir ${.CURDIR}/public | ||||
# | |||||
# HTML targets | |||||
# | |||||
html: generate-books-toc-offline build-offline | |||||
html-clean: hugo-clean | |||||
Context not available. |
Please, add --verbose here.