Hi, I’m evaluating if obsidian can be used as a Headless CMS for a team. I’ve been using obsidian with a couple of plugins for personal use but never dive into publishing or extracting the information to other systems.
In Headless CMS it’s important to have a nice way to input structure information and to export it in a way it can be consumed by the rendering system. Usually something like a Static Site Generator.
With the recent updates in properties, the Database feature in the roadmap and plugins such as obsidian-db-folder and others I am relatively confident that the input aspects can be achieved.
Where I am in the blind is how to export information of a note in a structured way.
I know it’s plain text fixes al the way down. But I don’t want to rely on duplicated logic. I am not sure if there is a plugin, external project or even if Publish service could help here.
To be precise on a couple of aspects I want to support are:
- Links resolution in properties: links resolution take relative folder into account and supports internal linking . I would rather avoid parsing and resolving where the link should point.
- Inline properties semantics: I want to be able to extract inline properties also from the notes.
- Dataview kind of output: some plugins generates dynamic output. Is there a way to render that as part of an export?
Avoiding duplicate logic ensures that we can future-proof our solution. I want to be able to take advantage on future improvements in obsidian without fearing of porting them to the “export” functionality.
This is for a project where I imagine we will use git to store and collaborate with the vault. We would like to publish branches as a preview and once merged we would update the published content. I am not sure if the Publish service, in case it can handle the previous point, can be used for previewing different versions.
Finally, does anybody know about similar attempts?
I’ve been browsing and found some projects that might help but would love some insights from past experiences
- GitHub - sytone/obsidian-remote: Run Obsidian.md in a browser via a docker container.
- GitHub - acheong08/obi-sync: Reverse engineering of the native Obsidian sync and publish server
- GitHub - Nodsoft/MoltenObsidian: Obsidian-flavoured Markdown parsing library for .NET 6+, with support for Obsidian Vaults navigation.
Thanks in advance!