Files
website/build_pages.py
2026-05-04 10:33:09 +02:00

89 lines
3.0 KiB
Python
Executable File

from jinja2 import Environment, FileSystemLoader
import os
PAGES = [
{"name": "index", "titleSR": "Početna", "titleEN": "Home", "style": "home"},
{"name": "account", "titleSR": "Nalog", "titleEN": "Account", "style": "account"},
{"name": "about", "titleSR": "O nama", "titleEN": "About us", "style": "about"},
{"name": "statute", "titleSR": "Statut", "titleEN": "Statute", "style": "statute"},
{"name": "events", "titleSR": "Događaji", "titleEN": "Events", "style": "events"},
{
"name": "events_archive",
"titleSR": "Arhiva događaja",
"titleEN": "Events archive",
"style": "events",
},
{
"name": "services",
"titleSR": "Servisi",
"titleEN": "Services",
"style": "services",
},
{"name": "webring", "titleSR": "Webring", "titleEN": "Webring", "style": ""},
{"name": "support", "titleSR": "Podrška", "titleEN": "Support", "style": "support"},
{
"name": "deconference",
"titleSR": "Dekonferencija",
"titleEN": "Deconference",
"style": "deconference",
},
]
env = Environment(loader=FileSystemLoader("template"))
def main():
os.makedirs("site/en/", exist_ok=True)
for page in PAGES:
# Build SR Page
with open(f'pages/sr/{page["name"]}.html') as f:
page_content = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div>"
page_content += f.read()
sr_html = env.get_template("page-sr.html").render(
title=page["titleSR"],
content=page_content,
extra_styles=(
f'<link rel="stylesheet" href="/styles/{page["style"]}.css">'
if page["style"]
else ""
),
lang="sr",
sr_link=f"/en/{page['name']}",
current_path=f"/{page['name']}" if page["name"] != "index" else "/",
)
sr_filename = (
"index.html" if page["name"] == "index" else f"{page['name']}.html"
)
with open(f"site/{sr_filename}", "w") as f:
f.write(sr_html)
# Build EN Page
with open(f'pages/en/{page["name"]}.html') as f:
page_content = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Students found the bug' /></div>"
page_content += f.read()
en_html = env.get_template("page-en.html").render(
title=page["titleEN"],
content=page_content,
extra_styles=(
f'<link rel="stylesheet" href="/styles/{page["style"]}.css">'
if page["style"]
else ""
),
lang="en",
sr_link=f"/{page['name']}",
current_path=f"/en/{page['name']}" if page["name"] != "index" else "/en/",
)
en_filename = (
"index.html" if page["name"] == "index" else f"{page['name']}.html"
)
with open(f"site/en/{en_filename}", "w") as f:
f.write(en_html)
if __name__ == "__main__":
main()