Skip to content

feat: publish a page/subtree as a public read-only web page #231

Description

@tstapler

Problem

SteleKit has no way to publish a page (or a page and its descendants) as a public, read-only web page with a shareable URL. Trilium Notes' "Share notes on the web" (https://docs.triliumnotes.org/user-guide/advanced-usage/sharing) covers this in depth: toggle-to-publish, whole-subtree navigation, password-protected subtrees, custom CSS/JS/HTML injection, URL aliases, OpenGraph metadata, and a shared-notes index page.

This is distinct from project_plans/stelekit-share-note/requirements.md, which is scoped to OS share-sheet integration and Google Drive export (moving a copy of a note out to another app/service) — not hosting a page at a durable public URL that stays in sync with the source note.

Why this matters

  • SteleKit's README already frames git-based sync as "not glamorous, but it works everywhere" — a static-publish feature (e.g. generate a static site from a tagged subtree, publishable via GitHub/GitLab Pages or any static host) fits that same local-first, no-server-required philosophy, unlike Trilium's approach which requires a running self-hosted server instance.
  • Serves the "digital garden" / public notes use case that's common among this tool's target audience (people coming from Logseq/Obsidian who already publish parts of their notes).

Suggested scope (v1)

  • Mark a page (and optionally its descendant tree) as "published."
  • Generate static HTML for published pages, with internal links resolved to the published set (unpublished link targets degrade gracefully, e.g. shown as plain text).
  • A one-command "publish" action that writes output to a local directory the user can push to their static host of choice — avoid building/hosting a server ourselves.
  • Out of scope for v1: password-protected shares, custom CSS/JS/HTML injection, OpenGraph customization, a hosted publishing service (keep it BYO-static-host, consistent with SteleKit's "no server" philosophy).

References

  • Related but distinct: project_plans/stelekit-share-note/requirements.md (OS share sheet / Drive export of a copy, not durable public hosting)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions