What I’m trying to do
In my daily notes I want to retrieve a list of Google Calendar events (obsidian-ics) and optionally click a link/button to create a meeting note that pulls all of its details into a new note (templater?) so I can expand upon what was discussed beyond a basic summary.
Ideally I wanted to do this with Full Calendar, but it seems to have fallen out of active development, so I’m looking to hack something else together.
Things I have tried
Trying to get an integration together using these plugins:
- ICS
- Dataview
- Templater
- MetaBind
Something very similar to this that I saw was here: Using metaedit, buttons, templater, nldates and dataview together
…but I keep seeing reports that Button is temperamental and MetaBind is its successor. Not sure how much to put faith in that.
To the point though I saw in ICS you could do this with dataview:
const events = await app.plugins.getPlugin('ics').getEvents(dv.current().file.day);
const mdArray = events.map(e => `${e.time} ${e.summary} ${e.location}: ${e.description}`.trim());
dv.list(dv.array(mdArray))
So I assume table would work in here, but when trying to look into meta-bind buttons which could probably create this I see that it’s just a code-block API they describe:
\```meta-bind-button
style: primary
label: Meta Bind Help
action:
type: command
command: obsidian-meta-bind-plugin:mb-open-faq
\```
There’s probably some way to hack direct button creation like they’re doing in the parser: obsidian-meta-bind-plugin/packages/obsidian/src/main.ts at 86914704e417b5f1ec7fc1607cd0dd3273c94d57 · mProjectsCode/obsidian-meta-bind-plugin · GitHub
…but that feels like private API shenanigans that’d break later.
Active Questions
I know a fair amount of Javascript, but I feel like I might not know about some existing solutions here, or I’m making this much harder than it needs to be.
Does anyone else have something pre-existing or an off-hand solution? Is Button not a bad idea to use?
If not I think I can sort something out, but it’d take a bit.
Thanks for any and all help!