Cristofer's Corner

music enjoyer, computer enthusiast, datacenter fanatic

Deploying a jekyll site using notion and git

it’s not too crazy

i’m basically just writing up my content using my preferred notetaking app, Notion, and exporting as markdown.

caddy as an nginx replacement

i am using Caddy for the first time for this project, as a reverse proxy. I think the blocks are even more simple than nginx, it was literally as easy as this:

crith.dev {
        root * /path/to/_site
        file_server
        encode gzip
}

using github to deploy

it was pretty straightforward, ‘jekyll serve’ compiles a webroot folder that can be copied to a server and deployed, so i write my code on any of my machines, commit, push, and then i’m set to pull from my server, but this is how i set it up

git clone --filter=blob:none --no-checkout git@github.com:OGCristofer/[repo-name] [desired folder]
cd [desired folder]

enable sparse checkout in cone mode

git sparse-checkout init --cone

target the _site folder that jekyll creates in your project folder

git sparse-checkout set _site

Download the targeted folder (for initial setup) git checkout main

then, whenever changes are made, you can just

git pull

one thing to note was that I had to modify the gitignore and re-source it in order for the _site folder to sync, since it’s usually not backed up, but for my purposes, it will be.

after that i just export my markdown file from notion and copy it into my posts folder, rename it with the date, and add the header block for jekyll to understand it as a post:

---
layout: post
title: first blog post
author: Cristofer Posas
tags: [blog, intro]
---

that’s pretty much it!