Commit Graph

  • df85df3d2e style(empty-state): 配图加圆角,暗色模式降低亮度 xfy 2026-06-25 13:48:46 +08:00
  • cfd2af1fab refactor(empty-state): 内联 SVG 换成 webp 配图 xfy 2026-06-25 13:43:23 +08:00
  • 97b413dd50 docs: 同步 AGENTS.md 与当前代码 xfy 2026-06-25 13:39:28 +08:00
  • 8b581649a6 feat(home): 用「线条小狗」插画替换首页空状态 xfy 2026-06-25 13:37:07 +08:00
  • 4ec8d72b66 feat(db): 启动期自动创建目标数据库 xfy 2026-06-25 11:46:50 +08:00
  • 21322a4339 fix(card): 提升覆盖层 z-index 使封面图可点击跳转 xfy 2026-06-25 11:10:43 +08:00
  • 7242c7d8f5 chore: 将迁移脚本 migrate.sh 移至 scripts/ 目录 xfy 2026-06-25 10:33:32 +08:00
  • 2f861d3e6a chore(lightbox): update package-lock.json xfy 2026-06-24 15:57:47 +08:00
  • 71014aa0de style: 封面图比例统一改为 21:9 超宽 xfy 2026-06-24 15:53:55 +08:00
  • 5fc8a9aeeb style(card): 卡片封面图比例从 4:3 改为 16:9 xfy 2026-06-24 15:49:53 +08:00
  • a9b194f3bf fix(card): 将 blur-img 规则移入 @layer components 修复封面高度 xfy 2026-06-24 15:46:24 +08:00
  • d48b32b40e fix(card): 修复首页卡片封面图高度場陷 xfy 2026-06-24 15:38:53 +08:00
  • 66d29eaa62 fix(write): 元数据行移至封面上方 + 编辑器撑满修复 xfy 2026-06-24 15:35:52 +08:00
  • 198a9b292a refactor(write): 封面区空态矮横条 + 主体可滚动 xfy 2026-06-24 15:23:32 +08:00
  • 8971fbe1a2 feat(write): 支持封面图上传(拖拽/点击/粘贴) xfy 2026-06-24 15:09:47 +08:00
  • ff2694c5a3 feat(image): make size/pixel limits configurable, double defaults xfy 2026-06-24 13:54:36 +08:00
  • 933c7a8c93 docs(env): document hardcoded image upload size limits xfy 2026-06-24 13:26:11 +08:00
  • 0777fd469a fix(upload): unify image size limit across all formats xfy 2026-06-24 13:25:23 +08:00
  • eed0b24ec3 Merge branch 'refactor/lightbox-modernize' xfy 2026-06-24 13:17:18 +08:00
  • 25eacc1c3c refactor(lightbox): modernize to const/let, template literals, drop IIFE xfy 2026-06-24 11:44:06 +08:00
  • aadfed2595 test(lightbox): add happy-dom behavior regression tests for refactor xfy 2026-06-24 11:40:36 +08:00
  • ffaf191398 Merge branch 'feat/lightbox-typescript-build' xfy 2026-06-24 11:31:48 +08:00
  • 507d271a2b fix(lightbox): prevent page scroll on close via focus({ preventScroll: true }) xfy 2026-06-24 11:27:15 +08:00
  • 05e2989278 build(lightbox): use npm install (npm 11 ci rejects cross-platform rolldawn optional deps) xfy 2026-06-24 11:18:40 +08:00
  • 022b63aedc refactor(lightbox): remove legacy public/js/lightbox.js (migrated to libs/lightbox) xfy 2026-06-24 11:07:46 +08:00
  • 0301185a17 refactor(post-content): drop lightbox include_str!, use config-driven init xfy 2026-06-24 11:07:24 +08:00
  • adf9e9cf07 build: add build-lightbox targets, wire into build/build-linux/dev/test xfy 2026-06-24 11:06:03 +08:00
  • 3284b03819 build: register lightbox assets in Dioxus.toml, gitignore public/lightbox xfy 2026-06-24 11:04:29 +08:00
  • b4ef906141 refactor(lightbox): move .lightbox-* CSS into lightbox project, wire import xfy 2026-06-24 11:02:44 +08:00
  • 5f57d375ea feat(lightbox): migrate DOM logic to TypeScript index.ts with self-start contract xfy 2026-06-24 10:57:23 +08:00
  • 44fc641aaa feat(lightbox): extract geometry pure fns with vitest coverage xfy 2026-06-24 10:52:48 +08:00
  • c5af4457e2 feat(lightbox): scaffold libs/lightbox TS project (vite + tsc + vitest) xfy 2026-06-24 10:49:58 +08:00
  • 1cc09e4cbc fix(bridge): use unchecked_into for TiptapEditorModule (not dyn_into) xfy 2026-06-24 10:38:33 +08:00
  • 410d594ac0 fix(bridge): read window.TiptapEditor via Reflect.get, not function call xfy 2026-06-24 10:35:11 +08:00
  • fb31ecb5ae fix(tiptap): expose EditorOptions as runtime class for wasm-bindgen xfy 2026-06-24 10:27:07 +08:00
  • 368a651fa6 build: make test runs both cargo test and vitest xfy 2026-06-24 10:14:20 +08:00
  • c0af99736d docs: update AGENTS.md for vite 8 build, vitest tests, and tiptap toolchain xfy 2026-06-24 10:12:16 +08:00
  • 08c2539dfc test(tiptap): add isValidUrl tests covering scheme validation edge cases xfy 2026-06-24 10:10:39 +08:00
  • 90cff2d0cc test(tiptap): add UploadImageNodeView tests for rendering/update/callbacks/destroy xfy 2026-06-24 10:09:36 +08:00
  • f7042d3ab4 test(tiptap): add UploadCoordinator tests for counts/lifecycle/emit/idempotency xfy 2026-06-24 10:07:43 +08:00
  • 8ff051689f refactor(tiptap): export isValidUrl and UploadImageNodeView for testability xfy 2026-06-24 10:04:59 +08:00
  • 19532670d3 build(tiptap): add vitest config with happy-dom environment xfy 2026-06-24 10:04:23 +08:00
  • 21c0359f5e build(tiptap): upgrade to vite 8/vitest 4/typescript 6/tiptap 3.27, migrate to rolldownOptions xfy 2026-06-24 10:03:47 +08:00
  • 939e0de171 build(tiptap): run tsc --noEmit before vite build xfy 2026-06-23 18:45:17 +08:00
  • 6ffcd55c94 fix(tiptap): correct link command order + validate URL scheme in slash commands xfy 2026-06-23 18:42:57 +08:00
  • e580c3ab18 refactor(tiptap): narrow updateNodeAttrs type, extract findImageNodeByUploadId helper xfy 2026-06-23 18:42:05 +08:00
  • d099db4140 refactor(tiptap): move coordinator to editor.storage, drop dead Markdown html option xfy 2026-06-23 18:39:38 +08:00
  • 6b44a9c036 fix(tiptap): clean up pending upload on NodeView.destroy to prevent blob leak xfy 2026-06-23 18:36:47 +08:00
  • 2e239908a4 fix(tiptap): revoke blob on node destroy + maintain upload counts internally xfy 2026-06-23 18:36:07 +08:00
  • 71df6abe5d refactor(tiptap): drop redundant single-arg mergeAttributes call xfy 2026-06-23 18:35:05 +08:00
  • 18ae6a915e refactor(tiptap): type coordinatorRef via Pick<UploadCoordinator> instead of duck typing xfy 2026-06-23 18:34:37 +08:00
  • 558191e922 refactor(tiptap): type CommandItem.editor as Editor, explicit SlashPopup return type xfy 2026-06-23 18:33:59 +08:00
  • 073f6936e3 build(tiptap): add tsconfig + typecheck script xfy 2026-06-23 18:32:26 +08:00
  • c1610ace99 fix(lightbox): prevent background flash on open xfy 2026-06-23 17:37:38 +08:00
  • 8bdc3553bd fix(lightbox): correct zoom origin, scroll-close, blur-up rendering xfy 2026-06-23 17:30:37 +08:00
  • 940236d84f style: unify lightbox CSS, adapt entry-cover and post-card blur xfy 2026-06-23 15:53:14 +08:00
  • cb8c42e833 refactor: remove obsolete ImageViewer component xfy 2026-06-23 15:51:40 +08:00
  • 8b1d55613e refactor(post-card): use raw blur-img for cover, drop ImageViewer xfy 2026-06-23 15:50:29 +08:00
  • 75b9080df8 refactor(post-cover): use raw blur-img structure as single lightbox image xfy 2026-06-23 15:48:02 +08:00
  • f88d83b0ad feat(post-content): load lightbox.js and init gallery xfy 2026-06-23 15:45:30 +08:00
  • bace31933f refactor(post-content): remove lightbox/lazy-load, keep copy only xfy 2026-06-23 15:44:46 +08:00
  • 5d2b6e502d feat(lightbox): gallery navigation with fade, arrows + keyboard xfy 2026-06-23 15:43:24 +08:00
  • ab4f006107 fix(lightbox): bind interactions immediately, before image loads xfy 2026-06-23 15:41:22 +08:00
  • a5c7e64230 feat(lightbox): open/close with origin-aware zoom + scroll-to-close xfy 2026-06-23 15:29:59 +08:00
  • fe58d25b54 feat(lightbox): add lightbox.js skeleton with lazy-load xfy 2026-06-23 15:28:47 +08:00
  • e68b77aac0 style(highlight): unify code block background via --color-paper-code-block xfy 2026-06-23 15:28:12 +08:00
  • 975e331dd5 fix(write): split tags on fullwidth punctuation xfy 2026-06-23 14:44:18 +08:00
  • ef6a3f0da2 fix(home,editor): repair post card nested anchors and editor upload state xfy 2026-06-23 14:14:28 +08:00
  • 1e270f0055 refactor(tiptap): replace js_sys::eval with wasm-bindgen bindings xfy 2026-06-23 13:40:22 +08:00
  • a6d30ed5d9 refactor(write): address code review feedback xfy 2026-06-23 13:32:34 +08:00
  • a3896c24a5 refactor(write): replace all js_sys::eval with tiptap_bridge bindings xfy 2026-06-23 11:25:06 +08:00
  • 84eea3272a feat(bridge): wasm-bindgen layer for TiptapEditor xfy 2026-06-23 10:56:00 +08:00
  • 9ef3fbfed9 build: add web-sys features for tiptap bridge upload closure xfy 2026-06-23 10:52:59 +08:00
  • 92cfda7d5a refactor(tiptap): EditorOptions onReady/onUploadEvent callbacks replace polling xfy 2026-06-23 10:52:30 +08:00
  • b09216ef29 refactor(tiptap): UploadCoordinator emit callback replaces window global xfy 2026-06-23 10:52:20 +08:00
  • 9c2b0b1a66 test(markdown): remove diagnostic marker, keep slash verification test xfy 2026-06-23 09:58:53 +08:00
  • ad0d884065 fix(makefile): disable SSR cache in dev to avoid stale rendered HTML xfy 2026-06-23 09:33:13 +08:00
  • d194f17013 test(markdown): verify aspect-ratio uses slash separator with real dimensions xfy 2026-06-22 18:24:29 +08:00
  • 6e98c2abfa fix(blur-up): use slash separator for aspect-ratio (--ar W / H) xfy 2026-06-22 18:11:04 +08:00
  • 0413e539fe docs(env): document IMAGE_DIMENSIONS_CACHE_TTL_SECS xfy 2026-06-22 18:01:31 +08:00
  • 8ef9ee5621 feat(post-content): lazy-load hi-res images with blur-up fade-in xfy 2026-06-22 18:00:52 +08:00
  • 1a41f8d7aa feat(image-viewer): render blur-up double-layer structure xfy 2026-06-22 18:00:13 +08:00
  • ed91590978 style: add blur-up progressive image loading styles xfy 2026-06-22 17:59:30 +08:00
  • 0fc56adfcd feat(markdown): wrap uploads images with blur-up double-layer structure xfy 2026-06-22 17:58:37 +08:00
  • 4690b64a99 feat(sanitizer): allow data-src/class/style on img for blur-up xfy 2026-06-22 17:57:05 +08:00
  • 45d14e2ad9 feat(image): add image dimensions cache with header-only reading xfy 2026-06-22 17:55:16 +08:00
  • 6e2e261156 docs(plan): blur-up progressive image loading implementation plan xfy 2026-06-22 17:47:50 +08:00
  • 987a0d9671 docs(spec): blur-up progressive image loading design xfy 2026-06-22 17:40:08 +08:00
  • 876cb55e91 style(editor): smooth blur/grayscale transition on placeholder image xfy 2026-06-22 16:27:02 +08:00
  • 6e04940edc style(editor): blur uploading placeholder image, keep overlay text sharp xfy 2026-06-22 16:24:02 +08:00
  • 75adaa2e1f fix(write): use signal for seen_error_ids to satisfy FnMut constraint xfy 2026-06-22 15:55:10 +08:00
  • cee4f3f3ef fix(upload): address code review findings xfy 2026-06-22 15:49:23 +08:00
  • a10f79d47e feat(write): upload failure notices, save blocking, and server error passthrough xfy 2026-06-22 15:38:53 +08:00
  • d90dd60e89 feat(write): poll window.__tiptap_uploads for upload events and counts xfy 2026-06-22 15:35:17 +08:00
  • cb14924de8 feat(write): add upload state signals for placeholder tracking xfy 2026-06-22 15:33:43 +08:00
  • 8ffb4451b1 style(editor): add upload placeholder NodeView styles (overlay/spinner/error) xfy 2026-06-22 15:32:32 +08:00
  • 34c8b47436 feat(editor): route slash-command image upload through coordinator xfy 2026-06-22 15:30:39 +08:00
  • 5d527778a5 feat(editor): wire UploadCoordinator and custom Image in TiptapEditorInstance xfy 2026-06-22 15:28:40 +08:00
  • 57bea05aa3 feat(editor): add custom Image extension with upload-state NodeView xfy 2026-06-22 15:25:25 +08:00
  • 8ce9c58997 feat(editor): maintain window.__tiptap_uploads for Rust polling xfy 2026-06-22 15:24:37 +08:00