--
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user