[Jinja2] init

This commit is contained in:
coja
2026-08-09 05:36:02 +02:00
committed by coja
parent 2843f1763e
commit 4d115a29c6
13 changed files with 344 additions and 390 deletions
+37 -40
View File
@@ -1,4 +1,4 @@
#! /usr/bin/env python3
from jinja2 import Environment, FileSystemLoader
import os
PAGES = [
@@ -29,48 +29,45 @@ PAGES = [
},
]
def buildPage(
filename: str, pageTitle: str, pageHtml: str, pageStyle: str, template: str
) -> str:
template = template.replace("<!--TITLE-->", pageTitle)
style = (
""
if not pageStyle
else f'<link rel="stylesheet" href="/styles/{pageStyle}.css">'
)
template = template.replace("<!--ADDITIONAL_STYLE-->", style)
template = template.replace("PAGE_NAME", filename)
template = template.replace("<!--MAIN-->", pageHtml)
return template
env = Environment(loader=FileSystemLoader('template'))
def main():
os.makedirs("site/en/", exist_ok=True)
with open("template/page-en.html") as fTempEN, open(
"template/page-sr.html"
) as fTempSR:
templateSR = fTempSR.read()
templateEN = fTempEN.read()
for page in PAGES:
with open(f'pages/sr/{page["name"]}.html') as f:
pageHtml = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div>"
pageHtml += f.read()
html = buildPage(
page["name"], page["titleSR"], pageHtml, page["style"], templateSR
)
f = open(f'site/{page["name"]}.html', "w")
f.write(html)
f.close()
with open(f'pages/en/{page["name"]}.html') as f:
pageHtml = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Students found the bug' /></div>"
pageHtml += f.read()
html = buildPage(
page["name"], page["titleEN"], pageHtml, page["style"], templateEN
)
f = open(f'site/en/{page["name"]}.html', "w")
f.write(html)
f.close()
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__":