Upgrade Readme
This commit is contained in:
95
README.md
95
README.md
@ -3,10 +3,10 @@
|
|||||||
A lightweight, web-based Markdown note-taking application with a Go backend and a minimalist frontend built with htmx.
|
A lightweight, web-based Markdown note-taking application with a Go backend and a minimalist frontend built with htmx.
|
||||||
|
|
||||||
- 🚫 No database
|
- 🚫 No database
|
||||||
- 📝 Fat files : Markdown with frontmatters
|
- 📝 Flat files : Markdown with frontmatters
|
||||||
- 🔒 Your notes, your application, your server, your data
|
- 🔒 Your notes, your application, your server, your data
|
||||||
- ⌨️ Vim Mode
|
- ⌨️ Vim Mode
|
||||||
- 🎹 Keyboard driven
|
- 🎹 Keyboard driven with shortcut and "/" command
|
||||||
- 🔍 Powerful Search
|
- 🔍 Powerful Search
|
||||||
- 🌍 Run everywhere (Linux & FreeBSD)
|
- 🌍 Run everywhere (Linux & FreeBSD)
|
||||||
- 📱 Responsive with laptop and smartphone
|
- 📱 Responsive with laptop and smartphone
|
||||||
@ -37,37 +37,6 @@ A lightweight, web-based Markdown note-taking application with a Go backend and
|
|||||||
* **Lightweight Frontend:** Built with htmx for dynamic interactions, minimizing JavaScript complexity.
|
* **Lightweight Frontend:** Built with htmx for dynamic interactions, minimizing JavaScript complexity.
|
||||||
* **Go Backend:** Fast and efficient Go server handles file operations, indexing, and serving the frontend.
|
* **Go Backend:** Fast and efficient Go server handles file operations, indexing, and serving the frontend.
|
||||||
|
|
||||||
## Technologies Used
|
|
||||||
|
|
||||||
* **Backend:** Go
|
|
||||||
* `net/http`: Standard library for the web server.
|
|
||||||
* `github.com/fsnotify/fsnotify`: For watching file system changes and re-indexing.
|
|
||||||
* `gopkg.in/yaml.v3`: For parsing and marshaling YAML front matter.
|
|
||||||
* **Frontend:** HTML, CSS, JavaScript
|
|
||||||
* [htmx](https://htmx.org/): For dynamic UI interactions without writing much JavaScript.
|
|
||||||
* [CodeMirror 6](https://codemirror.net/6/): For the robust Markdown editor.
|
|
||||||
* [Vite](https://vitejs.dev/): For bundling frontend JavaScript modules.
|
|
||||||
* [marked.js](https://marked.js.org/): For client-side Markdown parsing in the preview.
|
|
||||||
* [DOMPurify](https://dompurpurify.com/): For sanitizing HTML output from Markdown to prevent XSS vulnerabilities.
|
|
||||||
* [Highlight.js](https://highlightjs.org/): For syntax highlighting in code blocks.
|
|
||||||
* Custom CSS theme with dark mode inspired by VS Code and GitHub Dark.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
**Getting Started**:
|
|
||||||
- **[docs/USAGE_GUIDE.md](./docs/USAGE_GUIDE.md)** - Complete usage guide from basics to advanced features
|
|
||||||
- **[docs/FREEBSD_BUILD.md](./docs/FREEBSD_BUILD.md)** - FreeBSD build and deployment guide
|
|
||||||
|
|
||||||
**Features**:
|
|
||||||
- **[docs/DAILY_NOTES.md](./docs/DAILY_NOTES.md)** - Daily notes guide and template customization
|
|
||||||
- **[docs/KEYBOARD_SHORTCUTS.md](./docs/KEYBOARD_SHORTCUTS.md)** - Complete keyboard shortcuts reference
|
|
||||||
- **[API.md](./API.md)** - REST API documentation with examples
|
|
||||||
|
|
||||||
**Technical**:
|
|
||||||
- **[docs/ARCHITECTURE_OVERVIEW.md](./docs/ARCHITECTURE_OVERVIEW.md)** - Architecture, technology stack, and design principles
|
|
||||||
- **[ARCHITECTURE.md](./ARCHITECTURE.md)** - Complete system architecture, patterns, and best practices
|
|
||||||
- **[CLAUDE.md](./CLAUDE.md)** - Development guide and implementation details
|
|
||||||
- **[CHANGELOG.md](./CHANGELOG.md)** - Version history and release notes
|
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
@ -89,8 +58,6 @@ A lightweight, web-based Markdown note-taking application with a Go backend and
|
|||||||
|
|
||||||
### Frontend Build Process
|
### Frontend Build Process
|
||||||
|
|
||||||
**IMPORTANT**: The frontend must be built before running the application.
|
|
||||||
|
|
||||||
The frontend uses [Vite](https://vitejs.dev/) to bundle CodeMirror 6 and other JavaScript modules. This step is **required** for the editor to work.
|
The frontend uses [Vite](https://vitejs.dev/) to bundle CodeMirror 6 and other JavaScript modules. This step is **required** for the editor to work.
|
||||||
|
|
||||||
1. **Install Node.js dependencies** (first time only):
|
1. **Install Node.js dependencies** (first time only):
|
||||||
@ -133,6 +100,51 @@ go build -o server ./cmd/server
|
|||||||
# Run
|
# Run
|
||||||
./server
|
./server
|
||||||
```
|
```
|
||||||
|
## Server Configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Custom port
|
||||||
|
go run ./cmd/server -addr :3000
|
||||||
|
|
||||||
|
# Custom notes directory
|
||||||
|
go run ./cmd/server -notes-dir ~/my-notes
|
||||||
|
|
||||||
|
# Both
|
||||||
|
go run ./cmd/server -addr :3000 -notes-dir ~/my-notes
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Technologies Used
|
||||||
|
|
||||||
|
* **Backend:** Go
|
||||||
|
* `net/http`: Standard library for the web server.
|
||||||
|
* `github.com/fsnotify/fsnotify`: For watching file system changes and re-indexing.
|
||||||
|
* `gopkg.in/yaml.v3`: For parsing and marshaling YAML front matter.
|
||||||
|
* **Frontend:** HTML, CSS, JavaScript
|
||||||
|
* [htmx](https://htmx.org/): For dynamic UI interactions without writing much JavaScript.
|
||||||
|
* [CodeMirror 6](https://codemirror.net/6/): For the robust Markdown editor.
|
||||||
|
* [Vite](https://vitejs.dev/): For bundling frontend JavaScript modules.
|
||||||
|
* [marked.js](https://marked.js.org/): For client-side Markdown parsing in the preview.
|
||||||
|
* [DOMPurify](https://dompurpurify.com/): For sanitizing HTML output from Markdown to prevent XSS vulnerabilities.
|
||||||
|
* [Highlight.js](https://highlightjs.org/): For syntax highlighting in code blocks.
|
||||||
|
* Custom CSS theme with dark mode inspired by VS Code and GitHub Dark.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
**Getting Started**:
|
||||||
|
- **[docs/USAGE_GUIDE.md](./docs/USAGE_GUIDE.md)** - Complete usage guide from basics to advanced features
|
||||||
|
- **[docs/FREEBSD_BUILD.md](./docs/FREEBSD_BUILD.md)** - FreeBSD build and deployment guide
|
||||||
|
|
||||||
|
**Features**:
|
||||||
|
- **[docs/DAILY_NOTES.md](./docs/DAILY_NOTES.md)** - Daily notes guide and template customization
|
||||||
|
- **[docs/KEYBOARD_SHORTCUTS.md](./docs/KEYBOARD_SHORTCUTS.md)** - Complete keyboard shortcuts reference
|
||||||
|
- **[API.md](./API.md)** - REST API documentation with examples
|
||||||
|
|
||||||
|
**Technical**:
|
||||||
|
- **[docs/ARCHITECTURE_OVERVIEW.md](./docs/ARCHITECTURE_OVERVIEW.md)** - Architecture, technology stack, and design principles
|
||||||
|
- **[ARCHITECTURE.md](./ARCHITECTURE.md)** - Complete system architecture, patterns, and best practices
|
||||||
|
- **[CLAUDE.md](./CLAUDE.md)** - Development guide and implementation details
|
||||||
|
- **[CHANGELOG.md](./CHANGELOG.md)** - Version history and release notes
|
||||||
|
|
||||||
## Quick Start Guide
|
## Quick Start Guide
|
||||||
|
|
||||||
@ -175,16 +187,3 @@ curl -X DELETE http://localhost:8080/api/v1/notes/old-note.md
|
|||||||
```
|
```
|
||||||
|
|
||||||
**→ Complete API documentation**: [API.md](./API.md)
|
**→ Complete API documentation**: [API.md](./API.md)
|
||||||
|
|
||||||
## Server Configuration
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Custom port
|
|
||||||
go run ./cmd/server -addr :3000
|
|
||||||
|
|
||||||
# Custom notes directory
|
|
||||||
go run ./cmd/server -notes-dir ~/my-notes
|
|
||||||
|
|
||||||
# Both
|
|
||||||
go run ./cmd/server -addr :3000 -notes-dir ~/my-notes
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user