What is considered core and what is considered non-core in Obsidian

It is difficult to discuss anything until it is clear what is core and what would be potentially be in Plugins API. Anything? I understand that currently the devs are not sure but being able to see the current interface would be really helpful to start discussing anything meaningful.

Would be helpful to define “core” and “non-core”, as a start. At least what you mean by them.

I’m guessing by “core” you mean things that cannot be done via plugins?

Yep. I guess things like is DOM manipulation possible or not, could you write DOM extensions. Or, what is exposed via the APIs.

I would not mind a gentle start opening up some parts of the Obsidian framework, little bit each time.

Yes that is what I mean

Current thinking is that we will expose a standard library of common DOM elements (now internally called Obsidian Components) that you can easily use, to maintain a consistent look.

Example screenshot:

If someone needs a common component, we can develop one. If the use case is advanced or uncommon, I think it would be up to the developer to create the UI and provide associated CSS.


Sound good! Will you also expose text selection/replacement as that opens up tools to take selected text and manipulate it (filter,modify, replace) for possible transformer plugins?