Files
website/build_pages.py
2026-05-03 03:18:29 +02:00

61 lines
2.8 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()