kaiiiz / obsidian-raindrop-highlights-plugin Goto Github PK
View Code? Open in Web Editor NEWAn Obsidian.md plugin that syncs highlights from Raindrop.
License: MIT License
An Obsidian.md plugin that syncs highlights from Raindrop.
License: MIT License
Can the callout headers be the same color as the highlight color? As it is with the provided template, (1) red highlights are contained in a callout with a blue header; (2) blue highlights in a callout with a teal color; (3) yellow highlights in a callout with a grey header. Green highlights are okay--in a callout with a green header.
I'm using an adaption of the original template
{% if tags|length -%}> - Document Tags:: #Raindrop/{{ tags | join(", #Raindrop/") }}{% endif %}
{% if excerpt -%}> - Summary:: {{excerpt}}{% endif %}
{% if link -%}> - Source URL:: {{link}}{% endif %}
which creates the following if excerpt is empty
> - Document Tags:: #Raindrop/tag
> - Source URL:: https:/........
I tried several different options of placing the - before or after the % but either I have this empty line or I don't have any newline or the first line even removing the newline of the previous line.
Any idea?
Congratulations. It is a great plugin.
I have two questions:
Hi!
First of all, amazing plugin, exactly what I was looking for.
I'm trying to edit the template a bit. I'd like the tags to be links to notes, so every tag wrapped in [[{{tag}} ]]
The nunjuck docs aren't helping me... Maybe someone here can?
I have
Updated:
in my Frontmatter
the result is:
Updated: null
Any idea on how to get rid around this?
I have the following Frontmatter:
UUID: <% tp.date.now("YYYYMMDDHHmmss") %>
DateStamp: <% tp.date.now("YYYY-MM-DD") %>
Updated:
publish: false
language: de
Vault: Privat
Year: <% tp.date.now("YYYY") %>
title: "SM - {{title}}"
ResourceNote:
while there is an issue with Templater running at too many notes at the same time I would like to point your attention to the title line.
I declare it as
title: "SM - {{title}}"
The result can be:
This happens if I do 8 "bookmarks" at the same time.
It could be an issue due to templater, haven't checked the yaml without templater.
After running the SYNC command from the command palette in Obsidian all my Raindrop.io bookmarks gets synced and I'm very much happy with it. But when deleting a bookmark from Raindrop, it doesn't get updated and stays in my Obsidian vault itself.
Any fix for this issue?
Hi,
I´ve created a brand new vault and only installed obsidian raindrop highlights plugin. On a Windows 11 Machine with Obsidian 1.1.16. I created a fresh Raindrop Application Registration with a new test Token. When trying to manage the synced collections or sync, I get the following Error in the Developer Console:
app.js:1 Obsidian Developer Console
app.js:1 Raindrop Highlights: styles.css not found
plugin:obsidian-raindrop-highlights:12461 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '$id')
at eval (plugin:obsidian-raindrop-highlights:12461:41)
at Array.forEach ()
at RaindropAPI.eval (plugin:obsidian-raindrop-highlights:12457:17)
at Generator.next ()
at fulfilled (plugin:obsidian-raindrop-highlights:35:24)
eval @ plugin:obsidian-raindrop-highlights:12461
eval @ plugin:obsidian-raindrop-highlights:12457
fulfilled @ plugin:obsidian-raindrop-highlights:35
Promise.then (async)
step @ plugin:obsidian-raindrop-highlights:47
eval @ plugin:obsidian-raindrop-highlights:48
__async @ plugin:obsidian-raindrop-highlights:32
eval @ plugin:obsidian-raindrop-highlights:12111
(anonymous) @ app.js:1
I´ve attached the zipped vault.
RaindropVault.zip
(The Token in this Example was made invalid, so has to be re-entered)
Raindrop allows nested collections. Can your plugin import nested collections?
The default template has the following line of code which can cause the highlights notes to merge together:
obsidian-raindrop-highlights-plugin/src/assets/defaultTemplate.njk
Lines 22 to 27 in d76d717
The problem with this code however is that it fails to append a new line after the highlight note itself. This leads to issues as Obsidian will interpret the > [!{{callout}}]+
part of the line as being part of the previous highlight's note as well, leading to them all joining into one giant note as can be seen below:
Lets see what the raw file contains since this is preview mode:
Looks like there are missing new lines between some of these elements.
To fix this we can use the following code, which just adds a new line after the end of the highlight note itself:
> [!{{callout}}]+ Updated on {{highlight.lastUpdate}}
>
> {{highlight.text.split("\n") | join("\n>")}}
{% if highlight.note -%}> > {{highlight.note + "\n"}}{%- endif %}
{%- endfor -%}
And here are the results on the same set of notes:
Happiness is achieved once again 😄
I have some nested collections in my raindrop, and when I select the Manage option the list showing in the modal window is displayed inconsistently: some collections are shown with the full hierarchical name while others just with the collection name, this leads to collections with the same parent being pulled entirely differently, because this also as impact on the import.
The Trekking collections in Raindrop are inside Clippings/Travel, but here are shown separately
Hi,
I would like to use
<%*
code
%>
in the Frontmatter, but this doesn't work. Red Error Frame around the input box.
Single line templater code e.g. <% tp.date.now('YYYY-MM-DD') %> does work.
Topics:: {{ tags | map("#{}") | join(", ") }}
put this in metadata
hello
kindly add the ability to sync highlights related to a video bookmark
much thanks !
After selecting a collection, it is well synced the first time, however if we delete an article or a collection in obsidian, the plugin will not sync it anymore.
I tried to change the append mode settings, or alter the data.json in the plugin folder, nothing works. Only i have found reinstalling the plugin for a fresh restart.
This makes testing templates quite annoying. Thanks for this great plugin anyway.
Regards, Olivier
On iPad, a previously-authenticated install is reporting "Can't find variable: Buffer".
My initial setup a few days ago was a little problematic. Initial iPad plugin install (0.0.9) (via BRAT) seemed to work. Then it simply wouldn't pull any bookmarks. I moved to iMac to use Developer Tools to check for messages. It was warning about a problem with the token, so I re-pasted it in, and then pulling bookmarks on iMac worked (and continues to work).
However, on iPad, with the same Obsidian account etc, synced through iCloud, it throws this error and will not pull new bookmarks. I can only sync successfully on Mac.
Anything to do with
obsidian-raindrop-highlights-plugin/yarn.lock
Line 217 in c1bbec0
When I get the value from the variable {{collection.title}}, because the category with the note is nested, then I get the value of the parent and nested category, but I only need the value of the nested category.
This causes the auto sync feature to not work after reloading.
Hi,
would be nice if we would be able to choose a specific Filename Convention.
At the moment I try to rename the file via Templater, which requires me to sanitize the title by myself with https://gist.github.com/barbietunnie/7bc6d48a424446c44ff4
You use your own code to do that for the filename, but it is not available for the title directly.
I would like to use the today's date in the title of the created files. So I think it would be useful to have a date
function/variable/library to use: Like importing the moment.js library that Obsidian already use.
I don't know if I'm explaining my self right, but I meant something like templater
Hello,
I installed this plugin and I set it up to have my notes sync in the "raindrop" folder I made on my obsidian. I put the API key into the plugin settings as instructed. For some reason despite setting it for every 60 minutes my raindrop isn't syncing. I am on a windows computer.
Currently the app doesn't scale very well when dealing with a mix of bookmarks that have highlights and those that do not. For instance if you have 400 bookmarks that contain 50 bookmarks with highlights, and 350 without, instead of providing an option to just download those 50 bookmarks with highlights, you'll instead get 400 bookmarks each downloaded into their own separate folder.
What makes this worse is that there is no tag or similar to differentiate these files, so you get a big jumbled mess of notes that you now need to sort though in order to figure out which entries had notes, and which ones do not.
Ideally we should have the option to not download entries that don't contain highlights however if this is not possible then it would be quite helpful to have an option to make the plugin filter out those bookmarks that don't have highlights associated with them and only save the ones that do have highlights into their own files.
Hi @kaiiiz !
First of all: it's a game-changer plugin for me! Congrats!
The only one missing point for me and for my workflow is to allow to add tags into the frontmatter of the md files generated, because that section is observed by the Tags plugin which means that the tags added in Raindrop could be recognized by Obsidian instantly. Could you please consider the implementation of this feature request? I would be really grateful for it.
I see that raindrop_id is meaningful and required due to the proper behaviour, and, as I read the code it is must to place these metainfo in to Frontmatter. So one possible solution came to my mind, what if the frontmatter won't be separated statically as how currently it is implemented, but allowing the template to begin with a continued frontmatter section, end it, and then start the real content? This different behaviour can be controlled by a toggle in the settings.
If you don't mind, but you don't have time to implement it, I'd happily implement this feature in a PR.
Thank you very much!
Is it possible to add a highlightURL variable in the template to render links to each highlight, i.e, clicking on the link opens the webpage in Raindrop to view the highlight in context?
Would it be possible to sync all "Bookmarks" including Title, Description and tags based on collection and / or tags?
Everybody is always keen on the highlights, but I'm also looking for an easy way to have some bookmarks in obsidian, with Description and Tags
At the moment my process is:
Being change the process to the following would streamline it a lot:
This is a feature request.
The ability to select what items are synced based on tags would be super useful. Currently, the ability to manage collections to be synced is great, but limited.
For myself, I use both Raindrop and Obsidian for personal use and for work. I often use tags to organize items that are work related.
Thanks!
I would to put just the path to the template to be able to modify it easier than first getting sure to all is working properly and then pasting to the text field in the options
Please include a tag for Bookmark notes in the content template. textarea name="note", that recently go support for markdown 😀.
Hi! Thanks for a great plug! Very useful indeed.
More of a feature request (optional or not from the user-perspective):
I would have loved if the YAML block ending (the last "---", after the "raindrop_last_update:" line) was part of the template that I could influence. If it were at the top of the template that I can edit in the modal I could add my own datafields to the YAML block. Currently I don't see a way to do that...or am I missing something somewhere else?
Raindrop.io allows for saving an image (right-click on image and choose Save Image). I'd love to be able to customize the template to do something like {% if link.image %} ![image]({{link}}){% endif %}
to have a link to the image embedded in the note, and have the image appear in the note, but only have this happen if the link is to an image (or other media possibly).
Hello. Thanks for developing this plugin.
I am not a developer so knowledge is limited.
In the settings for the plugin the metadata template is greyed out and I am unable to edit. The content template works and I have no issue. Can you suggest a fix for this?
Hi,
just tested the plugin and I love it. I also love that it´s possible to get all tags but is it possible to format them so that they are usable and visible in the tag pane?
I tried it with renaming "Topics::" to "tags::" and adding a "#" before the tag in the template but that didn´t work. What did work was adding a "#" in front of the tag in raindrop.io, but maybe there is a better solution I´m not aware of.
Any ideas?
Best Regards
Hi,
Thank you for this plugin, I find it incredibly useful!
I noticed recently that my mobile version of Obsidian kept crashing on load when indexing the vault and it turns out it is due to there being files with disallowed characters (such as % : ;) and I have tracked these down to Raindrop bookmark titles.
Would it be possible to add in removal/replacement of disallowed characters? Possibly with the option of specifying a replacement character (e.g. - or _).
Many thanks :)
Hi,
how can I make sure I get the collection title in the Frontmatter - {{title}} is used for both the title of the page and the collection name - how do I differntiate those?
Thanks,
Daniel
When using append mode, say I do the following:
I do not belive this is intended behaviour. When using append mode, I would expect that only new highlights will be synced to the note in my Obsidian vault that corrosponds with that article.
Please could this be looked into? I have tried many times to reinstall the plugin, and make sure that the settings I am working with are okay. But despite this, whenever I try append mode, it causes previously synced highlights to be duplicated when syncing additional highlights in an article. It is stopping me from using what otherwise is a fantastic plugin!!
Really appreciate your help with this one. Thanks for all the work done on this plugin so far. I hope the explanation of my issue was understandable.
Hi
Thanks a lot for this useful plugin.
I have a large number of bookmarks in my raindrop account. They have tags and I usually search them by their tags. It will be very useful if I can have these links with their tags in my obsidian vault. But not as separate notes because I don't need such number of notes. Only a list with their link and their tags in front of them is enough.
Is it somehow possible?
I believe Raindrop's API has the capability to return full text of source pages. This is for paying customers, which I am not currently.
This would allow an option to return full page text into Obsidian...
And that might allow an optional alternative method of presenting highlights...
Rather than return only highlights, in sequence, you could wrap the corresponding text portions from the full text in the Markdown highlight syntax (==
).
This would allow the user to a) see full page text, b) see highlights in their full context and c) align the Obsidian-side experience of raindrops with the experience inside Raindrop itself.
I don't know how Raindrop stores/returns the full page text, ie HTML? If so, it may require conversion to Markdown.
May need to function on raindrop type "article" only.
Great work on this plugin, enjoying it a lot.
I'd like to suggest adding the "creatorRef.fullName" fields from the API in order to retrieve the name of the author of each article. This will be on par with the metadata used by Readwise for example.
We have the "sync bookmarks with highlights" option, but when we run a sync, the collection structure is replicated as empty folders. It would be nice if the plugin avoided creating empty folders.
Right now if we need to pull highlights from Raindrop we need to add collection folder and Raindrop pulls the highlights.
But there are many bookmarks in Unsorted folder with highlights.
It would be good to add unsorted as collections folder so that we can import those highlights too.
Great job with the plugin btw
Hi there!
First off, I want to say how fantastic this plugin is! It has truly improved my workflow and was the primary reason for me switching to Obsidian. Thank you so much for your hard work! 😄
I have a question regarding the customized {{title}}
. I'm not very familiar with Nunjucks, and I'm curious to know if there's a way for the plugin to remove emojis from the title.
I've encountered some issues when syncing my files with Box.com. The files with emojis in their titles (e.g. Example title 😄
) are causing some trouble during the sync process and are being marked as problem files
on MacOS...
Any help is appreciated XD
The Highlights template does not accept my changes. I changed the "set callout =" to be "note" (red), "important" (green). However, the default remains: "danger" (red), and "check" (green). What do I need to do to get my callout types?
If I add a note to a highlight, and then proceed to make a subsequent highlight, the subsequent highlight is rendered as part of the previous note. Example:
From Raindrop, 3 highlights, and one note added to the second highlight:
From Obsidian, the third highlight is rendered as part of the note, not a separate highlight:
Is there an error in my template?
# {{title}}
{% if excerpt %}{{excerpt}}{% endif %}
## <span style="border-bottom: 2px solid #9E352C;">Highlights</span>
{% endif -%}{% for highlight in highlights %}
{{highlight.text.split("\n") | join("\n>")}}
{% if highlight.note -%}- {{highlight.note}}{%- endif %}{%- endfor -%}```
Hi there. I think it would be a good addition to be able to select a new collection to sync directly from obsidian using the command palet instead of having to go back to the plugin settings.
I'm creating a new collection fro each subject or project I'm working on, hence I would need that kind of faster workflow process.
Thanks in advance ! And thanks for the work, it's exaclty what I was missing !
Hi,
thanks for making it clear that you store the token (a lot of the other devs don't do that).
But could you add a reference to the file in which it is stored?
I guess you do store it in plaintext (which is fine) but this should also be mentioned.
To many people are sharing their vault and their .obsidian directory 😀
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.