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

66 lines
1.8 KiB
Markdown

# 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