Configuration
Each project built with Gustwind needs minimal plugin configuration.
plugins.json
{
"env": {
"DEMO": "This value is available for plugin paths through ${DEMO} syntax.",
"PLUGINS_PATH": "./plugins"
},
"plugins": [
{
"path": "./routers/config-router/mod.ts",
"options": {
"dataSourcesPath": "./site/dataSources.ts",
"routesPath": "./site/routes.json",
"emitAllRoutes": true
}
},
{
"path": "${PLUGINS_PATH}/meta/mod.ts",
"options": {
"inputPath": "./site/meta.json"
}
},
{
"path": "./renderers/htmlisp-renderer/mod.ts",
"options": {
"components": [
{ "path": "./site/components" },
{ "path": "./site/layouts" }
],
"globalUtilitiesPath": "./site/globalUtilities.ts"
}
},
{
"path": "./plugins/copy/mod.ts",
"options": {
"inputPath": "./assets",
"outputPath": "./assets"
}
},
{
"path": "./plugins/pagefind/mod.ts",
"options": {}
},
{
"path": "./plugins/script/mod.ts",
"options": {
"scriptsPath": ["./site/scripts"],
"scripts": [
{
"type": "",
"src": "https://cdn.jsdelivr.net/npm/sidewind@7.6.0/dist/sidewind.umd.production.min.js"
}
]
}
},
{
"path": "./plugins/twind/mod.ts",
"options": { "setupPath": "./site/twindSetup.ts" }
},
{
"path": "./plugins/sitemap/mod.ts"
},
{
"path": "./plugins/stats/mod.ts"
}
]
}
Most of the work happens at page level so make sure to check the concepts page to understand how they go together.