API Reference Docs Structure¶
The Reference docs follow a specific mixture of manually created and auto-generated page content.
A page may look something like this:
---
template: api-doc.html
constructors:
- name: 'Constructor'
description: 'Creates a new instance of this class.'
methods:
- name: 'getString'
description: 'Gets a String.'
type:
name: String
type: object
---
# <api__class></api__class> Constructor
An example class to show how the page structure may look like.
custom HTML tags¶
There is a collection of custom HTML tags that are used to render specific text in certain styles.
Below is a list of all custom tags. Note that these tags only render on the actual site and not within the repository when viewing the source.
<api__class></api__class>:<api__interface></api__interface>:<api__enum></api__enum>:<api__record></api__record>:<api__abstract></api__abstract>:<api__static></api__static>:<api__final></api__final>:<api__notnull></api__notnull>:<api__nullable></api__nullable>:<api__deprecated></api__deprecated>:
In addition are there two classes used within span tags to colour the text, to indicate their type:
<span class="api-type__object">Object</span>: Object<span class="api-type__primitive">primitive</span>: primitive
Auto-generated content¶
A page template is used to auto-generate the page content based on available YAML frontmatter.
Depending on the frontmatter available will the template call a jinja2 Macro to generate a Summary and Detailed info on the page for the respective frontmatter data.
There are 5 frontmatter options, each following a specific structure:
Constructors¶
constructors:
- name: '<string>'
description: '<string>'
parameters:
- name: '<string>'
description: '<string>'
type: '<string>'
attributes:
- '<string>'
deprecated: '<string>'
throws:
- name: '<string>'
description: '<string>'
seealso:
- name: '<string>'
link: '<string>'
Options:
name- The name to display for the Constructor summary and detail. This should include any parameters the Constructor has, but without any parameter name.description- The description to display for the Constructor.parameters- List of parameters to display.name- Name of the parameter to display.description- Description of the parameter.type- The type this parameter is.attributes- List of attributes (i.e. nullability) to display. The provided values will be turned into<api__{name}></api__{name}>tags that will be prependet to the parameter name.
deprecated- Adds a notice about the deprecation of this Constructor in the form of a deprecation label and adeprecatedsection with the provided<string>as explanation.throws- List of possible throws to display.name- Name of the throw to display.description- Description of the throw.
seealso- List of "See also" text to display.name- Name of the See also link.link- Link (Relative, absolute or URL) to use for the See also text.
Nested Classes¶
classes:
- name: '<string>'
description: '<string>'
type: '<string>'
link: '<string>'
Options:
name- The name to display for the Nested Classes Summary.description- The description of the nested class.type- Modifier and type of the nested class.link- Link to the nested class.
Enum Constants¶
enums:
- name: '<string>'
description: '<string>'
type: '<string>'
deprecated: '<string>'
seealso:
- name: '<string>'
link: '<string>'
Options:
name- The name to display for the Enum summary and detail. This should include any parameters the Enum has, but without any parameter name.description- The description to display for the Enum.type- The return type to display. Will default toAPI Reference Docs Structureif not set.deprecated- Adds a notice about the deprecation of this Enum in the form of a deprecation label and adeprecatedsection with the provided<string>as explanation.seealso- List of "See also" text to display.name- Name of the See also link.link- Link (Relative, absolute or URL) to use for the See also text.
Methods¶
methods:
- name: '<string>'
description: '<string>'
type:
name: '<string>'
type: '<string>'
link: '<string>'
attributes:
- '<string>'
parameters:
- name: '<string>'
description: '<string>'
type: '<string>'
attributes:
- '<string>'
returns: '<string>'
deprecated: '<string>'
throws:
- name: '<string>'
description: '<string>'
seealos:
- name: '<string>'
link: '<string>'
Options:
name- The name to display for the Method summary and detail. This should include any parameters the Method has, but without any parameter name.description- The description to display for the Method.type- Options for object type to display.name- Displayed name of the object.type- Object type. Can be eitherobjectorprimitivewhich would be used in a class name for styling.link- Link (Relative, absolute or URL) to use for the type name.
attributes- List of attributes (i.e. nullability) to display. The provided values will be turned into<api__{name}></api__{name}>tags that will be prependet to the name.parameters- List of parameters to display.name- Name of the parameter to display.description- Description of the parameter.type- The type this parameter is.attributes- List of attributes (i.e. nullability) to display. The provided values will be turned into<api__{name}></api__{name}>tags that will be prependet to the parameter name.
returns- Possible return values.deprecated- Adds a notice about the deprecation of this Method in the form of a deprecation label and adeprecatedsection with the provided<string>as explanation.throws- List of possible throws to display.name- Name of the throw to display.description- Description of the throw.
seealso- List of "See also" text to display.name- Name of the See also link.link- Link (Relative, absolute or URL) to use for the See also text.
Inherits¶
inherits:
'<string>':
link: '<string>'
methods:
- '<string>'
Options:
inherits.<string>- Classpath used to display in the textMethods inherited from <string>link- Link to use for the classpath text.methods- List of strings to display. Each will be linked using{link}#{method}