Releases: cesarParra/apexdocs
v2.9.0
OpenApi Definition support
ApexDocs now support creating an OpenApi definition file for the @RestResources
classes in your source code. See the Generating OpenApi REST Definitions section of the README file for full details and usage.
v2.8.1
Upgrading to use the latest version of the Apex Reflection library
v2.8.0
Inheritance support
Classes and interfaces with inheritance now display their inherited information.
This is done in a couple of ways:
Classes and interfaces now include a section that summarizes the classes they extend and implement
Additionally any extended member (fields, properties, and methods) are now displayed on the page for the sub-class/sub-interface. These are displayed with an "Inherited" tag below their definition.
v2.7.0
Upgrading apex-reflection version, which introduces updates to the Apex parser.
v2.6.0
v2.5.1
v2.5.0
- New generator: plain-markdown
- Produces plain markdown files without any additional considerations like done for Jekyll and Docsify
- General improvements to logging while the processor is running
- Improvements to the way files are linked
v2.4.0
- Ungrouped files are now grouped under the Miscellaneous directory, rather than Misc, to match the documentation
- A new argument
--defaultGroupName
has been added to allow the user to override this behavior - Updated docs
v2.3.0
Apexdoc blocks can now all be in a single line. For example, the following are supported
/** This is valid */
class My Class {}
It is also valid to add tags in the same line.
/** This is also valid @group My group */
class MyClass{}
Improved whitespace trimming. Blocks like the following are now better interpreted
/**
*
*
* My description
*
*
*/
class MyClass{}
Apex doc descriptions and tag bodies now support email addresses.
- Previously having an email address as part of an apex doc description or tag body caused issues, because while parsing the doc the
@
symbol of the email was interpreted as the start of a new tag. Now it is possible to have inline email addresses by using the{@email EMAIL_ADDRESS}
inline tag. For example
/**
* @description My Class
* @contact {@email someone@example.com}
*/
class MyClass {}
- Note that emails will be linked as
mailto
links within the generated document.
Methods called void
are now supported.
- Even though the keyword
void
is reserved in Apex, it is still possible and valid to name a methodvoid
. This is now taken into account and no errors occur when methods are named this way.
Logging improvements
- Errors when parsing Apex code now specify the file from where the error came from. Previously this only happened for errors while parsing Apexdoc blocks.
- Errors are now logged in red to the console
- Documents being parsed are logged to the console in real time, rather than logging everything at the end. This should improve the experience when parsing very large codebases that could take a while to go through.
Support for some HTML tags.
- Previously all HTML was sanitized. Now some tags are allowed to allow for the possibility of better styling long text.
- Allowed tags are:
br
,p
,ul
, andli
Example:
/**
* @description <p>This is a paragraph</p>
* <p>And this is another paragraph</p>
*/
class MyClass {}
More HTML tags can be added upon request.
v2.2.5 Support for annotations before doc block.
Support for annotations before the doc block