from fastapi import FastAPI, Request from fastapi.staticfiles import StaticFiles from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates import json import os app = FastAPI() # Mount static files app.mount("/static", StaticFiles(directory="static"), name="static") # Templates directory templates = Jinja2Templates(directory="templates") # Load JSON data with open("mock_data.json") as file: data = json.load(file) # Index route @app.get("/", response_class=HTMLResponse) async def get_index(request: Request): return templates.TemplateResponse("index.html", {"request": request, "data": data}) # Category route @app.get("/category/{category_name}", response_class=HTMLResponse) async def get_category(request: Request, category_name: str): category_file = f"data/{category_name}/index.html" if os.path.exists(category_file): with open(category_file) as file: category_content = file.read() return templates.TemplateResponse( "category.html", {"request": request, "category_name": category_name, "content": category_content} ) return HTMLResponse("Kategori ikke fundet", status_code=404)