Skip to content

Manual Install

@matthiesenxyz/ astro-ghostcms-brutalbyelian

Install

Terminal window
# For fresh Install
npm create astro@latest
# Create Empty Install with standard typescript
# Then Delete entire `pages` folder under `/src/`

Then run the following:

Terminal window
npx astro add @matthiesenxyz/astro-ghostcms
npm install @matthiesenxyz/astro-ghostcms-brutalbyelian @unocss/astro @unocss/reset postcss unocss

Then set your astro.config.ts to look like this:

astro.config.ts
import { defineConfig } from "astro/config";
import ghostcms from "@matthiesenxyz/astro-ghostcms";
import UnoCSS from 'unocss/astro';
// https://astro.build/config
export default defineConfig({
site: "https://YOURDOMAINHERE.com/",
trailingSlash: 'ignore',
integrations: [
UnoCSS({ injectReset: true }),
ghostcms({
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
ghostURL: "https://ghostdemo.matthiesen.xyz",
})
],
});

Setup UnoCSS

uno.config.ts
import brutalTheme from '@matthiesenxyz/astro-ghostcms-brutalbyelian';
import { defineConfig } from 'unocss';
export default defineConfig({
presets: [ brutalTheme() ],
});

Setup .env variables

.env
CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48

When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!

Created Routes

The routes are the same as a standard Ghost Blog so you can migrate to Astro easily.

RouteContent
/Homepage with recents/features Blog Posts
/404404 Page
/[slug]Post or Page
/author/[slug]Author page with related posts
/authorsAll the authors
/tag[slug]Tag page with related posts
/tagsAll the tags
/archives/[...page]All the posts, paginated
/rss.xmlAll the posts, in a FEED