89 lines
3.0 KiB
Python
Executable File
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()
|