doc/share/mk/doc.slides.mk
Murray Stokely 54ab45e845 Add support for building documents in our doc/ tree marked up in
Norman Walsh's DocBook Slides DTD.

This DTD offers the vocabulary of simplified DocBook for
presentations.  Initially, the supported output formats are PDF and
HTML.

XSL stylesheets are used so libxslt is required.

PassiveTeX is used for the PDF generation to convert the XSL-FO
directly to PDF.

This commit moves various TeX definitions out of doc.docbook.mk and
into doc.project.mk, since docbook is no longer the only back-end to
utilize TeX.

An example Makefile would look like :

----
DOCFORMAT=	slides
DOC=		slides

SRCS=	slides.xml

DOC_PREFIX?=	${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
---

And an example slides file (slides.xml) looks like :

---
<!DOCTYPE slides PUBLIC "-//Norman Walsh//DTD Slides XML V3.3.1//EN"
  "http://docbook.sourceforge.net/releases/slides/3.3.1/slides.dtd">
<slides>
<slidesinfo>
  <title>What's new in FreeBSD 5.3</title>
  <titleabbrev>FreeBSD 5.3</titleabbrev>
</slidesinfo>

<foil><title>Introduction Slide</title>
  <para>Content</para>
</foil>
</slides>
---

You could then build the HTML and PDF versions of the slides by typing
"make FORMATS='pdf html'".  Enjoy.

Please coordinate with doceng@ before importing any presentations to
doc/.
2004-09-02 17:12:14 +00:00

63 lines
1.6 KiB
Makefile

#
# $FreeBSD$
#
# This include file <doc.slides.mk> handles building and installing of
# DocBook Slides in the FreeBSD Documentation Project.
#
# Documentation using DOCFORMAT=slides is expected to be marked up
# according to the DocBook slides DTD.
#
# PDF and HTML output formats are currently supported.
#
# ------------------------------------------------------------------------
#
# Document-specific variables
#
# DOC This should be set to the name of the SLIDES
# marked-up file, without the .xml suffix.
#
# It also determins the name of the output files
# for print output : ${DOC}.pdf
#
# DOCBOOKSUFFIX The suffix of your document, defaulting to .xml
#
DOCBOOKSUFFIX?= xml
MASTERDOC?= ${.CURDIR}/${DOC}.${DOCBOOKSUFFIX}
KNOWN_FORMATS= html pdf
CSS_SHEET?=
SLIDES_XSLDIR= /usr/local/share/xsl/slides/xsl/
SLIDES_XSLHTML= ${SLIDES_XSLDIR}xhtml/default.xsl
SLIDES_XSLPRINT= ${SLIDES_XSLDIR}fo/plain.xsl
# Loop through formats we should build.
.for _curformat in ${FORMATS}
_cf=${_curformat}
# Create a 'bogus' doc for any format we support or not. This is so
# that we can fake up a target for it later on, and this target can print
# the warning message about the unsupported format.
_docs+= ${DOC}.${_curformat}
CLEANFILES+= ${DOC}.${_curformat}
.if ${_cf} == "pdf"
CLEANFILES+= ${DOC}.fo ${DOC}.aux ${DOC}.log ${DOC}.out ${DOC}.pdf texput.log
.endif
.endfor
.MAIN: all
all: ${_docs}
${DOC}.html: ${SRCS}
${XSLTPROC} ${XSLTPROCOPTS} ${SLIDES_XSLHTML} ${.ALLSRC}
${DOC}.pdf: ${SRCS}
${XSLTPROC} ${XSLTPROCOPTS} ${SLIDES_XSLPRINT} ${.ALLSRC} > ${.TARGET:S/.pdf$/.fo/}
${PDFTEX_CMD} --interaction nonstopmode "&pdfxmltex" ${.TARGET:S/.pdf$/.fo/}