Logo

How I set up this blog (new)

January 28, 2026
3 min read

I used to make my blog using the Jekyll Theme Chirpy. However I decided I wanted to switch things up and try out a new theme. After looking for a while, I finally found a theme that I like, ensribe’s astro-erudite. I mainly chose this theme cuz it has really cool features and I like the UI more. To checkout some of the features, I recommend checking the astro-erudite blog

I had a “How I set up this blog” blog for my chirpy blog (you could still find that blog post here) so I thought I should make another one for this one. I won’t go into that much detail on how to install it as the github repo has already given that. Instead I’ll mainly focus on the changes I made to the template.

I made some changes, mainly to the color theme. I really enjoy the catpuccin themes so I wanted it to be the main theme for my blog. However I hate frontend dev so I vibecoded the changes. I simply took the color pallete from Catppuccin’s website and asked copilot to change the color theme. This astro theme allow both light and dark mode but since I never used light mode I didn’t bother too much into making the light mode look good, sorry light mode enjoyers.

The next thing I changed is the syntax higlighthing. astro-erudite uses Expressive code for code blocks and rehype-pretty-code for inline code highlighting. Both plugin has builtin catpuccin theme. Here is the config that I changed to apply the catpuccin theme

astro.config.ts
rehypeExpressiveCode,
{
themes: ['github-light', 'github-dark'],
themes: ['catppuccin-latte', 'catppuccin-mocha'],
plugins: [pluginCollapsibleSections(), pluginLineNumbers()],
useDarkModeMediaQuery: false,
themeCssSelector: (theme: ExpressiveCodeTheme) =>
`[data-theme="${theme.name.split('-')[1]}"]`,
theme.name === 'catppuccin-mocha' ? '[data-theme="dark"]' : '[data-theme="light"]',
40 collapsed lines
defaultProps: {
wrap: true,
collapseStyle: 'collapsible-auto',
overridesByLang: {
'ansi,bat,bash,batch,cmd,console,powershell,ps,ps1,psd1,psm1,sh,shell,shellscript,shellsession,text,zsh':
{
showLineNumbers: false,
},
},
},
styleOverrides: {
codeFontSize: '0.75rem',
borderColor: 'var(--border)',
codeFontFamily: 'var(--font-mono)',
codeBackground:
'color-mix(in oklab, var(--muted) 25%, transparent)',
frames: {
editorActiveTabForeground: 'var(--muted-foreground)',
editorActiveTabBackground:
'color-mix(in oklab, var(--muted) 25%, transparent)',
editorActiveTabIndicatorBottomColor: 'transparent',
editorActiveTabIndicatorTopColor: 'transparent',
editorTabBorderRadius: '0',
editorTabBarBackground: 'transparent',
editorTabBarBorderBottomColor: 'transparent',
frameBoxShadowCssValue: 'none',
terminalBackground:
'color-mix(in oklab, var(--muted) 25%, transparent)',
terminalTitlebarBackground: 'transparent',
terminalTitlebarBorderBottomColor: 'transparent',
terminalTitlebarForeground: 'var(--muted-foreground)',
},
lineNumbers: {
foreground: 'var(--muted-foreground)',
},
uiFontFamily: 'var(--font-sans)',
},
},
],
[
rehypeShiki,
{
themes: {
light: 'github-light',
light: 'catppuccin-latte',
dark: 'github-dark',
dark: 'catppuccin-mocha',
},
inline: 'tailing-curly-colon',
},
],
],

Another thing I changed is to add two sections on my homepage. For this change I also vibecoded it cause I am wayy too lazy. I also added a discord icon that links to my discord profile utilizing simple-icons. For that it is as easy as adding simple-icons to the package.json file and adding the following line of code

/src/consts.ts
export const ICON_MAP: IconMap = {
Website: 'lucide:globe',
GitHub: 'lucide:github',
LinkedIn: 'lucide:linkedin',
Twitter: 'lucide:twitter',
Email: 'lucide:mail',
RSS: 'lucide:rss',
Discord: 'simple-icons:discord',
}

Last but not least, I need to add a github workflow to push my changes into my github pages. Luckily I could simply yoink it from astro’s website

Thats pretty much all the changes I could remember. Yes ik a lot is vibecoded but I couldn’t care enough to put in the time and effort to make those changes myself.