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!
(el-get-bundle linkmarks :url "https://github.com/dustinlacewell/linkmarks.git" :features linkmarks)
(use-package linkmarks :straight (linkmarks :type git :host github :repo "dustinlacewell/linkmarks")
The only setting you need to configure is
(setq linkmarks-file "~/org/bookmarks.org")
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]
C-c C-w to refile into your bookmarks!
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.
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.
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]]
This is quite useful:
* XDG config home [[elisp:(helm-find-files-1 "~/.config/")]]
You can have bookmarks that run arbitrary elisp!
* Start Playlist [[elisp:(start-playlist (completing-read "playlist" '("rock" "hiphop" "bluegrass")))]]
There are many stock link types you can check out.
You can even make your own!