This commit is contained in:
2026-04-26 19:24:39 +09:00
parent 21c440a9d1
commit 872f77de3d
17 changed files with 156 additions and 11026 deletions
+6 -52
View File
@@ -162,28 +162,6 @@ async def default_response(request: Request, full_path: str) -> Response:
markdown_mode = True
full_path = full_path[:-3] + ".html"
lightweight_query = request.query_params.get("lightweight", "").lower()
lightweight_header = request.headers.get("lightweight", "").lower()
lightweight_signal = lightweight_query or lightweight_header
if lightweight_signal in ["1", "y", "yes", "true"]:
lightweight_mode = True
elif lightweight_signal in ["0", "n", "no", "false"]:
lightweight_mode = False
else:
lightweight_mode = request.cookies.get("lightweight_mode", "") == "true"
donotcount_query = request.query_params.get("donotcount", "").lower()
donotcount_header = request.headers.get("donotcount", "").lower()
donotcount_signal = donotcount_query or donotcount_header
if donotcount_signal in ["1", "y", "yes", "true"]:
donotcount_mode = True
elif donotcount_signal in ["0", "n", "no", "false"]:
donotcount_mode = False
else:
donotcount_mode = request.cookies.get("donotcount_mode", "") == "true"
if full_path in ["", "/"]:
template_candidates = ["index.html"]
elif full_path.endswith(".html"):
@@ -200,23 +178,9 @@ async def default_response(request: Request, full_path: str) -> Response:
markdown = markitdown.convert_stream(io.BytesIO(main.encode("utf-8")), file_extension=".html")
response = PlainTextResponse(markdown.text_content, status_code=200, media_type="text/markdown")
else:
if lightweight_mode:
source = templates.env.loader.get_source(templates.env, name)[0]
source = source.replace('{% extends "/base.html" %}', '{% extends "/base-light.html" %}')
content = templates.env.from_string(source).render(request=request)
response = Response(content=content, status_code=200, media_type="text/html")
response.set_cookie("lightweight_mode", "true", samesite="lax")
else:
response = templates.TemplateResponse(status_code=200, request=request, name=name)
if request.cookies.get("lightweight_mode", "") == "true":
response.set_cookie("lightweight_mode", "false", samesite="lax")
if donotcount_mode:
response.set_cookie("donotcount_mode", "true", samesite="lax")
elif request.cookies.get("donotcount_mode", "") == "true":
accesscounter.increase()
response.set_cookie("donotcount_mode", "false", samesite="lax")
response = templates.TemplateResponse(status_code=200, request=request, name=name)
accesscounter.increase()
return response
except TemplateNotFound:
continue
@@ -252,25 +216,15 @@ async def default_response(request: Request, full_path: str) -> Response:
body = markdown[end+4:].lstrip("\n")
html = htmlitdown(body)
source = f'{{% extends "{"/base-light.html" if lightweight_mode else "/base.html"}" %}}\n'
source = "{{% extends \"/base.html\" %}}\n"
for block in front:
source += f'{{% block {block} %}}{front[block]}{{% endblock %}}\n'
source += f'{{% block content %}}\n{html}\n{{% endblock %}}\n'
source += f"{{% block {block} %}}{front[block]}{{% endblock %}}\n"
source += f"{{% block content %}}\n{html}\n{{% endblock %}}\n"
content = templates.env.from_string(source).render(request=request)
response = Response(content=content, status_code=200, media_type="text/html")
if lightweight_mode:
response.set_cookie("lightweight_mode", "true", samesite="lax")
elif request.cookies.get("lightweight_mode", "") == "true":
response.set_cookie("lightweight_mode", "false", samesite="lax")
if donotcount_mode:
response.set_cookie("donotcount_mode", "true", samesite="lax")
elif request.cookies.get("donotcount_mode", "") == "true":
accesscounter.increase()
response.set_cookie("donotcount_mode", "false", samesite="lax")
accesscounter.increase()
return response
except FileNotFoundError:
continue