refactor: moved to hugo

This commit is contained in:
Felipe M 2024-06-16 20:39:53 +02:00
parent 4c6912edd0
commit e77e5583c2
Signed by: fmartingr
GPG key ID: CCFBC5637D4000A8
604 changed files with 1675 additions and 2279 deletions

80
lektor2hugo.py Normal file
View file

@ -0,0 +1,80 @@
import json
import os
import shutil
for dirpath, dirnames, filenames in os.walk("_old/content/blog"):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
if filename.endswith(".lr"):
# read file contents into file_contents variable
with open(file_path, "r") as file:
file_contents = file.read()
attributes = {}
attrs = file_contents.split("---\n")
for attr in attrs:
if not attr.strip():
continue
key, value = attr.split(":", 1)
attributes[key.strip()] = value.strip()
if attributes.get("_model", "blog-post") != "blog-post":
continue
# convert slug to path
year, month, day, slug = (
file_path.replace("_old/content/blog/", "")
.replace("/contents.lr", "")
.split("-", 3)
)
os.makedirs(f"content/blog/{year}/{month}/{day}/{slug}", exist_ok=True)
if not os.path.exists(f"content/blog/{year}/{month}/{day}/{slug}/index.md"):
with open(
os.path.join(f"content/blog/{year}/{month}/{day}/{slug}/index.md"),
"w",
) as handler:
handler.write("+++\n")
for key, value in attributes.items():
if key == "pub_date":
handler.write(f"date = {value.strip()}\n")
continue
if key == "tags":
tagContent = [tag.strip() for tag in value.split(",")]
handler.write(f"tags = [")
for tag in tagContent:
if tagContent.index(tag) == len(tagContent) - 1:
handler.write(f'"{tag.strip()}"')
else:
handler.write(f'"{tag.strip()}", ')
handler.write("]\n")
continue
if key != "body" and not key.startswith("_"):
handler.write(f'{key.strip()} = "{value.strip()}"\n')
handler.write("+++\n\n")
handler.write(attributes["body"])
continue
try:
year, month, day, slug = (
file_path.replace("_old/content/blog/", "")
.replace("/contents.lr", "")
.split("-", 3)
)
print(f"Processing {os.path.join(dirpath, filename)}...")
if not os.path.exists(f"content/blog/{year}/{month}/{day}/{slug}"):
print(f"Creating content/blog/{year}/{month}/{day}/{slug}...")
shutil.copy2(
os.path.join(dirpath, filename),
f"content/blog/{year}/{month}/{day}/{slug}",
)
except Exception as err:
print(err)
continue