Plugin System Overview

The plugin system allows you to define your own plugins in order to have a fine-grained control over Scully's pre-render process. There are seven main types of plugins, and you can make your own custom plugins off any of those types.

When you want to build your own plugin



router plugins teach Scully how to get the required data to be pre-render pages from the route-params.


render plugins are used to transform the rendered HTML. After the Angular application renders, the HTML content is passed to a render plugin where it can be further modified.

Route process

'routeProcess' plugins are plugins that can modify the handled route array, before rendering the routes starts

Content or File handler plugins

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.

Route discovery done

routeDiscoveryDone plugins are called automatically after all routes have been collected and all router plugins have finished.

All done

allDone plugins are like routeDiscoveryDone plugins, except they are called after Scully finishes executing all its processes.