██████╗ ██████╗ ██████╗██████╗ ██████╗ ██╗ ██╗
██╔══██╗██╔═══██╗██╔════╝██╔══██╗██╔═══██╗╚██╗██╔╝
██║ ██║██║ ██║██║ ██████╔╝██║ ██║ ╚███╔╝
██║ ██║██║ ██║██║ ██╔══██╗██║ ██║ ██╔██╗
██████╔╝╚██████╔╝╚██████╗██████╔╝╚██████╔╝██╔╝ ██╗
╚═════╝ ╚═════╝ ╚═════╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
DocBox is a JavaDoc-style documentation generator for your CFML codebase based on Mark Mandel's ColdDoc project.
Docs | Github | Ortus Community
- Read JavaDoc comment blocks
- Document your class API - components, methods, and properties
- Generate HTML documentation
- Generate machine-readable JSON
- generate XMI file which can be converted to a UML diagram
- Lucee 5+
- ColdFusion 2016+
Use the DocBox library to generate API docs from your CFC files. Install Docbox with CommandBox like so:
box install docbox
If you want to use DocBox for document generation in your CFML application, then just drop it into any location and create a /docbox
mapping to it. You will then instantiate the DocBox
generator class with a strategy
and properties
for the strategy.
// use custom strategy found at class.path
docbox = new docbox.DocBox( strategy="class.path", properties={} );
// create with HTML strategy
docbox = new docbox.DocBox(
strategy = "HTML",
properties = {
projectTitle="My Docs",
outputDir="#expandPath( '/docs' )#"
}
);
To generate the documentation you will then execute the generate()
method on the DocBox object and pass in the following parameters:
source
: A path to the source location or an array of structs of locations that must have adir
andmapping
key on it.mapping
: The base mapping for the folder source. Used only ifsource
is a pathexcludes
: A regular expression that will be evaluated against all CFCs sent for documentation. If the regex matches the CFC name and path then the CFC will be excluded from documentation.
docbox.generate( source="/my/path", mapping="coldbox" );
docbox.generate(
source = "#expandPath( '/docbox' )#",
mapping = "docbox",
excludes = "tests"
);
Once the generation finalizes, you will see your beautiful docs!
HTML
- defaultprojectTitle
: The HTML titleoutputDir
: The output directory
JSON
projectTitle
: The HTML titleoutputDir
: The output directory
XMI
outputFile
: The output file
There is a related project you can install which wraps up the DocBox library in a Custom CLI command so you can generate API docs from the command line.
box install commandbox-docbox
Read more here: https://github.com/Ortus-Solutions/commandbox-docbox
Apache License, Version 2.0.
Please use our Jira instance to create bugs and new feature issues: https://ortussolutions.atlassian.net/projects/DOCBOX
Thanks to Mark Mandel for allowing us to fork his project.
I THANK GOD FOR HIS WISDOM FOR THIS PROJECT
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12
Come find us on the CFML Slack (#box-products channel) and ask us there. We'd be happy to help!
Join us in our Ortus Community and become a valuable member of this project https://community.ortussolutions.com/c/communities/docbox/17. We are looking forward to hearing from you!