feat: use xpier media library for uploads and markdown embeds

Store media:ID in post bodies instead of CDN URLs, and keep sablog attach tokens as a fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
gouki
2026-09-16 19:03:52 +00:00
co-authored by Cursor
parent f6a9a8ea50
commit f81397a289
38 changed files with 5390 additions and 2059 deletions
+21
View File
@@ -0,0 +1,21 @@
# LaraLog Features
Modern blog migrated from SaBlog-X: Filament admin, themes, plugins, sablog import, S3 attachments, Workerman AI queue.
## Local development
- Site: http://laralog.test
- Admin: http://laralog.test/admin
- Account: `admin@laralog.test` / `password`
- Database: MySQL `laralog` (Herd, root / empty password)
- Remote: `git@gitea.neatcn.com:gouki/laralog.git`
See `README.md` and `docs/` for install, import, plugins, and themes.
## Media library (xpier)
- Package: `xpier/filament-media-library` (admin Media Library + MediaPicker).
- **Markdown body must store `![alt](media:ID)` or `[name](media:ID)`**, never a CDN/object-storage URL. HTML uses `[media=ID]`.
- Insert flow: pick a file → **Insert into body**. Cover uses `cover_media_id`.
- Legacy sablog `[attach=ID]` / `{{attach:ID}}` still render from Spatie media.
- Details: `docs/media.md`.