Step 2: Configure

Prerequisites

  • Completed Step 1
  • src/site.json exists

Commands

Inspect the current config:

cat src/site.json

Update 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.json contains valid JSON.
  • The plugins array lists the package names of all installed plugins.
  • identity.url matches your development or production URL.

What Just Happened

  • You edited the central runtime configuration loaded by config.load() in base/src/config.js.
  • The plugins array 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

ErrorFix
JSON parse errors during buildValidate commas/quotes in src/site.json
Plugin load warningsVerify package names are exact and installed
Incorrect canonical URLsSet identity.url to your actual site URL

Related