PHPackages                             unionofrad/li3\_docs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. unionofrad/li3\_docs

ActiveLithium-library[API Development](/categories/api)

unionofrad/li3\_docs
====================

An API and wiki-like documentation generator.

v2.0.0(9y ago)1682.6k↓22.5%14[2 issues](https://github.com/UnionOfRAD/li3_docs/issues)BSD-3-clausePHPPHP &gt;=5.4

Since Aug 13Pushed 8y ago6 watchersCompare

[ Source](https://github.com/UnionOfRAD/li3_docs)[ Packagist](https://packagist.org/packages/unionofrad/li3_docs)[ Docs](http://li3.me)[ RSS](/packages/unionofrad-li3-docs/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (10)Used By (0)

li₃ docs
========

[](#li-docs)

Once installed in your existing application, however, it generates documentation from your app's docblocks in real-time, which is all accessible from . Not only that, but it will generate documentation for your plugins, too. Including itself; so it is self-replicating in a way. In this vein, it becomes part of a series of plugins required in order to obtain various documentation volumes of interest.

Such as:

-
-

So the documentation plugin is a tool for creating automatically browse-able documentation of your application's codebase. In addition to simple descriptions and tables of contents,

*Note*: `li3_docs` is a **plugin**, NOT an app. Furthermore, by itself it is a VIEWER ONLY and contains no actual documentation other than its own.

### Installation

[](#installation)

1. To install run `composer require unionofrad/li3_docs`.
2. The plugin needs a configured `default` connection.
3. 2 tables need to be created using `schema.sql` file.

### Documentation structure

[](#documentation-structure)

For generating documentation, li3\_docs relies on PHP documentation blocks, or *docblocks*. These docblocks can appear above classes, methods, properties, etc., and contain three things: a short description, a longer description (often including usage examples), and docblock *tags*, which are denoted by an `@` symbol, followed by a keyword. A typical docblock might look something like this:

```
	/**
	 * Contains an instance of the `Request` object with all the details of the HTTP request that
	 * was dispatched to the controller object. Any parameters captured in routing, such as
	 * controller or action name are accessible as properties of this object, i.e.
	 * `$this->request->controller` or `$this->request->action`.
	 *
	 * @see lithium\action\Request
	 * @var object
	 */
	public $request = null;

```

This docblock documents a class property, and contains a short description and two docblock tags. The tags to be used in a docblock vary by what is being documented. A property docblock should contain a `@var` tag that describes what type of value the property holds, while methods have a series of `@param` tags and a `@return` tag.

There are also general tags which can be added to any docblock. These include the `@see`tag, which allows you to link to another class, method or property, and the `@link` tag, which allows you to link to an arbitrary URL.

### Markdown syntax

[](#markdown-syntax)

Docblock descriptions are written in Markdown format, with a few conventions. Namely, any code references or identifiers should be enclosed in backticks. This includes namespaces, classes, variable names, and keywords like `true`, `false` and `null`. Extended code examples should be written enclosed in three sets of backticks, i.e.: `&zwj;` // Code goes here ```.

### Indexing

[](#indexing)

The plugin supports both manual-like repositories holding markdown formatted files, as well as source-code repositories, which may additionally have so called *namespace documents* (a `README.md` files nested inside directories).

The following registers 2 indexes, one for our manual, one for the frameowork API.

```
use li3_docs\models\Indexes;

Indexes::register([
	'type' => 'book',
	'title' => 'li₃: The Definitive Guide',
	'name' => 'manual',
	'version' => '1.x',
	'path' => '/tmp/manual_1',
]);

Indexes::register([
	'type' => 'api',
	'title' => 'Framework API',
	'name' => 'lithium',
	'version' => '1.0.x',
	'path' => '/tmp/lithium_10',
	'namespace' => 'lithium'
]);

```

Once registered the index can be regenerated by running the following command.

```
li3 docs index

```

### Searching

[](#searching)

The plugin supports symbol-based search i.e. via ElasticSearch. Search for classes, methods and properties. To get all symbols available in all libraries registered with li3 execute the following method.

```
use li3_docs\models\Symbols;

foreach (Symbols::harvest($index) as $symbol) {
	ElasticSearch::addToIndex($symbol->data());
}

```

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~100 days

Recently: every ~128 days

Total

9

Last Release

3125d ago

Major Versions

v1.0.0 → 2.0.x-dev2017-03-26

PHP version history (2 changes)v1.0.0-rc1PHP &gt;=5.3

2.0.x-devPHP &gt;=5.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/16569d971433c3ff4ba70b299d077360f12fdce8d61c561dd6710fcf05688473?d=identicon)[nate](/maintainers/nate)

![](https://www.gravatar.com/avatar/a358e1a5ab7f7c81ecaae07acd830aa4a36726ab4da46a11df754a6e5b3a4cda?d=identicon)[mariuswilms](/maintainers/mariuswilms)

---

Top Contributors

[![mariuswilms](https://avatars.githubusercontent.com/u/29702?v=4)](https://github.com/mariuswilms "mariuswilms (122 commits)")[![nateabele](https://avatars.githubusercontent.com/u/18288?v=4)](https://github.com/nateabele "nateabele (79 commits)")[![daetal-us](https://avatars.githubusercontent.com/u/43869?v=4)](https://github.com/daetal-us "daetal-us (29 commits)")[![gwoo](https://avatars.githubusercontent.com/u/13685?v=4)](https://github.com/gwoo "gwoo (22 commits)")[![raisinbread](https://avatars.githubusercontent.com/u/42132?v=4)](https://github.com/raisinbread "raisinbread (18 commits)")[![hans-d](https://avatars.githubusercontent.com/u/46201?v=4)](https://github.com/hans-d "hans-d (6 commits)")[![jails](https://avatars.githubusercontent.com/u/1306941?v=4)](https://github.com/jails "jails (3 commits)")[![rapzo](https://avatars.githubusercontent.com/u/147788?v=4)](https://github.com/rapzo "rapzo (2 commits)")[![d1rk](https://avatars.githubusercontent.com/u/30408?v=4)](https://github.com/d1rk "d1rk (2 commits)")[![mehlah](https://avatars.githubusercontent.com/u/224928?v=4)](https://github.com/mehlah "mehlah (2 commits)")[![mikesmullin](https://avatars.githubusercontent.com/u/106222?v=4)](https://github.com/mikesmullin "mikesmullin (2 commits)")[![rmarscher](https://avatars.githubusercontent.com/u/352937?v=4)](https://github.com/rmarscher "rmarscher (1 commits)")[![AntoineLav](https://avatars.githubusercontent.com/u/1039123?v=4)](https://github.com/AntoineLav "AntoineLav (1 commits)")[![Beagle](https://avatars.githubusercontent.com/u/106455?v=4)](https://github.com/Beagle "Beagle (1 commits)")[![jhannwong](https://avatars.githubusercontent.com/u/4177090?v=4)](https://github.com/jhannwong "jhannwong (1 commits)")[![kuja](https://avatars.githubusercontent.com/u/18334?v=4)](https://github.com/kuja "kuja (1 commits)")[![AndrewPodner](https://avatars.githubusercontent.com/u/2258328?v=4)](https://github.com/AndrewPodner "AndrewPodner (1 commits)")

---

Tags

docspluginapidocumentationdocblocklithiumli3wikidocs

### Embed Badge

![Health badge](/badges/unionofrad-li3-docs/health.svg)

```
[![Health](https://phpackages.com/badges/unionofrad-li3-docs/health.svg)](https://phpackages.com/packages/unionofrad-li3-docs)
```

###  Alternatives

[knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

2.3k12.2M45](/packages/knuckleswtf-scribe)[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[phpdocumentor/phpdocumentor

Documentation Generator for PHP

4.4k3.1M878](/packages/phpdocumentor-phpdocumentor)[binarytorch/larecipe

Generate gorgeous recipes for your Laravel applications using MarkDown

2.5k2.7M16](/packages/binarytorch-larecipe)[johnylemon/laravel-apidocs

Laravel API documentation generating tool

472.8k](/packages/johnylemon-laravel-apidocs)[yaro/apidocs

Api documentation generator for Laravel 5

114.1k](/packages/yaro-apidocs)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
