Add polished UX: tabs, kinetic scroll, animations, search, typography
- Tabbed interface with duplicate detection, overflow scroll arrows, mouse wheel support, and animated enter/exit transitions - Kinetic scrolling on right-mouse drag with iOS-style rubber band overscroll and damped spring snapback (content area and sidebar) - Framer Motion animations on sidebar, context menu, drop zone, focus mode, tabs, and all modals - Full-text search with real-time DOM highlighting and match navigation - Custom OverlayScrollbars replacing native scrollbars - Tauri native drag-and-drop replacing broken browser drag events - UI scale control (View menu spinner) persisted to localStorage - Content zoom (Ctrl+Scroll) and width adjustment (Shift+Scroll) - Right-click context menu with copy, zoom-adjusted positioning, and boundary clamping - Text selection preserved on right-click via visual overlay - Focus mode hides title/menu bars with animated transitions - Premium editorial typography: progressive heading color cascade, gradient-fade horizontal rules, accent-colored list markers, subtle persistent link underlines, refined blockquotes and code blocks - Sidebar table of contents with "No headings" empty state - Markdown breaks and typographer enabled - New app icons and updated README with full feature documentation
28
src-tauri/Cargo.lock
generated
@@ -596,20 +596,6 @@ dependencies = [
|
||||
"syn 2.0.115",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darkmark"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tauri",
|
||||
"tauri-build",
|
||||
"tauri-plugin-dialog",
|
||||
"tauri-plugin-fs",
|
||||
"tauri-plugin-opener",
|
||||
"tauri-plugin-window-state",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling"
|
||||
version = "0.21.3"
|
||||
@@ -4308,6 +4294,20 @@ version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
|
||||
[[package]]
|
||||
name = "vesper"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tauri",
|
||||
"tauri-build",
|
||||
"tauri-plugin-dialog",
|
||||
"tauri-plugin-fs",
|
||||
"tauri-plugin-opener",
|
||||
"tauri-plugin-window-state",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "vswhom"
|
||||
version = "0.1.0"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "darkmark"
|
||||
name = "vesper"
|
||||
version = "0.1.0"
|
||||
description = "A beautiful markdown reader"
|
||||
authors = ["you"]
|
||||
@@ -8,7 +8,7 @@ edition = "2021"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[lib]
|
||||
name = "darkmark_lib"
|
||||
name = "vesper_lib"
|
||||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||||
|
||||
[build-dependencies]
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 974 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 903 B After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 279 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 198 KiB |
@@ -2,5 +2,5 @@
|
||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||
|
||||
fn main() {
|
||||
darkmark_lib::run()
|
||||
vesper_lib::run()
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"transparent": false,
|
||||
"resizable": true,
|
||||
"center": true,
|
||||
"dragDropEnabled": false
|
||||
"dragDropEnabled": true
|
||||
}
|
||||
],
|
||||
"security": {
|
||||
|
||||