Added index page and index page generator for all solutions.
This commit is contained in:
29
html/render.py
Normal file
29
html/render.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import jinja2
|
||||
import os
|
||||
from operator import itemgetter
|
||||
|
||||
|
||||
def file_name_to_solution(name):
|
||||
number = int(name.replace("EulerProblem", "").replace(".html", ""))
|
||||
file_name = name
|
||||
display_name = name.replace("EulerProblem", "Problem ").replace(".html", "")
|
||||
return (number, file_name, display_name)
|
||||
|
||||
|
||||
def get_solution_list(directory="./"):
|
||||
l = [file_name_to_solution(f) for f in os.listdir(directory)
|
||||
if f.endswith(".html") and f.startswith("EulerProblem")]
|
||||
l.sort(key=itemgetter(0))
|
||||
return l
|
||||
|
||||
|
||||
def render_solutions(solutions):
|
||||
loader = jinja2.FileSystemLoader(searchpath="./")
|
||||
env = jinja2.Environment(loader=loader)
|
||||
template = env.get_template("template.html")
|
||||
d = {"solutions": solutions}
|
||||
with open("index.html", 'w') as f:
|
||||
f.write(template.render(**d))
|
||||
|
||||
|
||||
render_solutions(get_solution_list())
|
||||
Reference in New Issue
Block a user