patgod85/phpdoc2rst

PHPDoc to RST

Installs: 40

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 1

Open Issues: 0

Type:symfony-bundle

0.0.22 2018-01-24 12:48 UTC

This package is not auto-updated.

Last update: 2024-04-13 16:51:08 UTC


README

The tool for building of documentation for shared API in reStructuredText format

For main API entities

Preview

we can generate rst-files with data stored in PhpDoc annotations. Examples of results can be found here .

Installation:

composer require patgod85/phpdoc2rst

The tool implemented as a bundle for Symfony 2 and provides 2 commands:

php app/console phpdoc2rst:process

The command generates rst-files for specified target (Controllers, Models of Exceptions)

arguments:

  1. namespace - The namespace to process;
  2. path - The path the namespace can be found in;

options:

  • --output, -o - The path to output the ReST files;
  • --title, -t - An alternate title for the top level namespace;
  • --exclude, -x - Semicolon separated namespaces to ignore;
  • --target - Which elements need to select. Default value 'properties';
  • --groups - Allows to fetch only properties of required group. A string divided by commas. Default value '';
  • --header - Set the weight of main header for target==properties. Available options "h1" and "h2". Default value is "h1"
php app/console phpdoc2rst:all

The command is a runner of several phpdoc2rst:process that specified in config.yml of the project

Example of config.yml section

patgod85_phpdoc2rst:
    errors_provider: my_bundle.errors
    tasks:
        email:
            subtasks:
                default:
                    target: 'properties'
                    namespace: 'MyBundle\Model'
                    input: '%kernel.root_dir%/../src/MyBundle/Model'
                    output: '%kernel.root_dir%/../src/MyBundle/Resources/views/model'
                    groups: Export,Create
                    header: h2

For "properties" mode the annotation JMS\Serializer\Annotation\VirtualProperty should be counted

##To update the bundle:

  1. Commit the changes
  2. Add a tag with version number
  3. Push
  4. Run composer require patgod85/phpdoc2rst:0.0.17 in the customer project