On Jul 10, 2013, at 8:29 PM, Bogdan Popescu <bogdan...@gmail.com> wrote:

> I'm the developer behind Dash, a OS X documentation browser 
> (http://kapeli.com/dash) and I rely on those CHMs for generating the PHP 
> docset.
> 
> Can you point me in the right direction to get more information on how the 
> CHMs get generated and what exactly is wrong with them?

Hello Bogdan,

I'm not an expert but will try. Some links:

  http://svn.php.net/viewvc/phpdoc/doc-base/trunk/build.chms.bat

That script refers to:

  http://svn.php.net/viewvc/phpdoc/doc-base/trunk/scripts/build-chms-config.php
  http://svn.php.net/viewvc/phpdoc/doc-base/trunk/scripts/build-chms.php

And there's also:

  http://svn.php.net/viewvc/phpdoc/doc-base/trunk/scripts/build-chms-history.php

The fetching (copying to mirrors (well, rsync)) takes place here:

  http://svn.php.net/viewvc/phpdoc/doc-base/trunk/scripts/fetch-chms.php

This shows the builds happen on the following server, which lists a bunch 
of files:

  http://php.tuxxedo.net/chm/

We used to build CHMs on a dedicated php.net Windows box but that donated 
box disappeared so Kalle added the builds last month I believe.

Here's a recent post that lists ~all of the CHM bugs, including the
current issue:

  http://markmail.org/message/4ocibtg5tcpd4mgx

Hopefully this will help. The above refers to a "phd" that renders the
XML to other formats like HTML, so install phd:

  https://wiki.php.net/doc/phd/install

But you'll also need the documentation source (XML) files, so:

  https://wiki.php.net/doc/howto/gettingstarted

So, basically, to build the HTML version of the PHP manual from source:

  $ pear install phpdocs/PhD phpdocs/PhD_Generic phpdocs/PhD_PHP
  $ svn checkout https://svn.php.net/repository/phpdoc/modules/doc-en phpdoc
  $ cd phpdoc
  $ php doc-base/configure.php 
  $ phd --docbook doc-base/.manual.xml --package PHP --format xhtml

Creating the CHM means modifying those a bit, like (I think):

  $ php doc-base/configure.php --enable-chm
  $ phd --docbook doc-base/.manual.xml --package PHP --format chm

The scripts quoted earlier (e.g., build-chms.php) pass in those options
but building the simpler HTML version at least shows your system is able
to function.

So while this does not answer your question, it's at least a start. :)

Regards,
Philip

Reply via email to