Files
website2/build_pages.py
T
2026-08-09 05:54:50 +02:00

76 lines
2.7 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']}"
)
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']}"
)
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()