DevDojo icon indicating copy to clipboard operation
DevDojo copied to clipboard

Organizador

Open AlbertoVf opened this issue 1 year ago • 0 comments

[!TIP] Separa el contenido del README en diferentes archivos. Los separa a partir de encabezados # Elimina los enlaces al indice principal

import os, re

input_file = "README.md"


def split_md_by_headers(input_file):
    with open(input_file, "r", encoding="utf-8") as file:
        lines = file.readlines()

    current_header = None
    current_content = []

    for line in lines:
        if line.startswith("# "):
            if current_header:
                write_to_file(current_header, current_content)
            current_header = line[2:].strip() + ".md"
            current_content = [line]
        else:
            current_content.append(line)

    if current_header:
        write_to_file(current_header, current_content)


def write_to_file(filename, content):
    filepath = filename
    with open(filepath, "w", encoding="utf-8") as f:
        f.writelines(content)
    print(f"Archivo creado: {filepath}")


def limpiar_ficheros(file_path):
    with open(file_path, "r", encoding="utf-8") as file:
        lines = file.readlines()

    cleaned_lines = []
    for line in lines:
        if line.startswith("[Volver al") or line.startswith("<a id="):
            continue
        cleaned_line = re.sub(r"^### \*\*(.*)\*\*", r"## \1", line)
        cleaned_lines.append(cleaned_line)

    with open(file_path, "w", encoding="utf-8") as file:
        file.writelines(cleaned_lines)


split_md_by_headers(input_file)

directory = "."
for filename in os.listdir(directory):
    if filename.endswith(".md"):
        limpiar_ficheros(os.path.join(directory, filename))

AlbertoVf avatar Nov 26 '24 00:11 AlbertoVf