cvs: phpdoc(REF_STRUCT_DEV) / .cvsignore configure.php

From: Date: Sun, 11 Nov 2007 02:41:50 +0000
Subject: cvs: phpdoc(REF_STRUCT_DEV) / .cvsignore configure.php
Groups: php.doc.cvs 
Request: Send a blank email to doc-cvs+get-372@lists.php.net to get a copy of this message
ezyang Sun Nov 11 02:41:50 2007 UTC Modified files: (Branch: REF_STRUCT_DEV) /phpdoc .cvsignore configure.php Log: Add support for --partial flag, which generates smaller .manual.partname.xml files that PhD can use. http://cvs.php.net/viewvc.cgi/phpdoc/.cvsignore?r1=1.46&r2=1.46.2.1&diff_format=u Index: phpdoc/.cvsignore diff -u phpdoc/.cvsignore:1.46 phpdoc/.cvsignore:1.46.2.1 --- phpdoc/.cvsignore:1.46 Sun Sep 18 12:04:14 2005 +++ phpdoc/.cvsignore Sun Nov 11 02:41:50 2007 @@ -14,6 +14,7 @@ *.zip *.chm .manual.xml +.manual.*.xml Makefile confdefs.h config.cache http://cvs.php.net/viewvc.cgi/phpdoc/configure.php?r1=1.6.2.3&r2=1.6.2.4&diff_format=u Index: phpdoc/configure.php diff -u phpdoc/configure.php:1.6.2.3 phpdoc/configure.php:1.6.2.4 --- phpdoc/configure.php:1.6.2.3 Mon Nov 5 11:27:20 2007 +++ phpdoc/configure.php Sun Nov 11 02:41:50 2007 @@ -17,10 +17,10 @@ | Authors: Dave Barr <dave@php.net> | +----------------------------------------------------------------------+ - $Id: configure.php,v 1.6.2.3 2007/11/05 11:27:20 rquadling Exp $ + $Id: configure.php,v 1.6.2.4 2007/11/11 02:41:50 ezyang Exp $ */ -$cvs_id = '$Id: configure.php,v 1.6.2.3 2007/11/05 11:27:20 rquadling Exp $'; +$cvs_id = '$Id: configure.php,v 1.6.2.4 2007/11/11 02:41:50 ezyang Exp $'; $srcdir = "./"; echo "configure.php: $cvs_id\n"; @@ -114,10 +114,12 @@ $ac['HTMLHELP_ENCODING'] = ''; $ac['SP_OPTIONS'] = 'SP_ENCODING=XML SP_CHARSET_FIXED=YES'; $ac['FORCE_DOM_SAVE'] = false; +$ac['PARTIAL'] = false; $allowed_opts = array( 'help', 'force-dom-save', + 'partial', 'with-php=', 'with-jade=', 'with-nsgmls=', @@ -203,6 +205,10 @@ case '--with-treesaving': $ac['TREESAVING'] = '#t'; break; + case '--partial': + case '-p': + $ac['PARTIAL'] = $v; + break; case '--force-dom-save': $ac['FORCE_DOM_SAVE'] = true; break; @@ -893,6 +899,38 @@ $dom = new DOMDocument(); $dom->load("manual.xml", LIBXML_NOENT); $dom->xinclude(); + +if ($ac['PARTIAL']) { + $node = $dom->getElementById($ac['PARTIAL']); + if (!$node) exit("Failed to find partial ID in source XML"); + if ($node->tagName !== 'book' && $node->tagName !== 'set') { + // this node is not normally allowed here, attempt to wrap it + // in something else + $parents = array(); + switch ($node->tagName) { + case 'refentry': + $parents[] = 'reference'; + case 'part': + $parents[] = 'book'; + break; + } + foreach ($parents as $name) { + $newNode = $dom->createElement($name); + $newNode->appendChild($node); + $node = $newNode; + } + } + $set = $dom->documentElement; + $set->nodeValue = ''; + $set->appendChild($dom->createElement('title', 'PHP Manual (Partial)')); // prevent validate from complaining unnecessarily + $set->appendChild($node); + $dom->validate(); // we don't care if the validation works or not + $filename = '.manual.' . $ac['PARTIAL'] . '.xml'; + $dom->save($filename); + echo "Partial manual saved to $filename, run php build.php on this file\n"; + exit(0); +} + if ($dom->validate()) { echo "All good.\n"; $dom->save(".manual.xml"); @@ -904,4 +942,4 @@ $dom->save(".manual.xml"); exit(1); // Tell the shell that this script finished with an error. } - +

« previous php.doc.cvs (#372) next »