929c658e45a032540fc67f5f72333f40ffba7e60
- Replace direct 'New Document' with modal wizard that asks for library first - Separate 'New Document' (📄) and 'New Library' (📁) buttons in header - Update sidebar quick links to show both options with clear icons - Add modal for library creation with name input - Add CSS for form-control and modal-close button styling - Minor improvements to document.js (type=button, event.stopPropagation) - Keyboard shortcut Ctrl+N now opens document creation modal
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%