doc:howto:faq
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:howto:faq [2013/01/24 03:35] – WS philip | doc:howto:faq [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Questions related to writing documentation ===== | + | This page has been removed, in favor of [[http:// |
- | + | ||
- | //If a < | + | |
- | * Add the **role=" | + | |
- | * Example: %%< | + | |
- | + | ||
- | //How do I add a link to a method?// | + | |
- | * Use %%< | + | |
- | * Note that the case does not matter when adding a link. | + | |
- | + | ||
- | //How do I add an external link to the documentation?// | + | |
- | * All external links are added to doc-base/ | + | |
- | * Add the link there (to global.ent) | + | |
- | * The global.ent markup might look like: %%< | + | |
- | * Add the link to the documentation (foo.xml) | + | |
- | * The markup might look like: %%<link xlink: | + | |
- | * Be sure the file understands the namespace with %%xmlns: | + | |
- | + | ||
- | //I made a change to a file but want to revert this change, how?// | + | |
- | * To merge a file to the previous state: svn merge -rHEAD:PREV filename.xml | + | |
- | * Then, to commit it: svn commit filename.xml -m " | + | |
- | + | ||
- | //I'm about to document a new PHP extension... how should I start?// | + | |
- | * Use the script found within phpdoc/ | + | |
- | * Example: $ php docgen.php -h | + | |
- | * Example: $ php docgen.php -e simplexml -o outdir | + | |
- | * It creates the skeletons that you edit then commit | + | |
- | + | ||
- | //I created skeletons that contain a bunch of default text, should I commit it?// | + | |
- | * No, edit the files before commit. | + | |
- | * Reason 1: Translators | + | |
- | * Reason 2: Temporary often becomes permanent, and bogus text is not good | + | |
- | + | ||
- | //I documented an extension but it's not building. Why?// | + | |
- | * Likely because it has not yet been added to doc-base/ | + | |
- | * So, add the book to the appropriate reference location there. Open file for examples. | + | |
- | * Or, configure.php is failing... the error should help | + | |
- | + | ||
- | //I want to contribute to the PHP Manual, how?// | + | |
- | * First, read the [[doc: | + | |
- | * Check out the sources: $ svn checkout http:// | + | |
- | * For a translation, | + | |
- | * ... | + | |
- | + | ||
- | //How do I build and/or test the manual locally?// | + | |
- | * Use phpdoc/ | + | |
- | * To validate en: **$ php configure.php** | + | |
- | * To validate fr: **$ php configure.php %%--with-lang=fr%%** (Change fr to your given language code) | + | |
- | * To build: **$ phd -d .manual.xml** | + | |
- | * Note: Building is not required, all you must do is check the diff and be sure it validates | + | |
- | + | ||
- | //Running configure.php ends up Segfaulting, | + | |
- | * There are bugs with certain versions of libxml that cause this, so hacks exist to get around it | + | |
- | * To execute the hack, pass in: **$ php configure.php %%--disable-segfault-error%%** | + | |
- | * Note: This disables some error checking and beautification but raw errors will be shown | + | |
- | * Note: Usually the problem is a major XML syntax issue | + | |
- | + | ||
- | //In the changelog, which order do the PHP versions go?// | + | |
- | * Newest PHP versions go above the older ones | + | |
- | + | ||
- | //In the changelog, a change happened in two PHP versions. How do I enter this?// | + | |
- | * Multiple versions are separated by a comma, with the lesser version first. Example: %%< | + | |
- | + | ||
- | //How do I add markup for a configure option?// | + | |
- | * Example: %%< | + | |
- | + | ||
- | //When adding a < | + | |
- | * Typically titles are useful for notes, but it's not required. | + | |
- | * Syntax: %%< | + | |
- | + | ||
- | //A feature became available in PHP X.Y.Z, how do I document that?// | + | |
- | * Version information for functions is stored inside **versions.xml** within each extension: phpdoc/ | + | |
- | * Changes to functions, like added parameters, are documented within changelogs for each page | + | |
- | * Example Text: Feature X has been available since PHP X.Y.Z | + | |
- | * TODO: Research other ways, and the best way, to write this text (including dealing with code examples) | + | |
- | + | ||
- | //Why does everyone care so much about whitespace?// | + | |
- | * See the following article: [[doc: | + | |
- | * XML is one space, PHP example code is four, and max width is ~78 characters | + | |
- | * Exceptions: < | + | |
- | + | ||
- | //A parameter is optional, how is it documented?// | + | |
- | * Like normal, except methodparam receives the choice=" | + | |
- | * Example: %%< | + | |
- | + | ||
- | //Do I need to edit these entities* files?// | + | |
- | * No, these are auto-generated by the configure process | + | |
- | * Examples: entities/ | + | |
- | * Also, do not commit them | + | |
- | + | ||
- | // How do I create a patch? // | + | |
- | * In the command-line, | + | |
- | * cd / | + | |
- | * To diff the entire repository: **svn diff** | + | |
- | * To diff a single file: **svn diff foo.xml** | + | |
- | * Consider piping the diff to a file, so: **svn diff foo.xml > mypatch.txt** | + | |
- | + | ||
- | // How do I apply a patch? // | + | |
- | * Assuming the file with the patch is named apatch.txt | + | |
- | * Go to the directory with the files to be patched | + | |
- | * And run this command: **patch -p0 < apatch.txt** | + | |
- | + | ||
- | // Is there an online editor? // | + | |
- | * Yes and No. | + | |
- | * Yes one exists | + | |
- | * No it's not yet in use. | + | |
- | * Demo: https:// | + | |
- | + | ||
- | // How often is the documentation built? // | + | |
- | * Weekly on mirrors, several times daily on the doc server | + | |
- | * For specifics, see the [[doc: | + | |
- | + | ||
- | // I see example.outputs and example.outputs.similar entities, what's the difference? // | + | |
- | * The example.outputs.similar entity is used when the output may differ between executions or machines | + | |
- | * The example.outputs entity output will always, under all conditions, be the same | + | |
- | + | ||
- | // I need to add a piece of text to three or more pages, how? // | + | |
- | * Add the snippet to en/ | + | |
- | * Link to the entity within the desired pages | + | |
- | * This is done so translators can update one version of this text | + | |
- | + | ||
- | // How do I find missing documentation? | + | |
- | + | ||
- | Missing functions (no associated XML files) can be found like so (assuming a doc checkout, and PhD is installed): | + | |
- | <code shell> | + | |
- | php doc-base/ | + | |
- | phd --docbook doc-base/ | + | |
- | php doc-base/ | + | |
- | </ | + | |
- | Undocumented documentation (skeletons exist, but only prototypes and basic information) can be found here: http:// | + | |
- | + | ||
- | // What .subversion/ | + | |
- | + | ||
- | < | + | |
- | *.xml = svn: | + | |
- | </ | + |
doc/howto/faq.1358998515.txt.gz · Last modified: 2017/09/22 13:28 (external edit)