Molodetz blogrol volgens DPP-template
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
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 documentatie", ""]
|
||||
for page in visible_pages(viewer_is_admin):
|
||||
parts += [page_source(page["slug"]).strip(), ""]
|
||||
for group in ordered_groups():
|
||||
if group["slug"] == "beheer" 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"<section>{render_page(page['slug'])}</section>")
|
||||
for group in ordered_groups():
|
||||
if group["slug"] == "beheer" and not viewer_is_admin:
|
||||
continue
|
||||
items = "".join(
|
||||
f"<li><code>{escape(item['method'])} {escape(item['path'])}</code> ({escape(item['auth'])}): {escape(item['title'])}</li>"
|
||||
for item in group["endpoints"]
|
||||
)
|
||||
body.append(f"<section><h2>API: {escape(group['title'])}</h2><ul>{items}</ul></section>")
|
||||
return (
|
||||
"<!doctype html><html lang=\"nl\"><head><meta charset=\"utf-8\"><title>Molodetz documentatie</title></head>"
|
||||
f"<body><h1>Molodetz documentatie</h1>{''.join(body)}</body></html>"
|
||||
)
|
||||
Reference in New Issue
Block a user