Update README
This commit is contained in:
65
README.md
65
README.md
@@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
**A beautiful, distraction-free markdown reader for Windows**
|
**A beautiful, distraction-free markdown reader for Windows**
|
||||||
|
|
||||||
Premium editorial typography · Refined dark aesthetic · Fully portable
|
Built for everyone. Owned by no one. Free as in freedom.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<img src="https://img.shields.io/badge/version-1.0.0-6B8AFF?style=flat-square&labelColor=282C33" alt="Version">
|
<img src="https://img.shields.io/badge/version-1.0.0-6B8AFF?style=flat-square&labelColor=282C33" alt="Version">
|
||||||
<img src="https://img.shields.io/badge/platform-Windows-6B8AFF?style=flat-square&labelColor=282C33" alt="Platform">
|
<img src="https://img.shields.io/badge/platform-Windows-6B8AFF?style=flat-square&labelColor=282C33" alt="Platform">
|
||||||
<img src="https://img.shields.io/badge/Tauri-v2-6B8AFF?style=flat-square&labelColor=282C33" alt="Tauri">
|
<img src="https://img.shields.io/badge/Tauri-v2-6B8AFF?style=flat-square&labelColor=282C33" alt="Tauri">
|
||||||
<img src="https://img.shields.io/badge/license-CC0-6B8AFF?style=flat-square&labelColor=282C33" alt="License">
|
<img src="https://img.shields.io/badge/license-CC0_Public_Domain-6B8AFF?style=flat-square&labelColor=282C33" alt="License">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -19,7 +19,9 @@ Premium editorial typography · Refined dark aesthetic · Fully portable
|
|||||||
|
|
||||||
## 📖 Overview
|
## 📖 Overview
|
||||||
|
|
||||||
Vesper renders your markdown with carefully tuned typography and a refined dark interface, giving you the ultimate reading experience. No installation, no AppData, no registry — just drop the exe and go.
|
Vesper renders your markdown with carefully tuned typography and a refined dark interface, giving you the ultimate reading experience. No installation, no AppData, no registry, no telemetry, no accounts, no subscriptions - just drop the exe and go.
|
||||||
|
|
||||||
|
Knowledge should be accessible to all. Vesper exists to make reading a pleasure, not a product.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@@ -35,7 +37,7 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
| ☑️ Task Lists | Interactive checkboxes in lists |
|
| ☑️ Task Lists | Interactive checkboxes in lists |
|
||||||
| ᴬᵇ Superscript / Subscript | `^text^` and `~text~` notation |
|
| ᴬᵇ Superscript / Subscript | `^text^` and `~text~` notation |
|
||||||
| 🖍️ Highlight | `==marked text==` rendered with accent background |
|
| 🖍️ Highlight | `==marked text==` rendered with accent background |
|
||||||
| 💬 Typographer | Smart quotes, em-dashes, and ellipses |
|
| 💬 Typographer | Smart quotes, dashes, and ellipses |
|
||||||
| 🔗 Linkify | Bare URLs auto-converted to clickable links |
|
| 🔗 Linkify | Bare URLs auto-converted to clickable links |
|
||||||
| 📄 HTML | Inline HTML passthrough |
|
| 📄 HTML | Inline HTML passthrough |
|
||||||
| ↵ Breaks | Newlines preserved as line breaks |
|
| ↵ Breaks | Newlines preserved as line breaks |
|
||||||
@@ -44,7 +46,7 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
|
|
||||||
> - **Inter Variable** at 17px with 1.7 line-height
|
> - **Inter Variable** at 17px with 1.7 line-height
|
||||||
> - ~65 character measure for optimal readability
|
> - ~65 character measure for optimal readability
|
||||||
> - Progressive heading color cascade — H1 near-white through H6 muted
|
> - Progressive heading color cascade - H1 near-white through H6 muted
|
||||||
> - Accent-colored list markers on both ordered and unordered lists
|
> - Accent-colored list markers on both ordered and unordered lists
|
||||||
> - Gradient-fade horizontal rules
|
> - Gradient-fade horizontal rules
|
||||||
> - Subtle persistent link underlines that intensify on hover
|
> - Subtle persistent link underlines that intensify on hover
|
||||||
@@ -55,7 +57,7 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
### 📑 Tabbed Interface
|
### 📑 Tabbed Interface
|
||||||
|
|
||||||
- Open **multiple documents** simultaneously in tabs
|
- Open **multiple documents** simultaneously in tabs
|
||||||
- 🔁 **Duplicate detection** — re-opening an already-open file switches to its tab
|
- 🔁 **Duplicate detection** - re-opening an already-open file switches to its tab
|
||||||
- ✨ Animated tab enter/exit with layout transitions
|
- ✨ Animated tab enter/exit with layout transitions
|
||||||
- ◀ ▶ **Scroll arrows** appear on overflow with hold-to-scroll
|
- ◀ ▶ **Scroll arrows** appear on overflow with hold-to-scroll
|
||||||
- 🖱️ **Mouse wheel** scrolling over the tab bar
|
- 🖱️ **Mouse wheel** scrolling over the tab bar
|
||||||
@@ -66,7 +68,7 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
|
|
||||||
### 🧭 Navigation
|
### 🧭 Navigation
|
||||||
|
|
||||||
- 📋 **Table of Contents** sidebar auto-generated from headings (H1–H6) with indentation
|
- 📋 **Table of Contents** sidebar auto-generated from headings (H1-H6) with indentation
|
||||||
- Click any heading to **smooth-scroll** to that section
|
- Click any heading to **smooth-scroll** to that section
|
||||||
- Sidebar opens even with no headings (shows "No headings" message)
|
- Sidebar opens even with no headings (shows "No headings" message)
|
||||||
- ↔️ **Resizable** sidebar via drag handle
|
- ↔️ **Resizable** sidebar via drag handle
|
||||||
@@ -79,9 +81,9 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
| Feature | Details |
|
| Feature | Details |
|
||||||
|:--|:--|
|
|:--|:--|
|
||||||
| 🖥️ Focus Mode | `F11` hides title bar and menu for immersive reading |
|
| 🖥️ Focus Mode | `F11` hides title bar and menu for immersive reading |
|
||||||
| 🔎 Content Zoom | `Ctrl+Scroll` — 50% to 200% |
|
| 🔎 Content Zoom | `Ctrl+Scroll` - 50% to 200% |
|
||||||
| ↔️ Content Width | `Shift+Scroll` — 400px to 1200px |
|
| ↔️ Content Width | `Shift+Scroll` - 400px to 1200px |
|
||||||
| 🔲 UI Scale | 50%–200% via View menu spinner, persisted across sessions |
|
| 🔲 UI Scale | 50%-200% via View menu spinner, persisted across sessions |
|
||||||
| 🏀 Kinetic Scroll | Right-mouse drag with iOS-style rubber band overscroll |
|
| 🏀 Kinetic Scroll | Right-mouse drag with iOS-style rubber band overscroll |
|
||||||
| 📜 Custom Scrollbars | Thin, auto-hiding, accent-colored on hover |
|
| 📜 Custom Scrollbars | Thin, auto-hiding, accent-colored on hover |
|
||||||
| 💾 Window Memory | Position, size, and maximized state remembered between sessions |
|
| 💾 Window Memory | Position, size, and maximized state remembered between sessions |
|
||||||
@@ -99,7 +101,7 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
### 🎨 UI Details
|
### 🎨 UI Details
|
||||||
|
|
||||||
- Custom **frameless title bar** with minimize, maximize/restore, and close
|
- Custom **frameless title bar** with minimize, maximize/restore, and close
|
||||||
- **Right-click context menu** — Copy, Open File, Toggle Search, Toggle Sidebar, Focus Mode, Keyboard Shortcuts, About, Exit
|
- **Right-click context menu** - Copy, Open File, Toggle Search, Toggle Sidebar, Focus Mode, Keyboard Shortcuts, About, Exit
|
||||||
- 🖊️ **Text selection preserved** visually on right-click via overlay rendering
|
- 🖊️ **Text selection preserved** visually on right-click via overlay rendering
|
||||||
- Context menu **stays within bounds** and respects UI zoom
|
- Context menu **stays within bounds** and respects UI zoom
|
||||||
- All panels, modals, tabs, and menus **animate** with Framer Motion
|
- All panels, modals, tabs, and menus **animate** with Framer Motion
|
||||||
@@ -133,10 +135,12 @@ Full CommonMark support via **markdown-it** with extensions:
|
|||||||
### Download
|
### Download
|
||||||
|
|
||||||
Download the latest **`vesper.exe`** from the [Releases](https://github.com/yourusername/vesper/releases) page.
|
Download the latest **`vesper.exe`** from the [Releases](https://github.com/yourusername/vesper/releases) page.
|
||||||
No installation required — Vesper is fully portable.
|
No installation required - Vesper is fully portable. No gatekeepers between you and your documents.
|
||||||
|
|
||||||
### Build from Source
|
### Build from Source
|
||||||
|
|
||||||
|
Everyone has the right to inspect, modify, and rebuild the tools they use.
|
||||||
|
|
||||||
> **Requires:** [Node.js](https://nodejs.org/) v18+ · [Rust](https://www.rust-lang.org/tools/install) stable · [Tauri v2 prerequisites](https://v2.tauri.app/start/prerequisites/)
|
> **Requires:** [Node.js](https://nodejs.org/) v18+ · [Rust](https://www.rust-lang.org/tools/install) stable · [Tauri v2 prerequisites](https://v2.tauri.app/start/prerequisites/)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -151,16 +155,18 @@ npm run tauri dev
|
|||||||
|
|
||||||
# Production build
|
# Production build
|
||||||
npm run tauri build
|
npm run tauri build
|
||||||
# → src-tauri/target/release/vesper.exe
|
# -> src-tauri/target/release/vesper.exe
|
||||||
```
|
```
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
## 🔧 Technology Stack
|
## 🔧 Technology Stack
|
||||||
|
|
||||||
|
Built entirely on open-source foundations - no proprietary dependencies, no vendor lock-in.
|
||||||
|
|
||||||
| | Layer | Technology |
|
| | Layer | Technology |
|
||||||
|:--|:--|:--|
|
|:--|:--|:--|
|
||||||
| ⚙️ | Runtime | [Tauri v2](https://tauri.app/) — Rust + WebView2 |
|
| ⚙️ | Runtime | [Tauri v2](https://tauri.app/) - Rust + WebView2 |
|
||||||
| ⚛️ | Frontend | React 19 · TypeScript · Vite 7 |
|
| ⚛️ | Frontend | React 19 · TypeScript · Vite 7 |
|
||||||
| 🎨 | Styling | Tailwind CSS 4 · DaisyUI 5 · Custom CSS |
|
| 🎨 | Styling | Tailwind CSS 4 · DaisyUI 5 · Custom CSS |
|
||||||
| 📝 | Markdown | [markdown-it](https://github.com/markdown-it/markdown-it) + plugins |
|
| 📝 | Markdown | [markdown-it](https://github.com/markdown-it/markdown-it) + plugins |
|
||||||
@@ -176,19 +182,19 @@ npm run tauri build
|
|||||||
|
|
||||||
## 💼 Portable
|
## 💼 Portable
|
||||||
|
|
||||||
Vesper is **fully portable** — zero installation, zero system footprint.
|
Vesper is **fully portable** - zero installation, zero system footprint. Your tools, your data, under your control.
|
||||||
|
|
||||||
All data lives in a `data/` folder next to the executable:
|
All data lives in a `data/` folder next to the executable:
|
||||||
|
|
||||||
```
|
```
|
||||||
vesper.exe
|
vesper.exe
|
||||||
data/
|
data/
|
||||||
├── window-state.json ← window position, size, maximized
|
├── window-state.json <- window position, size, maximized
|
||||||
└── EBWebView/ ← WebView2 data (localStorage, cache)
|
└── EBWebView/ <- WebView2 data (localStorage, cache)
|
||||||
```
|
```
|
||||||
|
|
||||||
> Nothing is written to AppData, the registry, or any other system location.
|
> Nothing is written to AppData, the registry, or any other system location.
|
||||||
> To move Vesper, just copy the exe and optionally the `data/` folder.
|
> No cloud sync, no phoning home. To move Vesper, just copy the exe and optionally the `data/` folder.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@@ -196,11 +202,12 @@ data/
|
|||||||
|
|
||||||
| | Principle |
|
| | Principle |
|
||||||
|:--|:--|
|
|:--|:--|
|
||||||
| 📖 | **Content First** — all UI chrome can be hidden; the reader is the focus |
|
| 📖 | **Content First** - all UI chrome can be hidden; the reader is the focus |
|
||||||
| 🔤 | **Typography Matters** — Inter at 17px, 1.7 line-height, ~65 char measure |
|
| 🔤 | **Typography Matters** - Inter at 17px, 1.7 line-height, ~65 char measure |
|
||||||
| 🌙 | **Dark by Default** — deep onyx base `#282C33` reduces eye strain |
|
| 🌙 | **Dark by Default** - deep onyx base `#282C33` reduces eye strain |
|
||||||
| ⌨️ | **Keyboard Driven** — every feature accessible via shortcuts |
|
| ⌨️ | **Keyboard Driven** - every feature accessible via shortcuts |
|
||||||
| ✨ | **Minimalist Chrome** — the interface gets out of your way |
|
| ✨ | **Minimalist Chrome** - the interface gets out of your way |
|
||||||
|
| 🤝 | **No Extraction** - no ads, no tracking, no data harvesting, no paywalls |
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@@ -247,13 +254,15 @@ vesper/
|
|||||||
|
|
||||||
## 📜 License
|
## 📜 License
|
||||||
|
|
||||||
This project is dedicated to the public domain under **CC0 1.0 Universal** — see the [LICENSE](LICENSE) file for details.
|
Dedicated to the **public domain** under [CC0 1.0 Universal](LICENSE). No copyright, no restrictions, no permission needed. Take it, use it, change it, share it - it belongs to everyone.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
## 🙏 Acknowledgments
|
## 🙏 Acknowledgments
|
||||||
|
|
||||||
- [iA Writer](https://ia.net/writer) — design inspiration
|
Built with gratitude on the collective work of open-source communities worldwide:
|
||||||
- [Tauri](https://tauri.app/) — desktop framework
|
|
||||||
- [markdown-it](https://github.com/markdown-it/markdown-it) — markdown parsing
|
- [iA Writer](https://ia.net/writer) - design inspiration
|
||||||
- [highlight.js](https://highlightjs.org/) — syntax highlighting
|
- [Tauri](https://tauri.app/) - desktop framework
|
||||||
|
- [markdown-it](https://github.com/markdown-it/markdown-it) - markdown parsing
|
||||||
|
- [highlight.js](https://highlightjs.org/) - syntax highlighting
|
||||||
|
|||||||
Reference in New Issue
Block a user