-
Notifications
You must be signed in to change notification settings - Fork 3
Extension Points
Olena Orobei edited this page Jun 4, 2021
·
2 revisions
Application supports custom templates. In order to use this mechanism you need to:
- Create a new
<custom_name>.mdfile in thesrc/templatesfolder. - Declare a custom template using
template repeats,template tags,template directives. - Use your custom template name in the
output.templateconfig option.
- Create a new
<custom_name>.jsfile under thesrc/template-directivesfolder. - Create a new class implementing
src/api/template-directive-interfaceinterface. Note: The name of the class will be used as a directive name. - Use your custom directive in the template using custom directive class name as a directive name.
- Create a new
<custom_name>.jsfile under thesrc/template-handlersfolder. - Create new class implementing
src/api/template-handler-interfaceinterface. Note: The name of the class will be used as a repeat name. - Use custom repeat in template uses custom repeat class name as the directive name.
The application supports multiple types of declaration of version ranges, but you can create a new one.
- Create a new
<custom_name>.jsfile under thesrc/release-parsersfolder. - Create a new class implementing corresponding
src/api/release-parsers-interfaceinterface.
Note: The name of the file will be used as the parser name. - The release parser will be automatically registered in the application and available for use in the configuration.
The application supports multiple types of declaration for version ranges, but you can create a new one!
- Create a new
<custom_name>.jsfile under thesrc/writersfolder. - Create a new class implementing
src/api/changelog-writer-interfaceinterface. Note: The name of the file will be used as a writer name. - Use your custom writer name for
output.formatconfig option.
Custom loader allows you to collect a specific set of data from GitHub.
- Create a new
<custom_name>.jsfile under thesrc/loadesfolder. - Create a new class implementing
src/api/loader-interfaceinterface. Note: The name of the file will be used as a loader name. - Use your custom loader name and configuration for
loader.nameandloader.configconfig options.
Custom loader configuration example:
"loader": {
"name: "<customFileName>"
}
Filters are responsible for filtering data received from the loader.
- Create a new
<custom_name>.jsfile under thesrc/filtersfolder. - Create a new class implementing
src/api/filter-interfaceinterface. Note: The name of the file will be used as filter name. - Use your custom filter name and configuration for
loader.config.excludeconfig option.
Groups are responsible for grouping data received from the loader.
- Create a new
<custom_name>.jsfile under thesrc/groupsfolder. Note: The name of the file will be used as a group name. - Use your custom group name and configuration for
loader.config.groupBy.nameconfig option.
Example:
"groupBy": {
"name: "<customFileName>"
}