Skip to content

Initial wiki implementation#1977

Draft
futureshape wants to merge 4 commits intoemfcamp:mainfrom
futureshape:wiki
Draft

Initial wiki implementation#1977
futureshape wants to merge 4 commits intoemfcamp:mainfrom
futureshape:wiki

Conversation

@futureshape
Copy link
Copy Markdown
Contributor

Implements #1949 - leaving it as draft as there are several architectural changes yet to be decided, and I still need to test some paths, but though I'd ask or early feedback.

Created a new /wiki app to serve wiki pages. Proposing to keep that flexibility rather than assume we put all wiki pages in /about or similar.

Main UI changes

Wiki landing page

/wiki shows a list of pages and an option to create a new page, which is restricted to admins

image

Create page

/wiki/new creates a new page - I think it's better to do this through a form than to require a deployment for new wiki pages. Slug and title can be set independently.

image

View page

/wiki/<slug> renders the page using the same markdown to HTML method as the village pages. Option to edit restricted to logged in members.

❓ Do we want to restrict this to only logged in people who have a ticket?
❓ Do we want to display editor names here? (also applies to edit history)

image

Edit page

/wiki/<slug>/edit lets people edit the page

❓ Should we allow page title changes, and if yes maybe restrict this to admins only?
❓ Do we actually need edit summaries?

image

View page history

/wiki/<slug>/history shows the page history and links to comparison (diffs)

image

Compare page versions

/wiki/<slug>/diff/<v1>/<v2> shows a markdown diff in the standard format

image

Other changes

Moved render_markdown (untrusted markdown renderer) to apps/common/__init__.py together with other markdown functionality so it can be used by both villages and wiki.

TODO

  • Test edit conflict functionality (implemented but not yet tried it on local dev)
  • Add tests

Assisted-by: Claude Sonnet 4.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant