Goodsidian: A Goodreads to Obsidian script

Goodsidian

Hi! I created a script that creates new notes for books that are marked as ‘currently-reading’ in Goodreads. It also updates books automatically that are marked as ‘read’ in Goodreads. You can find it on github.

Practically, I can easily keep track of my books in Goodreads, run the script when I’m on my laptop and have all of my updated notes straight in Obsidian.

Running the script

There is detailed documentation on github on how to set up and run the script.

However, I want to advise to not run any script without understanding how it works. There might be data loss and unintended consequences, so please back up your notes and be sure of what you are doing!

How it works

Goodsidian checks your Goodreads RSS feed against the notes in your Obsidian vault and creates or updates book notes based on the status.

By default the formatting is set up in the way that works specifically for me but shouldn’t be too hard to change.

For me it is super helpful to not have to create and update book notes manually, I hope it provides a similar value to you!


Let me know your uses and adaptations for the script or share any issue you run into!

17 Likes

Amazing! I’ve been waiting for something like this for a while. Can’t wait to test it. Thanks! :slight_smile:

I’m currently working on a plugin implementation (github) to make this smoother. It is far from being usable yet and my knowledge of Type/Javascript is zero.

So if someone would like to help out, shoot me a message or open an issue on github.

1 Like

Can you use Templater to run this?

Since the script is written in shell, unfortunately you can’t use the script in Templater as is. I could only thing of javascript in Templater excuting the local script file, but you’d have to google around how that would work!

You can fire a shell script by adding it in the templater settings at the bottom.

You need to Enable user command functions.

Documentation here: System Command User Functions | Templater

I have a JS script that pulls quotes from Goodreads. Would that be helpful for your plugin development? It is on glitch here: Glitch :・゚✧

2 Likes

So, do I save the file as Goodsidian and put the script in the box next to it? I’m not sure what the system command would be to get it to run. I have it set up the script like was described, but then didn’t know where to put it to make it work. I am very new to all of this and am excited to learn.

I’m going to assume you have been able to save the script and run it from the terminal. If that’s an incorrect assumption, follow the instructions in the GitHub readme first.

In the templater settings, you add the user command like so:

You can then call the script in templater:

<%* tp.user.goodsidian() %>

That should run the goodsidian script. I hope this helps!

1 Like

Thank you for taking the time to help me. I have been having trouble with templater giving me an error about parsing. I tried to look at the console to figure it out, but my technical skills are not good enough yet to even know what to do about the error even if I see it. So, I am not sure if it works yet.

How is the work on the Plugin coming? I was never able to get it to work for me because I really don’t know what I am doing, so I would love to be able to use the plugin.

Would love to see that script become a plug-in !

1 Like

Here is a Goodreads to Obsidian plugin:

3 Likes

Is this going to be available through the community plugins?

I guess so, eventually. Maybe they are waiting for more feedback before submitting it for community plugins, according to the discussings on Discord:

1 Like

I tried to add your plugin to my obsidian and I am getting a failed to load plugin

I am not sure what may have caused this issue, but you may ask for help to the developer of the plugin on the GitHub project page or the Obsidian Discord channel.

Hey :slight_smile: I just failed to install the plugin aswell, but now managed to do it with the BRAT plugin. Install the Brat plugin normally in the Community Plugins and then add MichaBrugger/booksidian_plugin to the Beta Plugin List in the settings and restart the app. Then you just have to activate Booksidian in the Community Plugins Menu :slight_smile: Hope that helps!

1 Like

Thank you so much! It worked. I’ve been wanting to try this plugin so much.

Would it be hard to add the abstract as an option in the plugin?

Does it update status in the books that are in your obsidian library?