doc:phd

This is an old revision of the document!


PhD -- Building the PHP manuals of the future

PhD takes PHP Manual sources (DocBook) and outputs a beautiful manual for all to see. It's generic enough to work on non-php.net projects too.

If you have questions, add it to the 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 and generates ~6000 php files, ~6000 html files and one bightml.html file. This also generates CHM and PDF files.

Where to get

Requirements

  • PHP 5 (5.3 preferred)

PHP exts

These are all enabled by default in PHP 5.

  • libxml2
  • xmlreader
  • dom

Usage

Because the builder is not done, we still use the current system to build the .manual.xml file. An example use of PhD today (See `phd -h` for more options):

NOTE: You need to install PhD first.

$ cvs -d:pserver:cvsread@cvs.php.net/repository co phpdoc
$ cd phpdoc
$ php configure.php
$ phd -d .manual.xml

This will create

  • “php” directory containing the “phpweb” files
  • “html” direcotry containing the “downloadable chunked html” files
  • “bightml.html” file, which is the “downloadable bightml” file

See the “Viewing the results” for various ways of viewing the rendered files.

TODO / Planning

  • Use PEAR style class naming and class locations
  • Split up into different packages: phd core, phd xhtml, phd pdf, and theme packages
  • Remove dependency on version.xml as it's possible with pear themes
  • “so I could do pear install phd && pear install phd-xhtml && pear install phd-peardoc or pear install phd-all to install everything”
doc/phd.1235171112.txt.gz · Last modified: 2017/09/22 13:28 (external edit)