# utils/markdown_handler.py
import os
import re
from models.pagina_html import PaginaHTML


def generar_indice(paginas):
    """
    Genera un índice para las páginas HTML.
    """
    indice = "# Índice de Contenido\n\n"

    for pagina in paginas:
        indice += pagina.get_index_entry() + "\n"

    indice += "\n---\n\n"
    return indice


def escribir_archivo_markdown(paginas, ruta_archivo):
    """
    Escribe el archivo Markdown con el índice y todas las páginas.
    """
    try:
        with open(ruta_archivo, "w", encoding="utf-8") as f:
            # Escribir el índice
            f.write(generar_indice(paginas))

            # Escribir el contenido de cada página
            for pagina in paginas:
                f.write(pagina.to_markdown())

        return True
    except Exception as e:
        print(f"Error escribiendo archivo Markdown {ruta_archivo}: {str(e)}")
        return False
