Updating The Theme
Skill level: Intermediate (uses git)
When a new version of Kivo is released, CHANGELOG.md in the theme lists what changed. The version you have is in package.json ("version").
Keep Updates Easy
The way you customize decides how easy updates are:
- Change content and config, not components. Updates mostly touch components and styles, so a site customized through
src/content/,src/config/,src/i18n/, and a few color tokens intheme.cssis the easiest to update. - Use page blocks instead of editing section components when you only need different content or a different layout.
- Commit often with clear messages, so you know which changes are yours.
Apply An Update With Git
-
Commit all your work, so your project is clean.
-
Create a branch for the update:
Terminal window git checkout -b theme-update -
Unzip the new version. The theme is in its
themes/kivo/folder. Copy the files from that folder over your project, exceptsrc/content/,src/config/,src/i18n/, andsrc/assets/images/, which hold your content. CheckCHANGELOG.mdfor new content files or config keys and add them by hand.Copying also replaces files you may have customized:
src/styles/theme.css(your colors), route files you edited insrc/pages/[...lang]/,public/images/(your favicons and social image),README.md,package.jsonandpackage-lock.json(re-add any dependency you installed yourself, such aswrangler), andwrangler.toml,netlify.toml,vercel.json, orvercel.sh. Restore your versions of those in the next step, or skip them while copying. -
Review the changes in the Source Control panel. Where a file has both your changes and the theme’s, keep both.
-
Run the checks:
Terminal window npm cinpm run astro-checknpm run build -
Look through the site, then merge the branch into your main branch.
Updating Dependencies
npm outdated lists newer versions of the theme’s tools. Major updates of Astro or Tailwind CSS can need code changes; wait for a Kivo release that includes them unless you are comfortable fixing build errors.