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.
Also fixes a bug I just noticed in the Subscribe help page.
`updateDocument` previously built a fresh record from frontmatter only and called `putRecord`, silently dropping any PDS-side fields such as `bskyPostRef`. This broke the `<sequoia-comments>` web component after the first re-publish.
Fix: fetch the existing record with `getRecord` before writing, spread its fields into the new record, then overwrite with the fresh frontmatter-derived values. This preserves all PDS-side fields while still updating the document content correctly.
Fixes stevedylandev/sequoia#5
Biome can use .editorconfig, so use consistent settings. Also refactors biome.json to use ubiquitously in the project.
Unfortunately, markdown files - which we can hopefully associate .mdx files with - aren't supported yet. See https://github.com/biomejs/biome/issues/3718.
Fixes #15, parsing YAML and TOML using dedicated libraries that support multiline strings correctly.
Also adds tests that were run before and after changes. Multiline string tests expectedly failed before.
Added a `--verbose` flag to `publish` that shows the post URL. Unfortunately, the resolved source path may not be the rended page path, but at least the CLI will show it now.
`updateDocument` previously built a fresh record from frontmatter only and called `putRecord`, silently dropping any PDS-side fields such as `bskyPostRef`. This broke the `<sequoia-comments>` web component after the first re-publish.
Fix: fetch the existing record with `getRecord` before writing, spread its fields into the new record, then overwrite with the fresh frontmatter-derived values. This preserves all PDS-side fields while still updating the document content correctly.
Fixes stevedylandev/sequoia#5