BlogSync started as a way to write once and publish to multiple platforms. The useful boundary is not “one more blog engine”; it is a private writing system that produces portable content.
The public site can then stay focused on presentation:
- readable article pages
- durable URLs
- project explanations
- static deployment
That separation keeps the publishing pipeline replaceable. If the public site changes from Astro to another static generator, BlogSync only needs to keep writing clear Markdown with stable frontmatter.
type Publisher interface {
Publish(ctx context.Context, article Article) error
}
The interface is small because the system boundary is small.