# Issue #001: Conversor de página web a markdown **Tipo**: Enhancement **Prioridad**: Media **Estado**: Pendiente ## Descripción Implementar utilidad para convertir el contenido HTML de una página web a formato Markdown. ## Funcionalidad deseada - Convertir títulos (h1-h6) a markdown (#, ##, ###, etc.) - Convertir enlaces a formato `[texto](url)` - Convertir imágenes a formato `![alt](src)` - Convertir listas (ol, ul) a markdown - Convertir tablas a markdown - Mantener estructura de párrafos - Extraer texto limpio sin CSS/JS inline - Opción para incluir/excluir imágenes - Manejar código y bloques de código (pre, code) - Preservar énfasis (bold, italic) ## Implementación técnica ### Archivo sugerido `pkg/browser/markdown.go` ### API propuesta ```go // ToMarkdown convierte el contenido de la página actual a Markdown func (b *Browser) ToMarkdown(ctx context.Context, opts *MarkdownOptions) (string, error) type MarkdownOptions struct { Selector string // Selector CSS opcional para convertir solo una parte IncludeImages bool // Incluir imágenes en el output IncludeLinks bool // Incluir enlaces BaseURL string // URL base para enlaces relativos } ``` ### Estrategia 1. Obtener HTML con `GetHTML()` 2. Parsear HTML usando `golang.org/x/net/html` 3. Convertir nodos recursivamente a markdown 4. Alternativamente, ejecutar JS en el navegador con biblioteca turndown ### Librerías potenciales - `github.com/JohannesKaufmann/html-to-markdown` - Conversor Go nativo - O ejecutar `turndown.js` vía `Evaluate()` para mayor fidelidad ## Casos de uso - Extraer contenido de artículos de blog - Scraping de documentación - Generar datasets para LLMs - Archivar contenido web ## Referencias - Turndown: https://github.com/mixmark-io/turndown - html-to-markdown Go: https://github.com/JohannesKaufmann/html-to-markdown