71 lines
2.4 KiB
Python
71 lines
2.4 KiB
Python
"""
|
|
Használati útmutató / Usage:
|
|
|
|
1. Telepítés / Installation:
|
|
pip install markdown-pdf
|
|
|
|
2. Futtatás / Execution:
|
|
- Aktuális könyvtár bejárása:
|
|
python Scripts/python/md_to_pdf_recursive.py
|
|
- Konkrét könyvtár megadása:
|
|
python Scripts/python/md_to_pdf_recursive.py Dev/APS-SFTP01
|
|
|
|
A script rekurzívan végigjárja a megadott könyvtárat, és minden .md fájl mellé
|
|
létrehoz egy azonos nevű .pdf fájlt. A .git, .venv és __pycache__ könyvtárakat kihagyja.
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from markdown_pdf import Section, MarkdownPdf
|
|
|
|
def convert_md_to_pdf(root_dir):
|
|
"""
|
|
Rekurzívan végigjárja a megadott könyvtárat és minden .md fájlból PDF-et készít.
|
|
"""
|
|
print(f"Keresés indítása a következő könyvtárban: {root_dir}")
|
|
|
|
# Kizárandó könyvtárak (pl. git, virtuális környezet)
|
|
exclude_dirs = {'.git', '.venv', '__pycache__', 'node_modules'}
|
|
|
|
count = 0
|
|
for root, dirs, files in os.walk(root_dir):
|
|
# Alkönyvtárak szűrése (helyben módosítva a dirs listát)
|
|
dirs[:] = [d for d in dirs if d not in exclude_dirs]
|
|
|
|
for file in files:
|
|
if file.endswith(".md"):
|
|
md_path = os.path.join(root, file)
|
|
pdf_path = os.path.splitext(md_path)[0] + ".pdf"
|
|
|
|
print(f"Konvertálás: {md_path} -> {pdf_path}")
|
|
|
|
try:
|
|
# Markdown olvasása
|
|
with open(md_path, "r", encoding="utf-8") as f:
|
|
md_content = f.read()
|
|
|
|
# PDF generálása
|
|
pdf = MarkdownPdf(toc_level=2)
|
|
pdf.add_section(Section(md_content, toc=False))
|
|
pdf.save(pdf_path)
|
|
|
|
count += 1
|
|
except Exception as e:
|
|
print(f"Hiba a fájl feldolgozása közben ({md_path}): {e}")
|
|
|
|
print(f"\nKész! Összesen {count} fájl lett konvertálva.")
|
|
|
|
if __name__ == "__main__":
|
|
# Ha nincs megadva útvonal, az aktuális könyvtárat használja
|
|
target_path = sys.argv[1] if len(sys.argv) > 1 else "."
|
|
|
|
# Ellenőrizzük a függőséget
|
|
try:
|
|
import markdown_pdf
|
|
except ImportError:
|
|
print("Hiba: A 'markdown-pdf' könyvtár nincs telepítve.")
|
|
print("Telepítés: pip install markdown-pdf")
|
|
sys.exit(1)
|
|
|
|
convert_md_to_pdf(target_path)
|