461a17bc454920967430e717588a5b2d468a604d
- sidebar: fix library/tag selection event handlers not firing (callbacks never invoked) - sidebar: fix handleSelectLibrary always passing empty string instead of library id - dashboard: fix tag filter not persisting when navigating from document view - app: fix XSS vulnerability in showToast (API error messages not escaped) - app: fix XSS vulnerability in confirmDelete modal message - document: fix path traversal risk in export filename
SimpleNote Web
REST API para gestión de documentos basada en archivos Markdown con soporte para librerías anidadas y tags.
Características
- API REST completa (Express.js)
- Almacenamiento en archivos Markdown + JSON
- Soporte para librerías anidadas
- Indexación de tags
- Autenticación por tokens Bearer
Requisitos
- Node.js 18+
Instalación
npm install
Configuración
Copia .env.example a .env y ajusta las variables:
PORT=3000
HOST=0.0.0.0
DATA_ROOT=./data
ADMIN_TOKEN=snk_your_initial_token
CORS_ORIGIN=*
API_PREFIX=/api/v1
Inicialización
npm run init
Esto crea la estructura inicial de datos y una librería "Default Library".
Uso
Desarrollo
npm run dev
Producción
npm start
API Endpoints
Auth
POST /api/v1/auth/token- Generar token (admin)GET /api/v1/auth/verify- Verificar token
Documents
GET /api/v1/documents- Listar documentos (filtros: tag, library, type, status)GET /api/v1/documents/:id- Obtener documentoPOST /api/v1/documents- Crear documentoPUT /api/v1/documents/:id- Actualizar documentoDELETE /api/v1/documents/:id- Eliminar documentoGET /api/v1/documents/:id/export- Exportar como MarkdownPOST /api/v1/documents/:id/tags- Agregar tags
Libraries
GET /api/v1/libraries- Listar librerías raízGET /api/v1/libraries/:id- Ver contenido de libreríaPOST /api/v1/libraries- Crear libreríaGET /api/v1/libraries/:id/tree- Árbol completoDELETE /api/v1/libraries/:id- Eliminar librería
Tags
GET /api/v1/tags- Listar todos los tagsGET /api/v1/tags/:tag- Documentos con tag específico
Estructura de Datos
data/
├── .auth-tokens.json # Tokens de API
├── .tag-index.json # Índice global de tags
└── libraries/
└── {id}/
├── .library.json
├── documents/
│ └── {doc-id}/
│ ├── index.md
│ └── .meta.json
└── sub-libraries/
Licencia
MIT
Description
SimpleNote Web - Document management system with nested libraries and markdown support
Languages
JavaScript
80.8%
CSS
18.7%
HTML
0.4%
Dockerfile
0.1%