Des tonnes de modifications notamment VIM / Couleurs / typos

This commit is contained in:
2025-11-11 15:41:51 +01:00
parent 439880b08f
commit 6face7a02f
59 changed files with 7857 additions and 960 deletions

View File

@ -5,12 +5,14 @@ A lightweight, web-based Markdown note-taking application with a Go backend and
## Features
* **File-based Notes:** All notes are stored as plain Markdown files (`.md`) on the filesystem.
* **Daily Notes:** Quick daily journaling with interactive calendar, keyboard shortcuts (`Ctrl/Cmd+D`), and structured templates.
* **Tag Indexing:** Notes are indexed by tags specified in their YAML front matter, enabling quick search.
* **CodeMirror 6 Editor:** Modern, powerful Markdown editor with syntax highlighting and One Dark theme.
* **Live Markdown Preview:** Side-by-side editor and live preview pane with scroll synchronization.
* **Automatic Front Matter:** Automatically generates and updates `title`, `date` (creation), `last_modified`, and `tags` in YAML front matter.
* **Slash Commands:** Insert common Markdown elements and dynamic content (like current date) using `/` commands in the editor.
* **Search Modal:** Press `Ctrl/Cmd+K` to open a powerful search modal with keyboard navigation and real-time results.
* **Interactive Calendar:** Monthly calendar widget showing daily notes with visual indicators and one-click access.
* **Dynamic File Tree:** Automatically updating file tree in the sidebar to navigate notes.
* **Hierarchical Organization:** Organize notes in folders with drag-and-drop file management.
* **Rich Search:** Search by keywords, tags (`tag:projet`), title (`title:meeting`), or path (`path:backend`).
@ -27,11 +29,33 @@ A lightweight, web-based Markdown note-taking application with a Go backend and
* **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.
## Architecture
Project Notes uses a **hybrid architecture** that combines:
- **Go Backend**: Fast, type-safe server handling file operations and indexing
- **HTMX**: "HTML over the wire" for dynamic interactions with minimal JavaScript
- **Modern JavaScript**: CodeMirror 6, drag-and-drop, and UI enhancements
- **Vite**: Modern build tool for efficient JavaScript bundling
**Key Design Principles**:
- Server renders HTML, not JSON (simpler, faster)
- HTMX handles all AJAX and DOM updates (consistent, reliable)
- JavaScript enhances UI (editor, drag-and-drop, animations)
- Event-driven coordination between HTMX and JavaScript
For detailed documentation, see:
- **[docs/DAILY_NOTES.md](./docs/DAILY_NOTES.md)** - Complete daily notes guide and customization
- **[ARCHITECTURE.md](./ARCHITECTURE.md)** - Complete system architecture, patterns, and best practices
- **[CLAUDE.md](./CLAUDE.md)** - Development guide and implementation details
- **[API.md](./API.md)** - REST API documentation
- **[CHANGELOG.md](./CHANGELOG.md)** - Version history and release notes
## Getting Started
### Prerequisites
@ -99,6 +123,22 @@ go build -o server ./cmd/server
## Usage
### Daily Notes (Quick Start)
**The fastest way to start taking notes:**
1. Press **`Ctrl/Cmd+D`** or click "📅 Note du jour" in the header
2. A note for today is automatically created with a structured template
3. Start writing in sections: Objectifs, Notes, Accompli, Réflexions, Liens
**Using the Calendar:**
- Navigate months with `` and `` arrows
- Click any date to open/create that day's note
- Blue dots (●) indicate existing notes
- Check "Récentes" for quick access to the last 7 days
For complete daily notes documentation, see **[docs/DAILY_NOTES.md](./docs/DAILY_NOTES.md)**
### Creating a New Note
1. Click the "✨ Nouvelle note" button in the header.