-
Notifications
You must be signed in to change notification settings - Fork 3
Extension Points
Volodymyr Zaiets edited this page May 20, 2021
·
2 revisions
Application supports custom templates, for that you need:
- Create new
<custom_name>.mdfile insrc/templatesfolder. - Declare custom template using
template repeats,template tags,template directives. - Set your custom template name to
output.templateconfig option.
- Create new
<custom_name>.jsfile insrc/template-directivesfolder. - Create new class implementing corresponding interface. (
src/api/template-directive-interface)
Note: The name of the class will be used as a directive name. - Use custom directive in the template using custom directive class name as the directive name.
- Create new
<custom_name>.jsfile insrc/template-handlersfolder. - Create new class implementing corresponding interface. (
src/api/template-handler-interface)
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 new
<custom_name>.jsfile insrc/release-parsersfolder. - Create new class implementing corresponding interface. (
src/api/release-parsers-interface)
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 to use in configuration
The application supports multiple types of declaration for version ranges, but you can create a new one!
- Create new
<custom_name>.jsfile insrc/writersfolder. - Create new class implementing corresponding interface. (
src/api/changelog-writer-interface)
Note: The name of the file will be used as a writer name. - Set your custom writer name to
output.formatconfig option.
Custom loader allows you to collect a specific set of data from Github.
- Create new
<custom_name>.jsfile insrc/loadesfolder. - Create new class implementing corresponding interface. (
src/api/loader-interface)
Note: The name of the file will be used as a loader name. - Set your custom loader name and configuration to
loader.nameandloader.configconfig options.
Custom loader configuration example:
"loader": {
"name: "<customFileName>"
}
Filters are responsible for filter data received from the loader.
- Create new
<custom_name>.jsfile insrc/filtersfolder. - Create new class implementing corresponding interface. (
src/api/filter-interface)
Note: The name of the file will be used as filter name. - Set your custom filter name and configuration to
loader.config.excludeconfig option.
Filters are responsible for filter data received from the loader.
- Create new
<custom_name>.jsfile insrc/groupsfolder. Note: The name of the file will be used as a group name. - Set your custom group name and configuration to
loader.config.groupBy.nameconfig option.
Example:
"groupBy": {
"name: "<customFileName>"
}