/bookmark_plugin

A better alternative to Chrome Bookmarks for Obsidian users. Customize templates on the fly and either append to existing notes, create new notes, or do both!

Primary LanguageJavaScript

Obsidian Bookmarks


This is a chrome extension that uses Obsidian as an alternative to saving links in your chrome bookmarks. If you are like me, you:

  1. Never end up going back to your Chrome bookmarks
  2. Need a way to take notes along with your saved articles/papers/videos...

If you have these problems as well, and are an avid user of Obsidian, I think you will find this tool very helpful!

Table of Contents


  1. Functionality
  2. Demo
  3. Setup
  4. User Guide + Templates

Functionality


Given that I watch a lot of Youtube videos, I also incorporated the YouTube V3 API (get your key here), which will get the video duration time along with other relevant information.

Here is a list of the features you can expect with this chrome extension:

  • Append your bookmark to an existing Obsidian file, and/or create a new note
  • Create MD and YAML templates that are used by default, and customize on the fly as well
  • Quickly choose from your own Obsidian files where to save your bookmark
  • Automatically searches for article/video titles in the Webpage DOM and save them to Obsidian

Demo


Demo_Final.mp4

Setup


Obsidian API

This extension uses the Obsidian Local REST API plugin to interact with your Obsidian from your Chrome browser. You can find it on the Obsidian community plugins page too.

A way to test that your Obsidian API is setup properly would be with their interactive docs.

The Options Page

Once downloaded, be sure to set your options and templates

Add your Obsidian API key and templates(examples in the User Guide section), and save settings to get the extension working in Chrome.

Screenshot 2023-11-14 at 12 46 39 PM



You are also be able to check if the API key is working from this page.

Screenshot 2023-11-14 at 12 45 46 PM

Install It Yourself

1. Download the Repo
Screenshot 2023-11-14 at 11 56 12 AM

Easiest way is to download the zip file, but you could git clone the repo as well
2. Unpack the Zip File

Just double click the zip file

3. Go to Chrome Extensions in Development Mode and Load Unpacked
Screenshot 2023-11-14 at 12 10 18 PM

First turn on development mode (in the top right), and then you will click the load unpacked button (in the top left)
4. Select the web_extension File in the Unpacked File
Screenshot 2023-11-14 at 12 05 05 PM
5. Leave Development Mode and Start Using!

And you are done!

Install on the Chrome Web Store - Awaiting Approval

Chrome and other Chromium browsers

User Guide


A few tips from me!

YAML and MD Templates

Both of these can be edited from the options page by clicking the cog in the extension. When making templates, there are a few built in fields that you can include:

  1. ${url}
  2. ${title}
  3. ${author}
  4. ${time}

A YAML template only is included when a new note is created and assigns page properties. It begins and ends with "---" as seen in the below example:

---
{
    "title": "${title}",
    "time": "${time}",
    "author": "${author}",
    "url": "${url}",
    "read": false,
}
---

Note that you could add an additional note below the final '---' to add text after the yaml properties. For consistency, make sure to include quotations around values.

Markdown templates simply get appended to existing files! Here is an example to get you started:


[${title}](${url})
${time}
${author}

Notice that I include a space, so that a space exists between each bookmark on a page. The " [ title ]|( url ) " format creates a hyperlink in Obsidian.

Example Bookmarks Page:
Screenshot 2023-11-09 at 5 18 42 PM

Other Tips:

  1. You can set your default bookmark locations and templates in the options page.
  2. When using the new note section, the title section is automatically used as the document's name.
  3. You can turn off the author and time sections in the options settings, just make sure to also edit your templates appropriately!
  4. I noticed that the Google API is not 100% reliable, so just re-click the extension in chrome to have it try again.