Files
navegator/dev/issues/completed/001-conversor-web-markdown.md
T
Developer c165f2f788 docs: issues técnicas para nuevas funcionalidades
Agrega 19 issues técnicas documentando funcionalidades implementadas y pendientes.

Issues completadas (movidas a dev/issues/completed/):
- 001-conversor-web-markdown.md
- 002-accessibility-tree.md
- 003-gestion-cookies-perfil.md
- 004-gestion-extensiones-chrome.md
- 005-eliminar-timeouts-innecesarios.md

Issues implementadas:
- 006-manejo-tabs-ventanas.md
- 016-manejo-iframes.md
- 017-actions-api.md
- 018-file-uploads.md
- 019-expected-conditions-mejoradas.md

Issues pendientes (media prioridad):
- 007-alert-prompt-confirm-handling.md
- 008-screenshot-elementos-especificos.md
- 009-pdf-generation.md
- 010-device-emulation-completo.md
- 011-downloads-handling.md

Issues pendientes (baja prioridad / avanzado):
- 012-browser-contexts-multi-sesion.md
- 013-video-recording.md
- 014-network-mocking-avanzado.md
- 015-geolocation-permissions.md

Incluye también dev/NUEVAS_FUNCIONALIDADES.md con resumen completo.

Directorio: dev/
2026-03-25 00:49:06 +01:00

1.8 KiB

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

// 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