# retoor
from html import escape
from molodetz.docs_api import ordered_groups
from molodetz.docs_prose import page_source, render_page, visible_pages
def export_markdown(viewer_is_admin):
parts = ["# Molodetz documentation", ""]
for page in visible_pages(viewer_is_admin):
parts += [page_source(page["slug"]).strip(), ""]
for group in ordered_groups():
if group["slug"] == "admin" and not viewer_is_admin:
continue
parts += [f"## API: {group['title']}", "", group["description"], ""]
for item in group["endpoints"]:
parts.append(f"- `{item['method']} {item['path']}` ({item['auth']}): {item['title']}")
parts.append("")
return "\n".join(parts)
def export_html(viewer_is_admin):
body = []
for page in visible_pages(viewer_is_admin):
body.append(f"{render_page(page['slug'])}")
for group in ordered_groups():
if group["slug"] == "admin" and not viewer_is_admin:
continue
items = "".join(
f"{escape(item['method'])} {escape(item['path'])} ({escape(item['auth'])}): {escape(item['title'])}"
for item in group["endpoints"]
)
body.append(f"API: {escape(group['title'])}
")
return (
"Molodetz documentation"
f"Molodetz documentation
{''.join(body)}"
)