Skip to content

Commit

Permalink
Merge pull request #15 from abbadon1334/develop
Browse files Browse the repository at this point in the history
add documentation in read me
  • Loading branch information
abbadon1334 committed Jul 11, 2019
2 parents 6a3450f + 89ccaf0 commit aeb9ac0
Showing 1 changed file with 60 additions and 2 deletions.
62 changes: 60 additions & 2 deletions README.md
Expand Up @@ -12,7 +12,7 @@ Forked and refactor by Francesco "Abbadon1334" Danti.

Now working as intended, with good coverage.

Generate reStructuredText for Sphinx based documentation from PHPDoc annotations.
##Generate reStructuredText for Sphinx based documentation from PHPDoc annotations.

This project is heavily based on [phpDocumentor/Reflection](https://github.com/phpDocumentor/Reflection)
and makes use of [sphinxcontrib-phpdomain](https://github.com/markstory/sphinxcontrib-phpdomain).
Expand All @@ -25,7 +25,65 @@ Install phpdoc-to-rst to your project directory:

composer require --dev abbadon1334/phpdoc-to-rst

Command line usage
-
Run the command line tool to parse the folders containing your PHP tree and render the reStructuredText files to the output directory:

./vendor/bin/phpdoc-to-rst docs/api/ src/
php vendor/bin/phpdoc-to-rst generate --repo-base "$PWD" --repo-github https://github.com/abbadon1334/phpdoc-to-rst -t docs/rst/ src/

Programatically usage to generate documentation rst
-
```PHP

// your source path or multiple path to be parsed
$src = [__DIR__.'/../src'];

// destination path for the documentation
$dst = __DIR__.'/../docs/api';

$apiDocBuilder = new ApiDocBuilder($src, $dst);

// DEBUG FATURES : optional
// optional : activate verbosity
$apiDocBuilder->setVerboseOutput(true);
// optional : activate debug
$apiDocBuilder->setDebugOutput(true);

// EXTENSIONS : optional

/**
* Do not render classes marked with phpDoc internal tag
* Do only render public methods/properties.
*/
$apiDocBuilder->addExtension(PublicOnlyExtension::class);

/**
* Do not render classes marked with phpDoc internal tag
* Do only render public methods/properties.
*/
$apiDocBuilder->addExtension(NoPrivateExtension::class);

/**
* This extension will render a list of methods for easy access
* at the beginning of classes, interfaces and traits.
*/
$apiDocBuilder->addExtension(TocExtension::class);

/**
* This extension adds a link to the source at github to all elements.
*
* Arguments
* 0 => Url to the github repo (required)
* 1 => Path to the git repository (required)
* 2 => Branch to link to (default=master)
*/
$apiDocBuilder->addExtension(GithubLocationExtension::class, [
__DIR__.'/../src',
'http://github.com/abbadon1334/phpdoc-to-rst/',
]);

// Build documentation
$apiDocBuilder->build();

```

0 comments on commit aeb9ac0

Please sign in to comment.