mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
We've copied the button and error colors from portico_signin.css. We did not want the new HTML file to depend on portico_signin.css since they are unrelated. In addition, having those colors diverge over time might not be an issue. We make the raw mode work with /help and /help/ both. See https://chat.zulip.org/#narrow/channel/19-documentation/topic/edits.20not.20appearing.20with.20vagrant/near/2257442 Co-authored-by: Alya Abbott <alya@zulip.com>
58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
import os
|
|
|
|
import werkzeug
|
|
from django.conf import settings
|
|
from django.http import HttpRequest, HttpResponse
|
|
from django.shortcuts import render
|
|
|
|
|
|
def help_dev_mode_view(request: HttpRequest, subpath: str = "") -> HttpResponse:
|
|
"""
|
|
Dev only view that displays help information for setting up the
|
|
help center dev server in the default `run-dev` mode where the
|
|
help center server is not running. Also serves raw MDX content when
|
|
`raw` query param is passed is passed.
|
|
"""
|
|
|
|
def read_mdx_file(filename: str) -> HttpResponse:
|
|
file_path = os.path.join(
|
|
settings.DEPLOY_ROOT, "starlight_help", "src", "content", "docs", f"{filename}.mdx"
|
|
)
|
|
try:
|
|
with open(file_path, encoding="utf-8") as f:
|
|
content = f.read()
|
|
return HttpResponse(content, content_type="text/plain")
|
|
except OSError:
|
|
return HttpResponse("Error reading MDX file", status=500)
|
|
|
|
mdx_file_exists = False
|
|
is_requesting_raw_file = request.GET.get("raw") == ""
|
|
|
|
if subpath:
|
|
subpath = werkzeug.utils.secure_filename(subpath)
|
|
raw_url = f"/help/{subpath}?raw"
|
|
mdx_path = os.path.join(
|
|
settings.DEPLOY_ROOT, "starlight_help", "src", "content", "docs", f"{subpath}.mdx"
|
|
)
|
|
mdx_file_exists = os.path.exists(mdx_path) and "/include/" not in mdx_path
|
|
if mdx_file_exists and is_requesting_raw_file:
|
|
return read_mdx_file(subpath)
|
|
else:
|
|
if request.path.endswith("/"):
|
|
raw_url = "/help/?raw"
|
|
else:
|
|
raw_url = "/help?raw"
|
|
mdx_file_exists = True
|
|
if is_requesting_raw_file:
|
|
return read_mdx_file("index")
|
|
|
|
return render(
|
|
request,
|
|
"zerver/development/dev_help.html",
|
|
{
|
|
"subpath": subpath,
|
|
"mdx_file_exists": mdx_file_exists,
|
|
"raw_url": raw_url,
|
|
},
|
|
)
|