- Slug collision checks now properly propagate real DB errors instead of
silently ignoring them
- GetCategory now verifies site ownership, matching the pattern used by
UpdateCategory and DeleteCategory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extend the publishing pipeline to generate category index pages,
per-category archive pages, per-category RSS/JSON feeds, and display
categories on individual post pages and post lists.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wire up categories service, add CategoriesHandler with full CRUD, create index/edit templates, register routes in server.go, and add Categories nav link.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements SaveCategory, SelectCategory, SelectCategoriesOfSite,
SelectCategoryBySlugAndSite, DeleteCategory, SelectCategoriesOfPost,
SelectPostsOfCategory, CountPostsOfCategory, and SetPostCategories on
the DB Provider, along with BeginTx/QueriesWithTx for transaction
support. Also fixes pre-existing compilation errors in provider_test.go
(missing PagingParams args) so new tests can compile and run.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9-task plan covering migration, sqlc queries, DB provider,
service layer, admin UI, post form integration, site builder
with category pages and per-category feeds.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Have got upload images appearing in the post list
- Allowed for deleting uploads
- Allowed for seeing the upload progress
- Fixed the setting of upload properties like the MIME type
- Removed the stripe exif logic with just re-encoding PNGs and JPEGs by loading them and saving them