This is a template repo for creating theme integrations for Astro with astro-theme-provider
- Clone the repo and install dependencies:
Important: This repo uses pnpm workspaces, you must use pnpm as your package manager
git clone https://github.com/BryceRussell/astro-theme-template.git my-theme
cd my-theme
pnpm install
- Start the playground:
When authoring a theme, the playground always has to be running in order to generate the types for your theme
pnpm playground:dev
- Change the theme name: The default name inside this repo is
my-theme
, it is reccomended to use find and replace to replace all occurences ofmy-theme
inside the repo with the name of your own theme. If you can't find and replace, you can manually change the name inside the following files:package/package.json
playground/package.json
(Reinstall dependencies inside playground after renaming)- Update imports inside the
/package/src
folder
- Update
package.json
: Addhomepage
andrepository
properties to your theme package (package/package.json
), you should see warnings in the console that explains this further. While you are there, add or modify any other properties you may want likedescription
,keywords
,license
,author
, etc. Configuringpackage.json
- Explore! Authoring a theme using
astro-theme-provider
is similar to creating a normal Astro project. Explore the repo and check out the docs to learn more about how to author a theme.