Repository navigation
feat: add pages written in Desk (Compendium Page) - #28
Merged
barredterra merged 7 commits intoSep 29, 2026
Merged
Conversation
|
Member
|
@Mergifyio backport version-16-hotfix |
Contributor
✅ Backports have been createdDetails
Cherry-pick of 128eae6 has failed: To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
A group without an index page now opens a generated list of its pages. For contributors, Edit on the overview starts the group's index page. The add button shows on every page, so a page can become a group.
Replaced the role-based checks for contributors with a permission-based approach for creating Compendium Pages. Updated documentation to reflect the new permission requirements for users to see relevant buttons and functionalities.
6 tasks done
barredterra
added a commit
that referenced
this pull request
Sep 29, 2026
Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
barredterra
added a commit
that referenced
this pull request
Sep 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets users write documentation pages in Desk, stored in the site's database, on top of the docs that apps ship — e.g. a site wiki, or a correction of an app page that doesn't fit the site.
What changes
Compendium Page: title, language, path, sort order, roles, published flag, Markdown content. The path is filled from the title when empty (Getting Started→getting-started), is validated like file paths, and must be unique per language.docs.py): published pages join discovery as the last layer, after all installed apps. A page at an app page's path replaces it; translations follow the existing canonical-language rules, so a translated page takes sort order and roles from the canonical page. Unpublished pages don't exist for readers and don't hide app pages./private/files/…URLs in images and links are served throughget_asset, only if the file is attached to that page and the reader may read it. Any other private file is refused, so authors can't expose files from elsewhere. Public/files/…URLs are left as they are.guides/→guides/<slug>from the title).docs_branch). Without create permission, Edit goes straight to GitHub. The button only shows when one of these actions is available. The old footer text links are gone.get_mapped_doc:make_overridereturns an unsaved Compendium Page with the app page's title, path, language, sort order, content and roles; the client syncs it and opens the form. Nothing is stored until the user saves./(preset by the sidebar) gets the slug appended when the title is typed.modified, so saves and deletes show up without a restart.frappe.model.can_create, server-sidehas_permissionfor the edit route), so custom permissions carry over. Edit on GitHub stays tied to the Compendium Contributor role.Notes
contenthasignore_xss_filter: Frappe's save-time sanitizing escaped Markdown's>and broke blockquotes and alerts. Rendering still runssanitize_html, so readers only ever get sanitized HTML (covered by a test).Docs & tests
make_override, the group overview (incl. hidden groups), the translation roles rule, path handling, attachment serving, the edit route and search freshness. Existing file-based tests no longer depend on pages stored on the site.Tested