Skip to content

Reviewing and publishing

Docleus keeps reviewable content separate from the live site. The default workflow uses change requests, but a space can be configured for direct edits when a review step is unnecessary.

Change request workflow

With the change-requests plugin enabled and its mode set to change-requests:

  1. Selecting Edit creates or resumes a draft change request.
  2. Edits are committed to a branch named like cr/<number>.
  3. When the draft is ready, request review to open it to the team.
  4. Reviewers inspect the page and block changes.
  5. The author or a space admin merges the change request into main.

The author can merge immediately when no approval is required. A space or organization can require between 0 and 20 approvals. Reviewers cannot approve their own change request, and a new commit invalidates an approval that was given for the previous branch head.

Required checks can also block a merge. A plugin reports each check as pending, successful, or failed for a specific branch head. Every required check must succeed before the merge is accepted.

Conflicts and rebases

If main changes while a change request is open, update the branch before merging. Docleus performs a three-way merge using stable block IDs.

Most changes merge automatically. When both sides changed the same field or block differently, Docleus reports a conflict and lets the reviewer keep the current main side, take the branch side, or provide a resolved value. Resolve every conflict before merging.

Direct mode

Direct mode writes user edits to main without creating a change request. Use it only for spaces where the reduced ceremony is more valuable than review. Required plugin checks still run where the platform invokes them, but direct mode gives up the branch and approval boundary of the default workflow.

To change the workflow, open the change-request settings for the organization or space. A space setting overrides the organization setting; a space without an override inherits it.

Publish a space

Publishing is explicit. A merge into main does not update the live site.

  1. Open Space settings > Site.
  2. Select Publish for the first publication.
  3. After later merges, select Publish now when the site shows an older revision.

The first publication creates a site with the space at its root path. Every publication is immutable: it records the revision, site configuration, theme, and plugin set used to build it.

Publication history and rollback

The Site section lists previous publications with their time, author, and revision. Select Roll back on an older publication to make it live again. Rollback activates an existing immutable artifact; it does not rebuild the content or change main.

Publishing after a rollback creates a new publication from the current main revision. To return to older content permanently, restore that content through the normal review workflow first.

Unpublishing removes the site and its publication history. Visitors then receive a 404. Publishing the space again starts a new site.

Custom domains

To use a custom domain:

  1. Create a DNS record that points the domain to the machine running Docleus.
  2. In Space settings > Site, set Custom domain to the hostname.
  3. Configure the reverse proxy to obtain a TLS certificate and forward the hostname to the Docleus container.
  4. Publish the site.

Docleus selects a published site by the request's Host header. Use a separate domain for the editor and API when the root domain is reserved for the public site. The provided Caddy template uses one hostname for the editor and another for a published site.

Published-site features

The default theme includes:

  • A responsive page tree and mobile sidebar.
  • Previous and next page links.
  • A table of contents generated from heading levels two and three.
  • Light and dark modes.
  • Accessible skip links and focus handling.

With the search plugin enabled, published sites provide full-text search. With the llms.txt plugin enabled, the site also serves /llms.txt and /llms-full.txt from the active publication.

Published sites are public in 0.1.0. Visitor accounts, content personalization, and private-site access control are not available yet.