[Jinja2] init
This commit is contained in:
+37
-40
@@ -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__":
|
||||
|
||||
Reference in New Issue
Block a user