Commit Graph
13 Commits
Author SHA1 Message Date
eezd 4645d3d11c feat(demo): build a static editor preview for GitHub Pages 2026-10-27 14:15:57 +08:00
eezd 12d13327a6 feat(release): add semantic version to application builds 2026-10-27 14:15:57 +08:00
eezd ccb16acbea chore: standardize project comments in English 2026-10-26 22:52:12 +08:00
eezd 1e9e0678ee feat(i18n): add English and Simplified Chinese 2026-10-26 22:04:33 +08:00
eezd 3cd641a380 refactor(web): adopt modular Vue architecture and isolate bearer sessions 2026-10-25 20:47:32 +08:00
eezd 88492fdcde feat(settings): organize categories and include optional font storage 2026-10-25 13:22:16 +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 9e9ab03c2b Add About settings with build identity and API documentation 2026-10-21 11:47:27 +08:00
eezd 1562519f08 Add installable PWA shell with safe updates and offline status 2026-10-19 13:22:56 +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 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 02d904056c feat(web): add Vue workspace with file tree, tabs, autosave and live sync
- Login and first-run setup screens
- File tree with inline create/rename, context menu, drag-and-drop
  move and trash with undo; all operations update the UI first and roll
  back on failure
- Tabs keep a CodeMirror state each; edits autosave after 500 ms with
  If-Match revisions, unsent edits persist in IndexedDB, and conflicts
  or remote deletions surface as banners with explicit choices
- WebSocket events sync external edits, moves and deletions into open
  tabs; reconnects trigger a full resync
- Pasted or dropped images show instantly and upload to note.assets/
- Responsive layout with a swipe-in sidebar drawer on phones
- Switch to TypeScript 6: vue-tsc does not support TypeScript 7 yet
2026-10-16 18:37:14 +08:00
eezd a1597697e5 feat(web): add M0 live preview editor prototype
- CodeMirror 6 editor with Obsidian/Typora-style live preview: block
  markup revealed per line, inline markup revealed per element
- Fenced code highlighting via Shiki (github-dark, JS regex engine) in a
  Web Worker, languages loaded on demand
- Lezer syntax tree to HTML renderer for share pages, checked against
  the CommonMark 0.31.2 spec (640/652; 12 known parser deviations)
- Use markdownLanguage directly to avoid bundling lang-html/css/js
2026-10-16 17:23:58 +08:00