==== PhD -- Building the PHP manual with PHP ==== PhD takes the PHP Manual sources (DocBook) and outputs the various forms of the PHP Manual. It's generic enough to work on non-php.net projects, although that part is not perfect. If you have questions, add them to the [[doc:phd:faq|FAQ]]. == PhD Setup (N/A) == Replaces: * configure.php * bunch of scripts in the scripts/ directory == PhD Build (N/A) == Replaces the `test`, `test_xml` `.manual.xml` make targets (i.e. builds the `.manual.xml` file and validates it). == PhD Renderer (Beta) == Takes the .manual.xml (the file configure.php creates, which is the entire manual as one valid XML file) and generates several possible formats and themes for each translation including: * The PHP.net theme (phpweb): ~6000 php files * HTML: ~6000 html files * HTML: One bightml.html file * PDF: PDF versions, either as one or several PDF files * CHM: The CHM files * MAN: Man pages ==== Where to get ==== * Definitive Guide: [[http://doc.php.net/phd/docs/]] * Source: [[http://svn.php.net/viewvc/phd/]] * [[doc:phd:install|Installation docs]] * Demo: [[http://php.net/manual/]] * Bugs and feature requests: [[http://bugs.php.net/search.php?cmd=display&status=Open&bug_type%5B%5D=Doc+Build+problem|PhD Bugs at bugs.php.net]] ==== Requirements ==== * PHP 5 (5.3 preferred) === PHP exts === Required, but enabled by default as of PHP 5: * libxml2 * xmlreader * dom Optional: * Haru (or PDF) ==== Usage ==== Because the builder is incomplete, we still use the current system to build the huge .manual.xml file. An example use of PhD today (See `phd -h` for more options): NOTE: You need to [[doc:phd:install|install PhD]] first. $ svn co http://svn.php.net/repository/phpdoc/modules/doc-en phpdoc $ cd phpdoc $ php doc-base/configure.php $ phd -d doc-base/.manual.xml -o output_dir -f php -P PHP This will create * "php" directory containing the "phpweb" files * "xhtml" direcotry containing the "downloadable chunked html" files * "bigxhtml" file, which is the "downloadable bightml" file See the "[[doc/phd/view|Viewing the results]]" for various ways of viewing the rendered files. ==== TODO / Planning ==== * See the [[doc/todo/phd]] page