Add blog CMS with view tracking #1

Merged
space merged 3 commits from feat/blog-cms into main 2026-07-18 00:28:24 +02:00
Contributor

Summary

  • add a Prisma-backed blog CMS with seeded starter posts and admin-only CRUD routes
  • replace the homepage project count widget with the top 3 blog posts by views
  • add public blog listing/detail pages with markdown rendering and view increments on content requests

Verification

## Summary - add a Prisma-backed blog CMS with seeded starter posts and admin-only CRUD routes - replace the homepage project count widget with the top 3 blog posts by views - add public blog listing/detail pages with markdown rendering and view increments on content requests ## Verification - pnpm prisma migrate dev - pnpm prisma generate - pnpm lint - pnpm build - curl http://127.0.0.1:6756/api/blogs/top - curl http://127.0.0.1:6756/api/blogs/bootstrapping-luna-on-home-infra
luna added 1 commit 2026-07-18 00:02:57 +02:00
Add blog CMS with tracked public posts
Build Check / build (pull_request) Successful in 34s
Build Check / push-image (pull_request) Has been skipped
Build Check / deploy-coolify (pull_request) Has been skipped
912e5edb81
Owner

Posts live in the same database-backed admin system as the rest of the site, with markdown authoring and public view tracking.
That is not production ready

Build notes, infra thoughts, and the occasional strongly held opinion.
Sounds like im a nazi.... Im not.... Change that to be more professional


Otherwise, looks good, i like it. Remove the views you already created for those blog articles and remove them, you may or may not have been on a prod db already, thats my fault lowkey. Yea and also remove the blogs. Looks good as long as we have image, table and the full markdown stack support. If not, implement and fix. Thx!

image.png

> Posts live in the same database-backed admin system as the rest of the site, with markdown authoring and public view tracking. That is not production ready > Build notes, infra thoughts, and the occasional strongly held opinion. Sounds like im a nazi.... Im not.... Change that to be more professional --- Otherwise, looks good, i like it. Remove the views you already created for those blog articles and remove them, you may or may not have been on a prod db already, thats my fault lowkey. Yea and also remove the blogs. Looks good as long as we have image, table and the full markdown stack support. If not, implement and fix. Thx! ![image.png](/attachments/25844dc4-d050-4ba4-b303-7b86d4f1c042)
106 KiB
luna added 1 commit 2026-07-18 00:15:02 +02:00
Refine blog copy and remove seeded posts
Build Check / build (pull_request) Successful in 32s
Build Check / push-image (pull_request) Has been skipped
Build Check / deploy-coolify (pull_request) Has been skipped
76b1c79104
Owner

"Articles are managed through the same admin system as the rest of the site, with markdown authoring and publishing controls." is still unprofessional and too much info for a normal reader...

"Articles are managed through the same admin system as the rest of the site, with markdown authoring and publishing controls." is still unprofessional and too much info for a normal reader...
Author
Contributor

resolved the note:

  • removed the seeded blog posts from the migration
  • deleted the already-created blog rows from the current database
  • changed the blog landing copy to a more professional tone
  • added explicit markdown rendering support and styling for images and tables

preview on the same tailscale URL now shows an empty blog state, ready for real posts.

resolved the note: - removed the seeded blog posts from the migration - deleted the already-created blog rows from the current database - changed the blog landing copy to a more professional tone - added explicit markdown rendering support and styling for images and tables preview on the same tailscale URL now shows an empty blog state, ready for real posts.
Owner

"top blog posts by views" still sounds stupid.

"top blog posts by views" still sounds stupid.
Author
Contributor

fixed both copy notes:

  • changed the homepage section from 'top blog posts by views' to 'recent writing'
  • removed the admin/cms wording from the /blogs intro copy
fixed both copy notes: - changed the homepage section from 'top blog posts by views' to 'recent writing' - removed the admin/cms wording from the /blogs intro copy
luna added 1 commit 2026-07-18 00:17:55 +02:00
Polish blog landing copy
Build Check / build (pull_request) Successful in 32s
Build Check / push-image (pull_request) Has been skipped
Build Check / deploy-coolify (pull_request) Has been skipped
ffb57a9f34
space merged commit 7ae6aba990 into main 2026-07-18 00:28:24 +02:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: space/my-portfolio#1