Plugin types
Overview
Scully uses a plugin system which allows users to define new ways for Scully to pre-render an application.
There are five main types of plugins which allow code to be injected into various stages of the Scully process lifecycle:
router
router
plugins teach Scully how to get the required data to be pre-render pages from the route-params.
postProcessByDom
postProcessByDom
plugins are used to transform the rendered HTML.
After the Angular application renders, the HTML content is passed to a postProcessByDom
plugin where it can be further modified.
routeRenderer
The routeRenderer
is a scullySystem plugin that can be swapped out to use a different way to render the pages
postProcessByHtml
postProcessByHtml
plugins are used to transform the rendered HTML.
After the Angular application renders, the HTML content is passed to a postProcessByHtml
plugin where it can be further modified.
fileHandler
fileHandler
plugins are used by the contentFolder
plugin during the render process. The contentFolder
plugin processes the folders for markdown files or other file type the folders may contain. The render process processes any existing fileHandler
plugin for any file extension type.
routeDiscoveryDone
routeDiscoveryDone
plugins are called automatically after all routes have been collected and all router plugins have finished.
allDone
allDone
plugins are like routeDiscoveryDone
plugins, except they are called after Scully finishes executing all its processes.
beforeAll
beforeAll
plugins are like allDone
plugins, except they are called before Scully starts to do any off its processes.