1.7 KiB
Ronbun-CMS
A personal CMS created to learn Golang and SQL. To learn more about the goals of the project, you can read this blog post.
The project was made following Alex Edward's excellent Let's go book. I changed a lot of things, and had the author's authorization to share the code.
Road to open source
- Create a new table for static data like the site title, rss feed name, etc
- On first launch, redirect to account creation, then on site customization, then create default pages : 1st blog post, about page, etc
- Remove my design files but keep the necessary styles
- Popup before "Delete this page" happens
- Show archive of pages on the home by default
- Rewrite the AI image processing code
- Write tons of tests
Local Development
You need to make a few preparations to dev locally.
Requirements
- Go 1.24
Create a self-signed cert
In order to have https locally, we need to create a self-signed certificate using the generate_cert.go file.
On mac if Go was installed with homebrew:
mkdir tls
cd tls
go run /opt/homebrew/Cellar/go/1.24.1/libexec/src/crypto/tls/generate_cert.go --rsa-bits=2048 --host=localhost
cd ..
Give lightning CSS the right to execute
chmod +x ./tooling/lightningcss
Live reload
Then use air to launch the project in dev mode:
go tool air -- -dev
Build to production
Unfortunately the webp package needs cgo, install a compiler with
brew install FiloSottile/musl-cross/musl-cross
And then run:
CC=x86_64-linux-musl-gcc CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -ldflags='-linkmode external -extldflags "-static"' -o ./build/ronbun ./cmd/web/