Step 2: Configure
Prerequisites
- Completed Step 1
src/site.jsonexists
Commands
Inspect the current config:
cat src/site.jsonUpdate it with your own settings. Here is a minimal English-only example:
{
"identity": {
"author": "Your Name",
"email": "you@example.com",
"url": "http://localhost:3000",
"themeColor": "#2f8f5b",
"social": { "rss": true }
},
"content": {
"languages": {
"default": "en",
"supported": ["en"],
"canonical": { "en": "/" }
},
"pagination": {
"pageSize": 5,
"segment": { "en": "page" }
},
"collections": {}
},
"build": { "minify": false, "debug": true },
"robots": { "allow": ["/"], "disallow": [] },
"plugins": [
"@shevky/plugin-robots-txt",
"@shevky/plugin-tailwindcss",
"@shevky/plugin-esbuild",
"@shevky/plugin-rss",
"@shevky/plugin-sitemap"
],
"pluginConfigs": {}
}Expected Output
src/site.jsoncontains valid JSON.- The
pluginsarray lists the package names of all installed plugins. identity.urlmatches your development or production URL.
What Just Happened
- You edited the central runtime configuration loaded by
config.load()inbase/src/config.js. - The
pluginsarray tells the build which plugin packages to dynamically import. - Any missing config fields will use built-in fallback defaults (e.g.,
pageSize: 10,minify: false).
Common Errors
| Error | Fix |
|---|---|
| JSON parse errors during build | Validate commas/quotes in src/site.json |
| Plugin load warnings | Verify package names are exact and installed |
| Incorrect canonical URLs | Set identity.url to your actual site URL |