Adds the ability to import annotations from Raindrop.
Notes
I'm not the most happy with how this turned out. First, I had to spend way too much time coming up with a way to create a page and then go back to that page. Generally, if you create a page and provide it properties, Logseq won't index that page right away, which makes it impossible to query for, which makes it hard to find.
Second, the imported annotations have an ugly ID up top — we want that ID available so we can skip importing already-imported annotations (if they were already imported, you'll need to delete the block!).
Third, it's not super clear to me where this sits in a process. Do users want to import their Raindrop annotations as they are right now? Do they want to continuously sync them? If the latter, we need to find some way to address any changes the user made to blocks we might overwrite. For the page properties, I've done this by leveraging Logseq's upsertBlockProperties func, but that doesn't work for block content.
There's formatting options available in the plugin settings, but I'm not sure how clear that is and it has very little error checking. If {text} is included in the format template, I imagine it'll silently crash
Anyway, this is a first iteration, so if you have comments / questions / ideas, please file an issue or start a discussion!
Adds the ability to import annotations from Raindrop.
Notes
I'm not the most happy with how this turned out. First, I had to spend way too much time coming up with a way to create a page and then go back to that page. Generally, if you create a page and provide it properties, Logseq won't index that page right away, which makes it impossible to query for, which makes it hard to find.
Second, the imported annotations have an ugly ID up top — we want that ID available so we can skip importing already-imported annotations (if they were already imported, you'll need to delete the block!).
Third, it's not super clear to me where this sits in a process. Do users want to import their Raindrop annotations as they are right now? Do they want to continuously sync them? If the latter, we need to find some way to address any changes the user made to blocks we might overwrite. For the page properties, I've done this by leveraging Logseq's
upsertBlockProperties
func, but that doesn't work for block content.There's formatting options available in the plugin settings, but I'm not sure how clear that is and it has very little error checking. If
{text}
is included in the format template, I imagine it'll silently crashAnyway, this is a first iteration, so if you have comments / questions / ideas, please file an issue or start a discussion!