Commit Graph
24 Commits
Author SHA1 Message Date
eezd 1d5637a5eb fix(editor): apply font size changes while typing 2026-10-24 20:14:48 +08:00
eezd 849cd358d0 refactor(settings): remove diary and template features 2026-10-24 20:14:28 +08:00
eezd 0861be681b feat(tree): persist custom node icons and animate folder expansion 2026-10-24 18:13:42 +08:00
eezd 4a8902a3f6 fix(fonts): wait for required fonts before displaying page content 2026-10-24 18:13:19 +08:00
eezd d245eec810 feat(typography): bundle Maple Mono v7.9 as the default font 2026-10-24 18:13:04 +08:00
eezd b123ef36db feat(highlight): replace Prism with highlight.js and Atom One Dark 2026-10-24 18:12:49 +08:00
eezd 08f4e4aa7d feat(assets): store note images in shared sibling assets directories 2026-10-24 18:12:23 +08:00
eezd 5abc99b89e feat(editor): replace format bar with selection appearance controls 2026-10-24 18:11:57 +08:00
eezd 19aab631ec feat(ui): streamline workspace settings and remove sharing
Unify compact workspace controls and panel transitions, move directory actions into the context menu, and remove backlink UI.

Reorganize settings with searchable sections, per-setting resets, shortcut search, and accurate save feedback.

Remove sharing UI, APIs, authentication helpers, and storage code; provide a transactional cleanup script with retirement tests. Reject directories during orphan image cleanup and cover mixed-batch preservation.
2026-10-24 12:32:23 +08:00
eezd a716794e41 feat(ui): improve readability and fix workspace regressions
Separate interface typography from document text and enlarge controls across the workspace and public reader. Keep tree menus within the viewport and make constrained dialogs scrollable.

Preserve nested image references, escape moved link paths, synchronize note creation and daily-note opening, and hydrate shared headings. Add regression coverage for settings and workspace behavior.
2026-10-23 10:55:53 +08:00
eezd 4d1339851b feat(ui): redesign public reading and complete glass workspace
Add scoped public navigation, reading progress, focus and print controls without loading the editor. Polish responsive settings, graph and media layouts.

Correct share expiry units, preserve math and code during link maintenance, and normalize Markdown destinations for templates and note navigation. Verify browser flows and document the new tools.
2026-10-22 15:43:52 +08:00
eezd c08bb8a182 Document shortcuts, folder galleries and batch sharing 2026-10-21 16:37:01 +08:00
eezd d253536009 Add image listing and asset management
Show images in asset directories with preview, rename, replacement, and trash recovery. Update local Markdown references when images move and restore original files if related metadata cannot be committed.

Refresh image previews after replacement and compare actual contents when deduplicating subsequent uploads.
2026-10-21 15:14:07 +08:00
eezd 8b54ccba18 Remove setup code from first-run initialization 2026-10-21 14:19:11 +08:00
eezd 34d2acbbd5 Add Markdown and ZIP notebook import 2026-10-21 12:56:38 +08:00
eezd 606e08ca39 Use port 21000 and document CDN hostname requirements 2026-10-21 12:18:57 +08:00
eezd 96596110ec Add Docker Compose deployment and HTTPS proxy configuration 2026-10-21 12:04:53 +08:00
eezd 5ac01894e6 Add read-only sharing, API tokens and OpenAPI spec
- Share a note as a live read-only page at /s/{token} with optional password and expiry
- Share page renders with the shared parser (TOC, footnotes, math, Mermaid, code highlighting)
  and only serves images from the note's own .assets directory
- Shares follow renames made through the API or externally
- Manage shares and API tokens from the command palette and file tree
- Accept read/write API tokens as Bearer credentials; management endpoints require a session
- Serve a hand-written openapi.json, checked against the route table in tests
2026-10-17 15:21:47 +08:00
eezd 7b076346a4 Drop note encryption from README 2026-10-17 14:58:07 +08:00
eezd 55f0ee174e Add full-text search
- Index notes in a separate, rebuildable SQLite database (index.db) using FTS5 trigram,
  synced from watcher snapshots so external edits are picked up; terms under 3 characters
  fall back to LIKE
- GET /api/v1/search?q= returns matching notes with the first matching line and a snippet;
  path matches rank first
- Sidebar search panel (Ctrl+Shift+F) with highlighted terms and keyboard navigation;
  opening a result jumps to and selects the match
- Restore scroll position on tab switch with scroll snapshots; restoring scrollTop drifted
  by a few lines after line heights were re-estimated
2026-10-16 20:17:24 +08:00
eezd b3f05b501a build: add one-command dev launcher
scripts/dev.sh checks toolchains and ports, installs frontend deps when
the lockfile changes, starts the Go server and Vite with prefixed logs,
and stops both on Ctrl+C or when either exits. The Vite proxy reads the
same API_PORT so custom ports keep working.
2026-10-16 18:48:58 +08:00
eezd dc7e43bc3c build: support running the server with go run during development
- The dev build tag reads web/dist from disk instead of embedding it,
  so the backend starts without building the frontend first; Vite
  serves the UI and proxies /api and WebSocket to the Go server
- Document the two-terminal dev workflow and ignore .dev-data/
2026-10-16 18:46:13 +08:00
eezd bfe0a0654d build: add Docker image and deployment notes
- Multi-stage build: frontend, static Go binary with embedded assets,
  distroless nonroot runtime (~35 MB) with a built-in healthcheck
- Explain how to fix data directory permission errors on bind mounts
2026-10-16 18:37:14 +08:00
eezd 5746f2e9ae docs: add README 2026-10-16 18:16:10 +08:00