3.3 KiB
name, description, metadata
| name | description | metadata | ||||
|---|---|---|---|---|---|---|
| symposium-publish | Publish, update, or withdraw an existing Markdown note through Symposium's host-owned review flow. Use when the user asks to publish, share, update, delete, remove, or withdraw a Symposium page. |
|
Publish Markdown to Symposium
Require one existing Markdown source file. When the user asks to delete, remove, or withdraw its current Symposium page, do not generate HTML. Run the host wrapper with only the vault-relative source-note path. Obsidian reads the note's current identity and opens its existing management modal; the user alone chooses Update or Delete. Never tell the user to delete the page at its public URL.
For publishing or updating, finish a complete, self-contained,
passive HTML document before asking Obsidian to review it. Render source-specific
content such as Mermaid and Obsidian Bases into static HTML or SVG, embed images,
and include no scripts, frames, forms, handlers, redirects, or external assets. Treat
YAML frontmatter as note metadata: never render the raw frontmatter block as page
content. The exact UTF-8 HTML must not exceed 10485760 bytes.
Write those final bytes to a new unique .html file under
SYMPOSIUM_WORKSPACE_ROOT/.symposium/handoffs/, creating that
directory first when it does not exist. Do not show a prose substitute or ask
for confirmation in chat. Instead run the host wrapper with exactly two
vault-relative paths: the source note and the staged HTML.
On macOS or Linux:
sh "/absolute/path/to/this/skill/directory/symposium-publish.sh" "Notes/source.md" ".symposium/handoffs/unique.html"
For withdrawal, omit the staged-HTML argument:
sh "/absolute/path/to/this/skill/directory/symposium-publish.sh" "Notes/source.md"
On Windows, use the .cmd wrapper (prefix it with & in PowerShell):
& "/absolute/path/to/this/skill/directory/symposium-publish.cmd" "Notes/source.md" ".symposium/handoffs/unique.html"
Omit the staged-HTML argument on Windows for withdrawal as well.
With only the source path, the wrapper blocks while Obsidian shows its host-owned Update/Delete management modal. With a staged HTML path, it blocks while Obsidian consumes the artifact and shows its source, title, and a link to a sandboxed local-browser rendering of the exact captured page. Obsidian rejects active or externally loaded content, prevents navigation from the browser preview, removes the original artifact, removes its temporary browser preview after review, and alone reads the current note identity to choose whether confirmation publishes or updates; never choose an action or document id.
cancelled: stop. No request was sent.regenerate: create a new complete artifact and run the wrapper again. The previous confirmation never applies to regenerated bytes.publishedorupdated: return the host-provided public URL verbatim.deleted: report that the host withdrew the page and removed its note identity.failed: if the host says to edit the staged file, address every listed issue in that same file and retry exactly once. Otherwise, or if that retry fails, stop and report the exact host message. Never invent a cause, change unrelated styling, create another filename, bypass the review, or publish directly.