# 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
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) │
│ │ │
│