from fastapi import APIRouter, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from app.core.parsers.obsidian import parse_training_data from app.core.templates.templates import BaseTemplateResponse web_router = APIRouter() templates = Jinja2Templates(directory="app/templates") template_renderer = BaseTemplateResponse(templates) @web_router.get("/", response_class=HTMLResponse) async def home(request: Request): """Home page""" return template_renderer.render( request, "index.html", ) @web_router.get("/obsidian/list/", response_class=HTMLResponse) async def obsidian_list(request: Request): data = parse_training_data() return template_renderer.render( request=request, template_name="trainings.html", context={"trainings": data} )