From b548ecd0101225ccad2d33bd5ff079ae5ee8f589 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Thu, 9 Dec 2004 21:58:42 +0000 Subject: [PATCH] initial checkin [SVN r26482] --- src/tools/docutils.jam | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 src/tools/docutils.jam diff --git a/src/tools/docutils.jam b/src/tools/docutils.jam new file mode 100755 index 000000000..0976c607d --- /dev/null +++ b/src/tools/docutils.jam @@ -0,0 +1,65 @@ +# Copyright David Abrahams 2004. Distributed under the Boost +# Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +# Support for docutils ReStructuredText processing. + +import type ; +import scanner ; +import generators ; +import os ; +import common ; +import toolset ; +import path ; + +.initialized = ; + +type.register ReST : rst ; + +class rst-scanner : common-scanner +{ + rule pattern ( ) + { + return "^\\w*\\.\\.\\w+include::\w+(.*)" + "^\\w*\\.\\.\\w+image::\w+(.*)" + "^\\w*\\.\\.\\w+figure::\w+(.*)" + ; + } +} + +scanner.register rst-scanner : include ; +type.set-scanner ReST : rst-scanner ; + +generators.register-standard docutils.html : ReST : HTML ; + +rule init ( docutils-dir ) +{ + docutils-dir ?= [ modules.peek : DOCUTILS_DIR ] ; + + if ! $(.initialized) + { + .initialized = true ; + .docutils-dir = $(docutils-dir) ; + + .setup = [ + common.path-variable-setting-command PYTHONPATH + : $(.docutils-dir) $(.docutils-dir)/extras + : exported ] ; + } +} + +rule html ( target : source : properties * ) +{ + docutils-dir on $(target) = $(.docutils-dir) ; +} + + +toolset.flags docutils COMMON-FLAGS : ; +toolset.flags docutils HTML-FLAGS : ; + +actions html +{ + $(.setup) + python $(docutils-dir)/tools/rst2html.py $(COMMON-FLAGS) $(HTML-FLAGS) $(>) $(<) +} +