commits
When a post's state entry is missing but its frontmatter already
contains an atUri, use "update" instead of "create" to preserve
the existing rkey and avoid duplicate records.
Add unit tests for markdown.ts and make frontmatter optional: parseFrontmatter
now extracts title from headings when no frontmatter is present,
and updateFrontmatterWithAtUri creates a new frontmatter block when none exists.
Upload local images as blobs and replace paths with CIDs in markdown content.
Remove links to unpublished notes to avoid dangling references.
github.action_repository/ref inside a composite action resolve to the
current step's action (actions/checkout), not the parent composite
action. Use github.action_path which points to the already-downloaded
action source.
The state file is rebuilt from the PDS by `sequoia sync` on every run,
so committing it is unnecessary and caused failures when .gitignore
blocked the `git add`.
The CLI uses crypto.subtle in getContentHash() but relied on the
Bun-global crypto object. This fails in Node.js environments (e.g.
GitHub Actions). Explicitly importing from node:crypto works in both.
Allows users to publish their content to ATProtocol by adding
a single step to their GitHub Actions workflow. Includes state
sync, publish, and optional commit-back of updated frontmatter.
- Adds interactive command to update either the sequoia.json config or
the atproto publication record
Adds a new `stripDatePrefix` configuration option that removes
YYYY-MM-DD- prefixes from filenames when deriving slugs. This
supports Jekyll-style post naming where files like
`2024-01-15-my-post.md` should produce slug `my-post`.