Emacs bookmarks that can be any org-mode link-type!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.org Fix typo in README Aug 30, 2018
linkmarks.el
linkmarks.org

README.org

Linkmarks.el

Linkmarks.el leverages org-mode for bookmarks so you can:

  • Keep your bookmarks in org-mode
  • Organize them any way you want
  • Use any supported link type as a bookmark!
  • Use org-capture for new bookmarks.
  • Easily edit bookmarks by hand
  • Export to the web!

Installation

el-get

(el-get-bundle linkmarks
  :url "https://github.com/dustinlacewell/linkmarks.git"
  :features linkmarks)

straight.el

(use-package linkmarks
  :straight (linkmarks :type git :host github :repo "dustinlacewell/linkmarks")

Configuration

The only setting you need to configure is linkmarks-file:

(setq linkmarks-file "~/org/bookmarks.org")

Usage

linkmarks-capture

To create a new bookmark, execute M-x linkmarks-capture or bind it to key of your choice. It will ask for a title, and then allow you to enter in the link data. The default template looks like this:

* Bookmark Title
[[link content goes here]]
  added: [2018-08-30 Thu 03:53]

Use C-c C-w to refile into your bookmarks!

linkmarks-select

To select and visit a bookmark, execute M-x linkmarks-select or bind it to a key. It will prompt you with completing-read and visit your selection.

Bookmark File

Your bookmark file is just a normal org-mode file. The way a bookmark is defined is simple enough: Any header followed by a link on the next line is a bookmark.

You can nest bookmarks, you can have headings that are purely organizational, you can have additional notes or anything else. The only thing that matters are headings followed by an org-mode link.

Examples

Files

As usual, files can be linked to by simply specifying their path:

* My Emacs Config
[[~/.emacs.d/init.el]]

Search within a file

* First TODO
[[~/org/todo.org::TODO]]

Some heading in an org file

* Foo Project
[[~/org/projects.org::*Foo]]

Directories

This is quite useful:

* XDG config home
[[elisp:(helm-find-files-1 "~/.config/")]]

Elisp

You can have bookmarks that run arbitrary elisp!

* Start Playlist
[[elisp:(start-playlist (completing-read "playlist" '("rock" "hiphop" "bluegrass")))]]

Others

There are many stock link types you can check out.

You can even make your own!