Plugins generally add global-level functionality to VuePress. There is no strictly defined scope for a plugin - there are typically several types of plugins:
- Extend the page’s metadata generated at compile time. For example @vuepress/plugin-last-updated;
- Generate extra files before or after compilation. For example @vuepress/plugin-pwa;
- Inject global UI. For example @vuepress/plugin-back-to-top;
- Extend the CLI with custom commands. For example vuepress-plugin-export.
Here is also a litte slightly complicated plugin example @vuepress/plugin-blog that uses compile-time metadata to generate some dynamic modules and initialize them on the client-side by using
The architecture of the whole plugin system is as follows: