/
superded
/
void
Обзор
Документация
Войти
/
superded
/
void
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
readme
fix-links.py
41 строка
1 KB
superded
chore(repo): переименование скрипта fix-links.py
14 июл 2026, 05:17
Верифицирован
14 июл 2026, 05:17
d0bb3f9
Код
Авторство
О чём код?
import sys import re def should_add_html(href): if not href: return False # Игнорируем внешние ссылки, якоря, javascript, mailto if href.startswith(('http://', 'https://', '//', '#', 'mailto:', 'javascript:')): return False # Игнорируем ссылки с параметрами if '?' in href: return False # Игнорируем ссылки, уже заканчивающиеся на .html if href.endswith('.html'): return False # Игнорируем ссылки на папки (заканчиваются на /) — они ведут на index.html if href.endswith('/'): return False # Игнорируем ссылки на ресурсы с расширением (css, js, png и т.д.) last_segment = href.split('/')[-1] if '.' in last_segment: return False # Всё остальное — ссылка на страницу без расширения return True def add_html(match): href = match.group(1) if should_add_html(href): return f'href="{href}.html"' return match.group(0) def fix_file(filepath): with open(filepath, 'r', encoding='utf-8') as f: content = f.read() content = re.sub(r'href="([^"]+)"', add_html, content) with open(filepath, 'w', encoding='utf-8') as f: f.write(content) if __name__ == '__main__': for filepath in sys.argv[1:]: fix_file(filepath)