Render space pages from Forgejo markdown (CSOC-WP-0004-T04)
Fetch raw files from Forgejo, sanitize markdown to HTML, and show them on space detail. Ship a public demo fixture path and seed_demo_space command.
This commit is contained in:
parent
86b54243b8
commit
1cedd8f219
13 changed files with 606 additions and 26 deletions
|
|
@ -4,6 +4,7 @@ from django.shortcuts import render
|
|||
|
||||
from coulomb_social.apps.core.principal import build_principal
|
||||
|
||||
from .content import load_space_page
|
||||
from .services import get_space_for_member, spaces_for_member
|
||||
|
||||
|
||||
|
|
@ -18,6 +19,9 @@ def space_detail(request: HttpRequest, slug: str) -> HttpResponse:
|
|||
space = get_space_for_member(member, slug)
|
||||
if space is None:
|
||||
return HttpResponseNotFound("Space not found.")
|
||||
|
||||
page = request.GET.get("page") or "index"
|
||||
rendered = load_space_page(space, page)
|
||||
return render(
|
||||
request,
|
||||
"spaces/detail.html",
|
||||
|
|
@ -25,10 +29,10 @@ def space_detail(request: HttpRequest, slug: str) -> HttpResponse:
|
|||
"principal": principal,
|
||||
"display_name": principal["display_name"],
|
||||
"space": space,
|
||||
"page": rendered,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
# used by core.app_home — re-export list helper
|
||||
def list_spaces_context(member) -> dict:
|
||||
return {"spaces": list(spaces_for_member(member))}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue