docs/dev/design/static-site-publishing-research.md
Researched on April 17, 2026.
Foam already has a publishing story, but it is spread across older templates and partial proposals rather than a single modern architecture.
Relevant existing material in this repository:
That gives a fairly clear constraint set:
The tools were evaluated against these criteria:
Obsidian Publish is the product benchmark, not the implementation benchmark.
Its public positioning emphasizes the reader experience for connected notes: hover previews, graph view, stacked navigation, backlinks, strong SEO, mobile support, and easy customization. Those are the right north-star features for Foam publishing even if Foam should not copy the hosted-product model.
Source:
Astro is a strong foundation layer for Foam publishing.
Why it fits:
Most importantly, Astro is a good host for a Foam publishing adapter. It does not force Foam to adopt a new authoring model just to get a good site.
Sources:
Starlight is the strongest out-of-the-box shell among the options reviewed.
Why it stands out:
For Foam, this means the team can spend effort on Foam behavior instead of rebuilding the surrounding documentation-site basics.
Source:
Markdoc is powerful, but it should not be the center of Foam's publishing architecture.
It is a good option for adding structured, component-rich authoring to specific parts of a site. However, using Markdoc as the canonical representation of Foam notes would move Foam away from portable Markdown and toward a richer custom syntax. That tradeoff does not look justified for the first version.
Markdoc is best treated as an optional layer for advanced authored pages, not as the base representation of the knowledge base itself.
Sources:
Quartz is the closest match to Foam's use case and should be treated as the main reference implementation.
Why it matters:
ObsidianFlavoredMarkdown plugin, which shows direct alignment with the knowledge-base space.Quartz is compelling enough that it could be used for a fast proof of concept. The reason not to pick it as the primary foundation is not quality; it is control over architecture. Foam still needs a publishing layer for features like foam-query, publish permissions, and reuse of Foam core models. Once that layer exists, Astro and Starlight provide a cleaner long-term substrate for a broader website experience.
Sources:
Docusaurus is a capable modern documentation platform, but it does not look like the best fit for Foam's first publishing path.
It has strong support for search, versioning, internationalization, MDX, and theme customization. The issue is fit rather than capability: it is more naturally shaped for product documentation than for a wiki-like knowledge base with Foam-specific semantics.
It remains a viable option for projects that want a more React-centric docs platform, but it is not the best default recommendation for Foam.
Source:
The recommended direction is:
This direction gives Foam a modern, polished static site without forcing Foam to become a site generator.
The core design problem is not choosing a renderer. The core design problem is preserving Foam semantics on the web.
That implies a separation of concerns:
That boundary is what the architecture note should lock down.