Publishing
Sequoia makes it simple to publish standard.site documents to the AT Protocol.
Basics
After completing the initial setup for Sequoia, it's time to publish. Before you go live, try using the --dry-run flag to see what will be published.
sequoia publish --dry-runThis will print out the posts that it has discovered, what will be published, and how many. If Bluesky posting is enabled, it will also show which posts will be shared to Bluesky. Once everything looks good, send it!
sequoia publishUpdates
As you publish content Sequoia will store a record of content in .sequoia-state.json, keeping tack of the AT URIs for each post and generating content hashes for the content inside each markdown file. When you update a post and run the publish command, Sequoia will generate hashes again, see the difference, and update the existing post rather than creating a new one.
If you happen to loose the state file or if you want to pull down records you already have published, you can use the sync command.
sequoia syncSync will use your ATProto handle to look through all of the standard.site.document records on your PDS, and pull down the records that are for the publication in the config.
Bluesky Posting
Sequoia can automatically post to Bluesky when new documents are published. Enable this in your config:
{
"bluesky": {
"enabled": true,
"maxAgeDays": 30
}
}When enabled, each new document will create a Bluesky post with the title, description, and canonical URL. If a cover image exists, it will be embedded in the post. The combined content is limited to 300 characters.
The maxAgeDays setting prevents flooding your feed when first setting up Sequoia. For example, if you have 40 existing blog posts, only those published within the last 30 days will be posted to Bluesky.
Draft Posts
Posts with draft: true in their frontmatter are automatically skipped during publishing. This lets you work on content without accidentally publishing it.
---
title: Work in Progress
draft: true
---If your framework uses a different field name (like private or hidden), configure it in sequoia.json:
{
"frontmatter": {
"draft": "private"
}
}Comments
When Bluesky posting is enabled, Sequoia links each published document to its corresponding Bluesky post. This enables comments on your blog posts through Bluesky replies.
To display comments on your site, use the sequoia-comments web component. See the Comments guide for setup instructions.
Troubleshooting
- If you have files in your markdown directory that should be ignored, use the
ignorearray in the config.