A Serum plugin that enables Standard.site compliance and publishes blog posts to AT Protocol (atproto) repositories.
Features:
- Generates
/.well-known/site.standard.publicationcontaining the AT-URI of the publication record. - Injects
<link rel="site.standard.document" href="at://...">tags in<head>for blog post HTML pages. - Publishes
site.standard.publicationandsite.standard.documentrecords to an AT Protocol PDS.
Usage in serum.exs:
%{
plugins: [
{Serum.Plugins.StandardSite,
handle: "user.bsky.social",
app_password: "xxxx-xxxx-xxxx-xxxx",
pds: "https://bsky.social", # Optional, defaults to https://bsky.social
publication_rkey: "self", # Optional, defaults to "self"
publish: true # Optional, defaults to true if handle & app_password set
}
]
}
Summary
Functions
Generates /.well-known/site.standard.publication file and publishes ATproto records.
Callback implementation for Serum.Plugin.description/0.
Callback implementation for Serum.Plugin.elixir/0.
Callback implementation for Serum.Plugin.implements/0.
Callback implementation for Serum.Plugin.name/0.
Injects <link rel="site.standard.document" href="..."> into post HTML pages.
Callback implementation for Serum.Plugin.serum/0.
Callback implementation for Serum.Plugin.version/0.
Functions
Generates /.well-known/site.standard.publication file and publishes ATproto records.
Callback implementation for Serum.Plugin.description/0.
Callback implementation for Serum.Plugin.elixir/0.
Callback implementation for Serum.Plugin.implements/0.
Callback implementation for Serum.Plugin.name/0.
@spec rendered_page(Serum.File.t(), term()) :: {:ok, Serum.File.t()}
Injects <link rel="site.standard.document" href="..."> into post HTML pages.
Callback implementation for Serum.Plugin.serum/0.
Callback implementation for Serum.Plugin.version/0.