Bookmark Notes

:information_source: Summary A Discourse plugin that turns bookmarks into private personal notes attached to posts and other bookmarkable content
:hammer_and_wrench: Repository Link https://github.com/merefield/discourse-bookmark-notes
:open_book: Install Guide How to install plugins in Discourse
:heart: Sponsorship Please consider becoming an ongoing sponsor of my open source work at a level that suits your or your organisation’s resources and needs to ensure this plugin gets the maintenance it deserves and continues to work for your site in the future.

Enjoying this plugin? Please :star: it on GitHub! :pray:

Features

Discourse Bookmark Notes extends the existing bookmark experience rather than introducing a separate notes system:

  • Uses the bookmark’s existing name as the note title.
  • Adds a private personal-note body using Discourse’s Markdown editor, including its formatting toolbar and rendered preview.
  • Shows a button below a post when the current user has saved a non-empty note, making the bookmark modal easy to reopen.
  • Keeps notes private to the user who owns each bookmark. Different users can bookmark the same post and maintain completely independent notes.
  • Preserves bookmark reminders, auto-delete preferences, bookmark controls, and the bookmarks activity list.
  • Supports creating, updating, and removing a note without removing its bookmark.

Settings

The plugin provides two settings, both enabled by default:

  • discourse_bookmark_notes_enabled enables or disables the plugin.
  • discourse_bookmark_notes_post_button_enabled controls the note button shown below posts with non-empty notes.

Privacy and storage

Note bodies are stored in a plugin-owned BookmarkNote record with a one-to-one relationship to the core bookmark. Removing the bookmark also removes its personal note.

Notes are loaded and saved through owner-authorized endpoints. Topic pages expose bookmark-note data only to the signed-in bookmark owner; one user’s note is never added to another user’s post or bookmark payload.

Pro extension

Discourse Bookmark Notes Pro is an optional extension available to GitHub Sponsors as a thank-you for supporting ongoing development. Individual sponsors on the $7/month tier receive access and private-repository installation instructions.

The Pro extension adds independently configurable features:

  • A private, collapsible panel below a bookmarked post showing the full rendered note.
  • Personal notes appended to entries on the current user’s bookmarks activity page.
  • Bookmark search extended to include the current user’s bookmark titles and personal-note bodies when using in:bookmarks.
  • A sortable Notes column on topic lists, indicating when the current user has a note on the topic or any of its posts.

Sponsor on GitHub to get Bookmark Notes Pro

11 Likes

Thanks

1 Like

It’s the same as the Post, because the note lives as metadata of the Bookmark

Yes, that’s a private repo exposed only to sponsors

Fair question, will revert - held up by a site that needs a Postgres upgrade that needs to be done overnight

3 Likes

This is something I didn’t know I need :laughing:

But on my circle I bookmark posts that need to be fixed, and now I can make a note for future me what I was actually planning. Nice, me like!

2 Likes

nicely done Robert. :clap:

i like how you do the pro extensions for sponsors :chefs_kiss:

2 Likes

Bookmark Notes (Pro) is up on https://www.artofsm.art currently :+1:

2 Likes

A few nice updates for Pro users:

  • clicking on the note header (or new pencil icon) will now take you directly to the bookmark modal to edit the note (so now same as for non-Pro)
  • notes are now unfurled by default (but there is a global setting for this)
  • clicking on the note icon on the topic list will take you directly to the first bookmark note in the topic :rocket:

I setup the plugin but this isn’t appearing to work. Is this compatible with esr?

I don’t think so. It relies on a new plugin outlet that was added just a few days ago.

1 Like

Dang I guess I’m waiting for next release.

You need to be running latest, or possibly 2026.8 when that arrives.