All Projects → ApiGen → Apigen

ApiGen / Apigen

Licence: other
PHP 7.1 ready Smart and Simple Documentation for your PHP project

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Apigen

Typedoc
Documentation generator for TypeScript projects.
Stars: ✭ 5,377 (+160.01%)
Mutual labels:  documentation, generator
Papogen
Use Sass/CSS + Pug + Node.js to generate beautiful static website.
Stars: ✭ 37 (-98.21%)
Mutual labels:  documentation, generator
Vim Doge
(Do)cumentation (Ge)nerator 10+ languages 📚 Generate proper code documentation skeletons with a single keypress. ⚡️🔥
Stars: ✭ 533 (-74.23%)
Mutual labels:  documentation, generator
Dokz
Effortless documentation with Next.js and MDX
Stars: ✭ 353 (-82.93%)
Mutual labels:  documentation, generator
Jsdoc To Markdown
Generate markdown documentation from jsdoc-annotated javascript
Stars: ✭ 1,199 (-42.02%)
Mutual labels:  documentation, generator
Assemble
Community
Stars: ✭ 3,995 (+93.18%)
Mutual labels:  documentation, generator
Easybook
Book publishing as easy as it should be (built with Symfony components)
Stars: ✭ 744 (-64.02%)
Mutual labels:  documentation, generator
Yii2 Apidoc
Yii 2 apidoc extension.
Stars: ✭ 236 (-88.59%)
Mutual labels:  documentation, generator
Docsify Tabs
A docsify.js plugin for rendering tabbed content from markdown
Stars: ✭ 65 (-96.86%)
Mutual labels:  documentation, generator
Parse Comments
Parse JavaScript code comments. Works with block and line comments, and should work with CSS, LESS, SASS, or any language with the same comment formats.
Stars: ✭ 53 (-97.44%)
Mutual labels:  apidoc, documentation
Compodoc
📔 The missing documentation tool for your Angular, Nest & Stencil application
Stars: ✭ 3,567 (+72.49%)
Mutual labels:  documentation, generator
Generator Standard Readme
Scaffold out a Standard Readme
Stars: ✭ 150 (-92.75%)
Mutual labels:  documentation, generator
Sourcedocs
Generate Markdown documentation from source code
Stars: ✭ 286 (-86.17%)
Mutual labels:  documentation, generator
Verb
HEADS UP! Verb is going though a major transition, we've completely refactored everything from the ground up. If you're interested, please see the dev branch.
Stars: ✭ 442 (-78.63%)
Mutual labels:  documentation, generator
Generator
Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything!
Stars: ✭ 237 (-88.54%)
Mutual labels:  documentation, generator
Pdoc
🐍 ➡️ 📜 Auto-generate API documentation for Python projects
Stars: ✭ 604 (-70.79%)
Mutual labels:  documentation, generator
Cgx
💻🔥CLI to generate the recommended documentation/files to improve contribution (Github, Gitlab, CodeCommit and Bitbucket)
Stars: ✭ 190 (-90.81%)
Mutual labels:  documentation, generator
Flask Apidoc
Adds ApiDoc support to Flask
Stars: ✭ 49 (-97.63%)
Mutual labels:  apidoc, documentation
Easy Doc Bundle
Symfony application documentation generator
Stars: ✭ 99 (-95.21%)
Mutual labels:  documentation, generator
Terraform Docs
Generate documentation from Terraform modules in various output formats
Stars: ✭ 2,483 (+20.07%)
Mutual labels:  documentation, generator

Smart and Readable Documentation for your PHP project

Build Status Coverage Status Downloads Latest stable

ApiGen is the simplest, the easiest to use and the most modern api doc generator. It is all PHP 7.1 features ready easy to extend with own Finder, Annotation Subscriber or even Generator.

Just look at ApiGen API:

ApiGen Preview

Your Help is Needed to Finish 5.x Release

❤️ We need your help to test new version of ApiGen.

How to install it?

Add to your composer.json:

{
    "require": {
        "apigen/apigen": "dev-master",
        "roave/better-reflection": "dev-master#c87d856"
    }
}

then update:

composer update

Test it, report issues or send PRs.

💀 Version 4.x is not supported, since there was huge change of Reflection library and the code was almost completely rewritten.

Built on Shoulders of Giants

Install

composer require apigen/apigen --dev

Usage

Generate API docs by passing single source and destination options:

vendor/bin/apigen generate src --destination docs

Or generate API docs for multiple directories:

vendor/bin/apigen generate src tests --destination docs

Configuration

Below is a minimal example configuration. Save it as a apigen.yml file in the root of your project:

parameters:
    visibility_levels: [public, protected] # array
    annotation_groups: [todo, deprecated] # array
    title: "ApiGen Docs" # string
    base_url: "http://apigen.org/api" # string
    overwrite: false # bool

What Annotations Have Extra Care?

@see, @covers, @uses

Reference to Class, Function, Property, Method etc. element.

In Code

/**
 * @see SomeClass
 * @see SomeClass::$propety
 * @see SomeClass::someFunction()
 */

Generated

@see <a href="class-SomeClass.html">SomeClass</a>
@see <a href="class-SomeClass.html#$someProperty">SomeClass::$property</a>
@see <a href="class-SomeClass.html#_someFunction">SomeClass::someFunction()</a>

@link

A website url.

In Code

/**
 * This is already mentioned on Wiki.
 * @link https://en.wikipedia.org/wiki/United_we_stand,_divided_we_fall Click to see a cool quote
 */

Generated

This is already mentioned on Wiki.
@link <a href="https://en.wikipedia.org/wiki/United_we_stand,_divided_we_fall">Click to see a cool quote</a>

@internal

Associated element is internal, so ApiGen hides it.

Themes

To enable a custom theme just provide theme_directory configuration option in your apigen.yml:

parameters:
    theme_directory: path/to/theme # path to theme's config file

Contributing

Rules are simple:

  • new feature needs tests
  • all tests must pass
    composer complete-check
  • 1 feature per PR

We would be happy to merge your feature then.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].