# Libre-marker Project con Nginx + JavaScript. Podemos configurar Nginx para que, cuando alguien pida un `.md`, Nginx le sirva una pequeña plantilla HTML "invisible" que contenga la librería [Marked](https://github.com/markedjs/marked/) y renderice el texto al instante. ## FASE1 - Libre-marke viewer Aquí tienes cómo montar tu propio "Markdown Viewer" estático en 2 pasos: ### Paso 1: Crear el "Visor Mágico" (visor.html) Crea un archivo llamado `visor.html` en la raíz de tu sitio web (junto a tus archivos .md). Copia este código exacto. Este código usa la librería **Marked** (la que mostraste en la imagen) para convertir el texto a HTML en el navegador del visitante. ```HTML Visor Markdown
Cargando documento...
``` ### Paso 2: El Truco de Nginx (La Redirección) Ahora configuramos Nginx para que intercepte la petición. Cuando el usuario escriba `misitio.com/manual.md`, Nginx **reescribirá internamente** la petición para cargar el visor, pasándole el nombre del archivo. Edita tu configuración del sitio (`/etc/nginx/sites-enabled/tustio`): ```Nginx server { # ... tu configuración actual ... root /var/www/tusitio; index index.html; # REGLA MÁGICA PARA MARKDOWN location ~ \.md$ { # Si el archivo existe, redirige al visor try_files $uri @markdown_viewer; } location @markdown_viewer { # Reescribe la URL para usar el visor.html # Ejemplo: manual.md -> /visor.html?file=manual.md rewrite ^/(.*\.md)$ /visor.html?file=$1 last; } # ... resto de la config ... } ``` ### Paso 3: Reiniciar y Probar 1. Reinicia Nginx: ```bash service nginx restart ``` 2. Borra caché del navegador (Ctrl + Shift + R). Entra a librebits.info/tu-archivo.md. 3. ¿Qué ocurrirá? La URL en el navegador seguirá diciendo tu-archivo.md (elegante). Pero lo que verás en pantalla será el HTML generado, con títulos, negritas y enlaces, tal cual querías. ¿Te animas a probar este enfoque? Es muy ligero y no requiere instalar PHP ni bases de datos. ## FASE 2 - Live Editor + Preview Editor Markdown en tiempo real con split view, inspirado en la demo oficial de Marked.js (ver `Screenshots/markedJS-demo.png`). ### Arquitectura **100% cliente-side**. Nginx solo sirve el HTML estático, toda la lógica ocurre en el navegador usando JavaScript vanilla + Marked.js. ### Componentes UI ``` ┌─────────────────────────────────────────────────────────────┐ │ Barra superior: [Dropdown Views] [Clear] [Version] [Theme] │ ├──────────────────────────┬──────────────────────────────────┤ │ │ │ │ PANEL IZQUIERDO │ PANEL DERECHO │ │ (Editor) │ (Preview) │ │ │ │ │