Github
robin@radic.nl
First Line
Second Line
pd-type(type="string")pd-type(type="\Codex\Codex")pd-type(:query="true", type="\Codex\Codex")Custom signatureuse-signature signature-hide-modifiers signature-hide-argument-types signature-hide-argument-defaults signature-hide-argument-return signature-hide-return
Selectableselectable
hide-icon use-signature signature-hide-argument-types
Default
:merge-settings="{ show: { inherited: true } }", selectable
use-icon
You can access the API by either using the binding, contract or facade.
Check out theProcessors & Hooks documentaiton.
Inlinecode
use Codex\Codex;
public function __construct(Codex $codex){
$dir = $codex->getRootDir();
}
app('codex')->getDocsPath();
codex()->getDocsPath();
Codex::getDocsPath();
$codex->log($level, $message, $context = [ ]);
$codex->stack($viewName, $data = null, $appendTo = 'codex::layouts.default');
# @var string $path
$path = $codex->getRootDir();
# @var string $url
$url = $codex->url($project = null, $ref = null, $doc = null);
# @var boolean $hasProject
$hasProject = $codex->projects->has('codex-core');
/** @var \Codex\Projects\Project $project */
$project = $codex->projects->get('codex-core');
# @var \Codex\Core\Components\Factory\Projects $projects
$projects = $codex->projects;
# @var \Codex\Core\Projects[] $projects
$projects = ->all()
$projects = $codex->projects->toArray();
foreach($projects as $project){
$url = $project->url($doc = 'index', $ref = null);
$project->path($path = null); # string
$project->hasEnabledProcessor($filter); # bool
$project->hasEnabledHook($hook); # bool
$project->getRef(); # string
$project->getDefaultRef(); # string
$project->getRefs(); # array[string]
$project->getSortedRefs(); # array[string]
$project->getName(); # string
$project->getPath(); # string
$project->getBranches(); # array[string]
$project->getVersions(); # array[string]
$project->documents->setExtensions(['md']);
$project->documents->has($path); // without extension
$project->documents->get($path); // without extension
$documents = $project->documents->all();
}
# @var \Codex\Core\Projects[] $projects
$documents = $codex->projects->get('codex-core')->documents->all()
# @var \Codex\Core\Projects[] $projects
$document = $codex->projects->get('codex-core')->documents->get('api-uasge')
$document->render();
$document->attr($key = null, $default = null)
$document->url()
$document->getBreadcrumb()
$document->getPath()
$document->getContent()
$document->setContent($content)
$document->getAttributes((
$document->setAttributes(array $attr = [])
$document->mergeAttributes(array $attr = [])
$document->getProject()
$document->setPath($path)
For details on the specific methods, check the API documentation
# core
CODEX_DEV_ENABLED=false
CODEX_BASE_ROUTE=
CODEX_DEFAULT_PROJECT=codex
# addon-git
CODEX_GIT_GITHUB_SECRET=
CODEX_GIT_GITHUB_WEBHOOK_SECRET=tester
CODEX_GIT_BITBUCKET_KEY=
CODEX_GIT_BITBUCKET_SECRET=
# addon-auth
CODEX_AUTH_BITBUCKET_ID=
CODEX_AUTH_BITBUCKET_SECRET=
CODEX_AUTH_GITHUB_ID=
CODEX_AUTH_GITHUB_SECRET=
# addon-jira
CODEX_JIRA_USERNAME=
CODEX_JIRA_PASSWORD=
CODEX_JIRA_LOG_LEVEL=
Codex is a file-based documentation platform built on top of Laravel. It's completely customizable and dead simple to use to create beautiful documentation.
Codex is able to do things like transforming markdown or automaticaly fetching documentation from a Bitbucket/Github repositories. Most of it's features are provided by addons. Codex is extenable, themeable, hackable and simple to setup and use.
Codex >Projects >Refs (versions) >Documents >Processors
Theaddon-* packages are a collection ofPlugins,Hooks andProcessors.
Plugins are used to alter Codex. They are capable of doing something very minor or completely alter the way Codex works.
Processors are used to alter the output of documents.
Hooks are able to execute when Codex executes code which have hook-points defined. This could be seen as a event dispatcher/listener.
The data is provided by thePHPDoc Addon . It uses the to alter the links based on the information provided by PHPDoc Addon.
Codex[Codex](#codex:phpdoc:Codex\Codex)Codex
[Codex](https://whatever.url#codex:phpdoc:popover:Codex\Codex)
Codex::url
[Codex::url](#codex:phpdoc:popover:Codex\Codex:url)
LinksProcessorcan be found here.A example file structure for Codex might look similar to:
footer