/
developer_atatanoff
/
Guide
Обзор
Документация
Войти
/
developer_atatanoff
/
Guide
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
create_index.py
49 строк
2 KB
Alexey N. Tatanoff
Добавлен ф-нал создания файлов хтмл на основе файлов маркдаун, добавлен сервер фастапи, добавлен формовщик индекс страницы
05 янв 2026, 16:01
05 янв 2026, 16:01
53a40d9
Код
Авторство
О чём код?
from pathlib import Path from bs4 import BeautifulSoup def extract_title(file_path): """Выделяем заголовок H1 из HTML.""" content = file_path.read_text(encoding='utf-8') soup = BeautifulSoup(content, 'html.parser') h1_tag = soup.find('h1') return h1_tag.text.strip() if h1_tag else '' def generate_index_html(directory_path): """ Генерирует файл index.html с содержанием остальных HTML-документов, находящихся в указанной директории. """ # Список файлов .html, исключая index.html html_files = list(directory_path.glob('*.html')) filtered_files = [f for f in html_files if f.name != 'index.html'] # Структура для хранения ссылок links = [] for file in filtered_files: title = extract_title(file) relative_link = f'<a href="{file.stem}">{title}</a>' links.append(relative_link) # Формирование финального HTML-контента index_content = ( """<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <ul>\n""" + "\n".join(f"<li>{link}</li>" for link in links) + "\n</ul></body></html>" ) # Сохранение результата в файл index.html index_file = directory_path / 'index.html' index_file.write_text(index_content, encoding='utf-8') if __name__ == "__main__": template_dir = Path('templates') generate_index_html(template_dir)