diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 0e23a64..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,74 +0,0 @@ -# CLAUDE.md - -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. - -## Proyecto Overview - -**Libre-marker** es un visor/editor de archivos Markdown que funciona completamente en el navegador usando Nginx + JavaScript vanilla. El objetivo es servir archivos `.md` de forma transparente renderizándolos como HTML sin necesidad de PHP o bases de datos. - -### Arquitectura de Dos Fases - -1. **FASE 1 - Visor simple**: Nginx intercepta peticiones a archivos `.md` y las redirige transparentemente a `visor.html`, que usa la librería [Marked.js](https://github.com/markedjs/marked/) para renderizar Markdown a HTML en el cliente. - -2. **FASE 2 - Editor live** (planificado): Añadir capacidad de edición online con preview en tiempo real, similar a la demo de Marked.js (ver `Screenshots/markedJS-demo.png`). - -## Componentes Clave - -### visor.html -Archivo HTML autocontenido que: -- Recibe parámetro `?file=nombre.md` en la URL -- Hace fetch del archivo Markdown -- Lo convierte a HTML usando `marked.parse()` -- Lo renderiza en el navegador - -### Configuración Nginx (no incluida en repo) -La redirección mágica se hace en `/etc/nginx/sites-enabled/`: - -```nginx -location ~ \.md$ { - try_files $uri @markdown_viewer; -} - -location @markdown_viewer { - rewrite ^/(.*\.md)$ /visor.html?file=$1 last; -} -``` - -**Resultado**: El usuario ve `sitio.com/manual.md` en la URL pero recibe HTML renderizado. - -## Flujo de Trabajo - -### Testing Local -Para probar sin Nginx, abre directamente: -```bash -firefox visor.html?file=README.md -# o con servidor HTTP simple: -python3 -m http.server 8000 -# Luego: http://localhost:8000/README.md -``` - -### Deployment -1. Copiar archivos al directorio web (ej: `/var/www/sitio/`) -2. Aplicar configuración Nginx mostrada en README.md -3. Reiniciar: `sudo systemctl restart nginx` -4. Limpiar caché del navegador (Ctrl+Shift+R) - -## Dependencias Externas - -- **Marked.js**: Cargado vía CDN desde `https://cdn.jsdelivr.net/npm/marked/marked.min.js` -- Sin dependencias de backend (solo Nginx como servidor web estático) - -## Principios de Desarrollo - -- **Vanilla JavaScript**: No frameworks, solo ES6+ -- **KISS**: Solución minimalista sin servidor de aplicaciones -- **Cliente-side rendering**: Todo el procesamiento ocurre en el navegador -- **Sin estado**: Cada petición es independiente, sin sesiones - -## Próximos Pasos (FASE 2) - -Para implementar el editor live, considerar: -- Agregar textarea para edición -- Split view: editor (izquierda) + preview (derecha) -- Actualización en tiempo real con event listeners -- Opción de guardar cambios (requeriría backend o LocalStorage)