No description
  • Go 50.1%
  • HTML 31.8%
  • CSS 17.5%
  • Dockerfile 0.6%
Find a file
Kalvin Carefour Johnny 3a82a9f463
Merge pull request #7 from kalvin0x8d0/claude/fix-iframe-injection-8El4C
Security hardening and timezone consistency improvements
2026-03-31 12:07:33 +08:00
.emergent Auto-generated changes 2026-03-29 00:13:20 +00:00
memory auto-commit for f5b361d3-7ba4-4be7-96d3-94ec46fd645c 2026-03-29 00:12:44 +00:00
static Add donation features to blogku 2026-03-29 02:32:08 +00:00
templates Add donation features to blogku 2026-03-29 02:32:08 +00:00
test_reports auto-commit for fe75b6f0-1c0d-440f-b32e-fda69ed19edf 2026-03-29 00:11:40 +00:00
.env.example Update .env.example 2026-03-29 08:39:27 +08:00
.gitconfig Auto-generated changes 2026-03-28 22:54:37 +00:00
.gitignore Auto-generated changes 2026-03-29 00:13:20 +00:00
auth.go Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00
db.go Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00
docker-compose.yml Update docker-compose.yml 2026-03-29 08:39:57 +08:00
Dockerfile Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00
go.mod Add Mastodon verification and fediverse creator attribution 2026-03-27 16:30:53 +00:00
go.sum Add Mastodon verification and fediverse creator attribution 2026-03-27 16:30:53 +00:00
handlers.go Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00
helpers.go Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00
LICENSE Create LICENSE 2026-03-28 00:01:36 +08:00
main.go Add donation features to blogku 2026-03-29 02:32:08 +00:00
models.go Add donation features to blogku 2026-03-29 02:32:08 +00:00
README.md Update README.md 2026-03-28 00:09:31 +08:00
templates.go Fix security vulnerabilities, functional bugs, and code imperfections 2026-03-31 04:06:56 +00:00

blogku

A minimal hybrid micro-blog and long-form blog CMS built with Go, HTML/CSS/JS, and MariaDB.

CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

AI Generated Badge

Features

  • Micro posts — short thoughts, no title needed
  • Long-form posts — markdown with live preview
  • RSS feed at /feed.xml
  • Dark mode — automatic via prefers-color-scheme
  • Single admin user — session-based auth
  • Docker Compose — one command to run

Quick Start

cp .env.example .env
# edit .env — at minimum change ADMIN_PASS
docker compose up -d

Open http://localhost:8080 and log in at /login.

Environment Variables

Variable Default Description
ADMIN_USER admin Admin username (first run only)
ADMIN_PASS changeme Admin password (first run only)
SITE_NAME blogku Displayed in header and RSS
SITE_TAGLINE micro & long-form thoughts Subtitle
SITE_URL http://localhost:8080 Full URL for RSS links
DB_USER blogku MariaDB user
DB_PASS blogku MariaDB password
DB_NAME blogku MariaDB database
PORT 8080 App listen port

Routes

Path Description
/ Public feed (micro + long mixed)
/post/{slug} Single long-form post
/feed.xml RSS feed
/login Login page
/admin Dashboard
/admin/new?type=micro New micro post
/admin/new?type=long New long-form post
/admin/settings Profile settings

Development (no Docker)

# start mariadb locally, then:
export DB_HOST=127.0.0.1 DB_USER=blogku DB_PASS=blogku DB_NAME=blogku
go run .

Stack

  • Go — stdlib net/http, no framework
  • MariaDB 11 — utf8mb4
  • goldmark — markdown rendering
  • bcrypt — password hashing
  • HTML/CSS/JS — no frontend framework