what's up with smarty/docs ?

From: Date: Mon, 29 Mar 2004 11:54:24 +0000
Subject: what's up with smarty/docs ?
Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-2246@lists.php.net to get a copy of this message
Hi folks, Just a little summary of the work accomplished by Nuno and I during the last weeks. 1) - created a phpdoc-like build system : - added the ./configure & make stuff - added an entities/global.ent file containing the general entities - created a "en" directory and moved english files there - renamed all the files from .sgml to .xml 2) - fixed dockbook syntaxes : - escaped some special chars like & => &amp; - switched from <functionsynopsis> to <methodsynopsis> in some files to fix build - added toons of roles for programlistings, added CDATA sections, unescaped HTML encoding in CDATA (it's safe now) 3) - splits : - splitted programmers.xml, designers.xml and appendices.xml by chapters . Here's how the "en" directory looks like now : . |-- CVS | |-- Entries | |-- Repository | |-- Root | `-- Template |-- appendixes | |-- CVS | | |-- Entries | | |-- Repository | | |-- Root | | `-- Template | |-- bugs.xml | |-- resources.xml | |-- tips.xml | `-- troubleshooting.xml |-- bookinfo.xml |-- designers | |-- CVS | | |-- Entries | | |-- Repository | | |-- Root | | `-- Template | |-- chapter-debugging-console.xml | |-- config-files.xml | |-- language-basic-syntax.xml | |-- language-builtin-functions.xml | |-- language-combining-modifiers.xml | |-- language-custom-functions.xml | |-- language-modifiers.xml | `-- language-variables.xml |-- getting-started.xml |-- language-defs.ent |-- preface.xml `-- programmers
    |-- CVS
    |   |-- Entries
    |   |-- Repository
    |   |-- Root
    |   `-- Template
    |-- advanced-features.xml
    |-- api-functions.xml
    |-- api-variables.xml
    |-- caching.xml
    |-- plugins.xml
    `-- smarty-constants.xml
Why did we do it ? I remember when I tried to translate smarty's docs to french last year, it was a pain in the ass. This will help new translations and keeping the already translated files in sync easy. BTW, I think we'll split others files (especially under programmers/ and designers/) 4) - Added smarty to livedocs Here's how I build the smarty manual now on my box : didou@keliglia:~/cvs/livedocs$ ./configure --with-build-log=log.txt --with-docs=/home/user/didou/cvs/smarty/docs --with-output-dir=/home/user/didou/www/didou/php/livedocs-smarty --with-build-type=smarty --with-web-base=/php/livedocs-smarty/ --with-languages="en fr de pt_BR" Here's the result (english language only) : http://didou.keliglia.com/php/livedocs-smarty/index.php?l=en&q=manual The build process is really fast : < messju> the build.sh takes ~8 seconds for 4 languages. but it's only a celeron 533 mhz 5) - Various stuff * fixed a big mess with french accents * changed the ugly programlisting with modifiers of date_format to a nice <itemizedlist> 6) - TODO it's never over ;) here's a quick TODO that I'll commit to smarty/docs/, there's two categories : *normal mode* : - add a PHP script that will generate dynamically all the files entity in manual.xml - add CDATA sections in all programlistings. - add roles to programlisting (especially role="php") and add PHP tags in PHP examples (short_open_tag is banned). This will help to : -- colorize examples -- check parse errors : for i in $(ls |grep xml); do php -d short_open_tag=off -l $i; done *pedentic mode* : - fix indenting in all .xml files : don't uses tabs, indent by a space. Here's a nice indentation : <para> <example> <title /> <programlisting> <![CDATA[ // .. ]]> </programlisting> </example> </para> - clean all the examples : (if aggreed) examples should be XHTML compliant and should stick to PEAR's coding standards. Here's how a complete example, using PHP and templates, should be written : <example>
    <title>html_image example</title>
    <programlisting role="php">
<![CDATA[ <?php require('Smarty.class.php'); $smarty = new Smarty; $smarty->display('index.tpl'); ?> ]]>
    </programlisting>
    <para>
     where index.tpl is:
    </para>
    <programlisting>
<![CDATA[ {html_image file="pumpkin.jpg"} ]]>
    </programlisting>
    <para>
     a possible output would be:
    </para>
    <screen>
<![CDATA[ <img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /> ]]>
    </screen>
</example> 7) - questions : * may someone take care of smarty's theme for livedocs ? 8) - conclusions : a big "thank you" to Nuno, he helped with the build process. and thank you all for your great mood ! First time I don't get blamed when screwing up docs ;) Hope you'll enjoy it ! Mehdi Achour

« previous php.smarty.dev (#2246) next »