c1-g 3c3fcf5971 fix document-major-mode = nil | 2 years ago | |
---|---|---|
Demo | 6 years ago | |
modules | 2 years ago | |
other | 2 years ago | |
.gitignore | 7 years ago | |
LICENSE | 7 years ago | |
README-orig.org | 3 years ago | |
README.org | 3 years ago | |
org-noter-core.el | 2 years ago | |
org-noter.el | 2 years ago |
file:https://melpa.org/packages/org-noter-badge.svg file:https://stable.melpa.org/packages/org-noter-badge.svg After using Sebastian Christ's amazing Interleave package for some time, I got some ideas on how I could improve upon it, usability and feature-wise. So I created this package from scratch with those ideas in mind!
Org-noter's purpose is to let you create notes that are kept in sync when you scroll through the document, but that are external to it - the notes themselves live in an Org-mode file. As such, this leverages the power of Org-mode (the notes may have outlines, latex fragments, babel, etc...) while acting like notes that are made inside the document. Also, taking notes is very simple: just press @@html:@@i@@html:@@ and annotate away!
*Note*: While this is similar to interleave
, it is not intended to be a clone;
therefore, not every feature of the original mode is available! You may prefer using the
original, because this is a different take on the same idea. View some differences here.
Org-noter is compatible with DocView, PDF Tools, and Nov.el. These modes make it possible to annotate PDF, EPUB, Microsoft Office, DVI, PS, and OpenDocument.
On a personal note, if you annotate and read lots of PDFs, give PDF Tools a try! It is great.
org-noter-auto-save-last-location
is non-nil, it willMany of these features are demonstrated in the screencast, so take a look if you are confused!
This package is available from MELPA, so if you want to install it and have added MELPA to
your package archives, you can run
@@html:@@M-x@@html:@@ package-install
@@html:@@RET@@html:@@ org-noter
org-noter.el
package-install-from-buffer
@@html:@@RET@@html:@@org-noter
inside!This will open a new dedicated frame where you can use the keybindings described here.
This will try to find the respective notes file automatically. It will
search in all parent folders and some specific folders set by you. See
org-noter-default-notes-file-names
and ~org-noter-notes-search-path~
for more information.
There is, of course, more information in the docstrings of each command.
Note that this package has had some updates since this screencast was made, so, while the core functionality is the same, there may be some UX and feature differences.
The files used to make this screencast are shipped with the package, so you can try this package even without creating the notes.
The global settings are changed with either the customization interface from Emacs or directly in your
init file. To find which settings are available, you may use the customization interface or you may just
read org-noter.el
.
The best way to set document-specific settings is by using the utility commands provided (list below). In order to use them, you need an open session. The commands may change the settings for that session only (not surviving restarts), or for every session with that document.
org-noter-set-start-location
.org-noter-set-auto-save-last-location
.org-noter-set-notes-window-behavior
, you may change when the notes window popsorg-noter-set-notes-window-location
, you may change where the notes window popsorg-noter-set-doc-split-fraction
will ask you for the fraction of the frame that the document windoworg-noter-set-hide-other
will toggle whether or not it should hide headings notorg-noter-set-closest-tipping-point
will set the closest note tipping point. AlsoKey | Description | Where? |
@@html:@@i@@html:@@ | Insert note | Document buffer |
@@html:@@M-i@@html:@@ | Insert precise note | Document buffer |
@@html:@@q@@html:@@ | Kill session | Document buffer |
@@html:@@M-p@@html:@@ | Sync previous page/chapter | Document and notes buffer |
@@html:@@M-.@@html:@@ | Sync current page/chapter | Document and notes buffer |
@@html:@@M-n@@html:@@ | Sync next page/chapter | Document and notes buffer |
@@html:@@C-M-p@@html:@@ | Sync previous notes | Document and notes buffer |
@@html:@@C-M-.@@html:@@ | Sync selected notes | Document and notes buffer |
@@html:@@C-M-n@@html:@@ | Sync next notes | Document and notes buffer |
You can use the usual keybindings to navigate the document (@@html:@@n@@html:@@, @@html:@@p@@html:@@, @@html:@@SPC@@html:@@, ...).
When using PDF Tools, the command org-noter-create-skeleton
imports the PDF outline or
annotations (or both!) as notes, and it may be used, for example, as a starting point.
You may also want to check the docstrings of the functions associated with the keybindings, because there is some extra functionality in some.
Doing a refactor on a foreign codebase takes a long time because of several factors, like introducing the ideas to the owner (with which he may even disagree), learning its internals, proposing pull requests, more back and forth in code review, etc...
Besides, I like doing things from scratch, not only because it expands my skills, but also because it is something I find very rewarding!
This package only works like the multi-pdf mode of Interleave - you can't open a session without having a parent headline.