# Notas — editor de notas web estilo Mousepad Aplicação web completa para gerenciamento de notas inspirada no visual sóbrio e minimalista do **Mousepad** (editor de texto do XFCE): barra de menus superior, barra de ferramentas, área de texto limpa e barra de status na parte inferior. Backend único em **Go** (binário estático de ~7 MB com o frontend já embutido), armazenamento em disco no estilo **Git** (blobs endereçados por SHA-256 + histórico de revisões com diff e restauração) e autenticação por **token** (Bearer para API / cookie HttpOnly para o navegador). ``` ┌──────────────────────────────────────────────────────────────────────────┐ │ ☰ Notas Arquivo Editar Exibir Ajuda │ ← barra de menus ├──────────────────────────────────────────────────────────────────────────┤ │ ✚Nova 💾Salvar ⬇Baixar │ B I S H1 H2 ≡• 1 ❝ 🔗 { } │ Formato ▾ │ ← barra de ferramentas │ [ Editar | Preview ] 🕘Versões │ ├─────────────────┬────────────────────────────────────────────────────────┤ │ Buscar… │ ┌ nota.md ● ─┬─ outra.md ─┐ ✚ │ ← abas │ │ CATEGORIAS +pasta├─────────────┴─────────────┴──────────┴────────────────┤ │ 🗂 Todas as notas│ Título da nota 🗀 devops +1 ▾ │ │ 🗄 Sem categoria ├────────────────────────────────────────────────────────┤ │ 📂 devops 1 │ 1 │ # Placas │ │ · 📁 k8s 2 │ 2 │ │ │ TAGS │ 3 │ **nvme** em `/dev/nvme0` │ ← números de linha, │ │ #linux 2 #devops1│ 4 │ - controladora #linux │ cores, marcador │ │ NOTAS 3 │ 5 │ … ┊ │ de coluna (80) │ │ nota1 .md │ │ │ nota2 .txt │ │ ├─────────────────┴────────────────────────────────────────────────────────┤ │ nota.md .md Ln 4, Col 12 128 caracteres · 20 palavras ● não salvo│ ← barra de status └──────────────────────────────────────────────────────────────────────────┘ ``` No celular (≤760px) a barra lateral vira **gaveta** com backdrop e o painel de versões ocupa a tela inteira; menus e toolbar rolam horizontalmente com botões só de ícone. ## Funcionalidades - **3 formatos por nota**: Texto puro (`.txt`), Markdown (`.md`) e HTML (`.html`), alternáveis no editor; a nota é baixada com a extensão correspondente. - **Barra de ferramentas de formatação**: negrito, itálico, tachado, títulos H1/H2, listas, citação, link, código inline e bloco de código — inserindo sintaxe Markdown **ou** HTML conforme o formato ativo (desabilitada em texto puro). - **Modo Edição ↔ WYSIWYG ↔ Preview** (`Ctrl+E/M/R`): o WYSIWYG (`Ctrl+M`) renderiza a nota num `contenteditable` e sincroniza com o fonte a cada tecla — Markdown vira HTML editável (negrito, títulos, listas, citação, código, links, tabelas) e volta a Markdown ao editar/alternar; HTML é editado visualmente com tags/atributos preservados (scripts e `on*` são removidos ao abrir). O Preview renderiza Markdown no servidor (goldmark, GFM, HTML cru escapado); HTML em `