GithubHelp home page GithubHelp logo

weirdnox / org-noter Goto Github PK

View Code? Open in Web Editor NEW
1.0K 18.0 97.0 395 KB

Emacs document annotator, using Org-mode

License: GNU General Public License v3.0

Emacs Lisp 100.00%
annotate pdf interleaved notes emacs elisp convenience documents sync org-mode

org-noter's People

Contributors

dangirsh avatar emacsomancer avatar et2010 avatar fuxialexander avatar purcell avatar stettberger avatar swflint avatar weirdnox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

org-noter's Issues

M-x org-noter failed on epub file opened with nov.el

M-x org-noter failed with 'Wrong type argument: stringp, nil' message.

   ((memq major-mode '(doc-view-mode pdf-view-mode nov-mode))
    (if (org-noter--valid-session org-noter--session)
        (progn (org-noter--setup-windows org-noter--session)
               (select-frame-set-input-focus (org-noter--session-frame org-noter--session)))

      (let* ((document-name buffer-file-name)
             (document-non-directory (file-name-nondirectory document-name)) ; <- this line
             (document-directory (file-name-directory document-name))
             (document-base (file-name-base document-name))
             (document-location (org-noter--doc-approx-location 'infer))
             (search-names (append org-noter-default-notes-file-names (list (concat document-base ".org"))))

And by debug, we can see the line pointed out is the root cause. Seemingly there is no buffer-file-name for nov.el buffer.

Better customization info and command behavior

I suggest you to be more explicit in the README about customization, in particular how the position of division can be selected. Actually, I am interested in dividing the screen vertically (sometimes I work in the screen of a small laptop) instead of horizontally, and I am not sure how it can be done (reading the code, it seems that it is customized, but I am not sure how to do it).

Line wrapping

I am a new user to org-noter. I have been unable to find a way to get the notes frame to wrap lines once they reach the edge of the frame. Every other instance in my emacs does this with no problem, and I'm unable to find a way to get the notes window to do so as well. I've tried every variable I can think of, but the notes window just does not seem to respond normally.

Has anyone else had this problem? Is there something that I'm missing that you could suggest I try?

Thank you.

Multi Page Notes

It would be nice to have a way to assign multiple pages to a note.

How would it possible to get the current line of the pdf to make it the title of the note ?

Hi,

everything is in the title of this subject.
I'd like, being in a pdf in org-noter-doc-mode, at a certain point, pressing i and getting a proposed value for the title of the note, that would be the whole current line.

This would be a very convenient way to rebuild in the org-noter-notes document the outline of the pdf document (especially for pdf without outlines), by just taking notes through i on each headline of the pdf document ...

In every other software, the question would be:

Is this possible ?

But this is emacs, so the question is:

How is that possible ?

;-)

Cant type spaces in notes.

This might be something related to my emacs configuration.
Whatever setting I have incorrectly configured, should be explicitly stated in the directions.
Thanks for help in advance.

I can write anything in a note, but when I try to do a space (or tabs), I cannot.
It says:
[No match]
or
[Sole Completion]

It seems to be searching for the note to already exist, but I'm trying to define it.

.emacs: https://pastebin.com/pA2kpRTk

Helm and creating new notes problem

Hey there!

So, this is definitely more of an issue with helm than org-noter, but I wanted to raise the issue because this has been causing me an endless amount of grief.

Normally when you insert a new note in org-noter you get a prompt asking you to title the note... If you just hit enter you should get "Notes for page $p$" inserted. HOWEVER, if you use helm, the call to completing-read to do this is replaced by helm. Normally this is fine, but in the case of org-noter it's pretty irritating! Pressing enter causes nothing to happen. No note / header is inserted, and the prompt for the note title disappears...

Apparently in helm you have to hit C- or M- to get the default completing-read behaviour for hitting :

emacs-helm/helm#700

Might be a good idea to make a note of this somewhere to save poor sad souls like myself. Perhaps it might even be a good idea to let us customize the completing-read function used by org-noter-insert-note?

Add a non-global way to open annotator in the same frame

This is trivial to achieve as customization by just defining a function that first unsets org-noter-always-create-frame and then calls org-noter. But I believe it must be provided out of the box because the current mode of defaulting to a new frame is far from a good guess that just works in the majority of use cases. Unfortunately numerical arguments are already taken for the org-noter function, so maybe an org-noter-here wrapper?

org-noter--doc-approx-location: Symbol’s function definition is void: assert

Well, everything is in the title: I have this bug when i call org-noter, which makes it unusable.

I changed somewhere in the code (assert window) into (cl-assert window) and got it to work.
Not sure why.
I'm pretty sure there is a better fix, however although I use emacs heavily for org-mode, I no it only superficially because I'm not a coder, so not able to do better.

If this helps: M-x version answers GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.28) of 2018-05-01

Option for saving current page on exit

PDF-tools has some limitations. One of the most glaring is the difficulty for keeping track of the last viewed page among sessions.

When you quit the session with org-noter, it would be very useful if the current page were saved as a property for the heading corresponding to the current document. Then, when visiting the document through org-noter, it could show that page.

Or maybe the current page stored in the notes file could be synchronized with the document. This frees the user from having to remember to quit the session before exiting Emacs, etc.

Since some users could prefer to not modify the file containing the notes, this feature would be controlled by an option.

Extracting outline (with page number as org-noter properties) as a skeleton for new document

Would this be possible? I often scan and edit the outline of documents I need and organize my notes around headlines in the source. Would be great if the outline could be extracted automatically and be used as a skeleton for a new notes file managed with org-noter.

The outline meta data is visible with pdftk, for example:

pdftk in.pdf dump_data_utf8 output out.txt

PS I manually add my own outline using pdfoutline utility (bundled with fntsample):

perl pdfoutline.pl in.pdf OUTLINE.txt out.pdf

Just notes: no document notes

Hi!

I have a bit of a silly problem. Sometimes I can't get a PDF for a book, and have to get a dead-tree version. But I still like keeping my notes in org mode, and I like being able to flip pages in the notes.

So, I'm wondering if we can have notes where I can easily increment the page number, but not have a corresponding document, if that makes any sense! That way I can keep notes for PDFs in exactly the same way as I keep notes for physical books.

Annotate org documents

From a bit of trial & error this doesn't seem possible or, at least, simple. Am I missing something?

[Request] add :NOTER_DOCUMENT: to all notes/annotation

Hi,

Is it possible to include the :NOTER_DOCUMENT: field in addition to the :NOTER_PAGE: for all the notes/annotations in the :PROPERTIES: drawer.

The idea is to have independent pieces of information (LEGO blocks) which are not restricted to the header of the original paper but can be moved/copied to a new tree in org-mode (e.g. when writing a paper) and keep a reference (and possibly a link) to the original paper.

Many thanks,

Firas

Does Org-noter always open a new window ?

This is a question I have,

does it always open a new window ? I always end up with 2 instances of emacs.
Is there a way to keep the window where M-x org-noter is called ? I guess having isolated session is a feature, but is there any way to change it ?

(I am using pdf-tools)

Thanks !

Org-noter and helm-M-x issues

GNU Emacs 25.3.1 (x86_64-pc-linux-gnu) of 2018-02-23

I'm running emacsclient to connect to an emacs daemon, and when I open org-noter I get a new frame as expected.

Running helm-M-x kills the org-noter window, which is not the desired behaviour --- I want it to pull up the helm buffer for selecting which emacs command I want to run. I think the problem has to do with how helm is splitting org-noter to make the candidates buffer, which I believe will temporarily close the document buffer, which causes org-noter to close. If I switch over to the document buffer instead I can run helm-M-x as normal and it closes the notes buffer temporarily --- everything works as expected.

This is causing extra issues as well. I'm running xmonad, and I put org-noter in a separate desktop than the original emacsclient frame. When I do this and run helm-M-x it kills the org-noter buffer. Then when I switch to the other desktop the emacsclient frame is frozen. Mashing C-g / ESC does nothing. The only thing that seems to unfreeze it is... Starting another emacsclient.

If org-noter is in the same desktop as the other emacsclient frame it doesn't freeze.

Is there a way to make org-noter not immediately exit when the document buffer is temporarily closed?

Trouble with `org-noter-hide-other`

I am a bit confused by the org-noter-hide-other property. As defined from the source:

(defcustom org-noter-hide-other nil
  "When non-nil, hide all headings not related to the command
  used, like notes from different locations when scrolling."
  :group 'org-noter
:type 'boolean)

The above segment seems to mean that other notes will be displayed in the org buffer. However, when I have multiple documents synced to a single file, setting org-noter-hide-other still narrows the view down to each document's heading.

Full Notes File

View after running org-noter

In essence I would prefer no window to pop up with the subtree only view and just edit the full notes file.

spacemacs support

Does this support spacemacs? I have spacemacs and encountered the following error message helm-M-x: This document handler is not supported :/. No PDF file was produced. If this is spacemacs related, which I don't think it should be, is it possible to port it to work in spacemacs as well?

Option for disabling window restore

Hello. This is an interesting package, thanks for sharing!

When you navigate a document, maybe you want its window maximized for easy reading. But with org-noter, as soon as you reach a page with a note, the org-noter window reappears, shrinking the document's window. Sometimes you are not interested on the notes, or you have two monitors and can place the notes on another frame on another monitor.

What I propose is an option for restraining org-noter from automatically showing its window. The point on the org-noter buffer will change according to the current page on the document, but that's it. Advertising on the modeline that the current page has notes would be nice too.

Nov.el not working due to recent update

Backtrace:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p (6 . 6120))
  org-noter--note-after-tipping-point(0.3 (6 . 1102) [nov (6 . 1) (6 . 6120)])
  #f(compiled-function (headline) #<bytecode 0x242b8e9>)((headline (:raw-value "xxxxx" :begin 157 :end 489 :pre-blank 0 :contents-begin 438 :contents-end 489 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 157 :NOTER_PAGE "(6 . 1102)" :title "xxxxx" :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #3)) (section (:begin 43 :end 157 :contents-begin 43 :contents-end 157 :post-blank 0 :post-affiliated 43 :parent #3) (property-drawer (:begin 43 :end 157 :contents-begin 58 :contents-end 149 :post-blank 0 :post-affiliated 43 :parent #4))) #1)) (section (:begin 438 :end 489 :contents-begin 438 :contents-end 489 :post-blank 0 :post-affiliated 438 :parent #1) (property-drawer (:begin 438 :end 489 :contents-begin 454 :contents-end 481 :post-blank 0 :post-affiliated 438 :parent #2)))))
  #f(compiled-function (--data) #<bytecode 0x242ace9>)((headline (:raw-value "xxxxx" :begin 157 :end 489 :pre-blank 0 :contents-begin 438 :contents-end 489 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 157 :NOTER_PAGE "(6 . 1102)" :title "xxxxx" :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #3)) (section (:begin 43 :end 157 :contents-begin 43 :contents-end 157 :post-blank 0 :post-affiliated 43 :parent #3) (property-drawer (:begin 43 :end 157 :contents-begin 58 :contents-end 149 :post-blank 0 :post-affiliated 43 :parent #4))) #1)) (section (:begin 438 :end 489 :contents-begin 438 :contents-end 489 :post-blank 0 :post-affiliated 438 :parent #1) (property-drawer (:begin 438 :end 489 :contents-begin 454 :contents-end 481 :post-blank 0 :post-affiliated 438 :parent #2)))))
  mapc(#f(compiled-function (--data) #<bytecode 0x242ace9>) ((section (:begin 43 :end 157 :contents-begin 43 :contents-end 157 :post-blank 0 :post-affiliated 43 :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (property-drawer (:begin 43 :end 157 :contents-begin 58 :contents-end 149 :post-blank 0 :post-affiliated 43 :parent #2))) (headline (:raw-value "xxxxx" :begin 157 :end 489 :pre-blank 0 :contents-begin 438 :contents-end 489 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 157 :NOTER_PAGE "(6 . 1102)" :title "xxxxx" :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (section (:begin 438 :end 489 :contents-begin 438 :contents-end 489 :post-blank 0 :post-affiliated 438 :parent #2) (property-drawer (:begin 438 :end 489 :contents-begin 454 :contents-end 481 :post-blank 0 :post-affiliated 438 :parent #3))))))
  #f(compiled-function (--data) #<bytecode 0x242ace9>)(((section (:begin 43 :end 157 :contents-begin 43 :contents-end 157 :post-blank 0 :post-affiliated 43 :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (property-drawer (:begin 43 :end 157 :contents-begin 58 :contents-end 149 :post-blank 0 :post-affiliated 43 :parent #2))) (headline (:raw-value "xxxxx" :begin 157 :end 489 :pre-blank 0 :contents-begin 438 :contents-end 489 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 157 :NOTER_PAGE "(6 . 1102)" :title "xxxxx" :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (section (:begin 438 :end 489 :contents-begin 438 :contents-end 489 :post-blank 0 :post-affiliated 438 :parent #2) (property-drawer (:begin 438 :end 489 :contents-begin 454 :contents-end 481 :post-blank 0 :post-affiliated 438 :parent #3))))))
  org-element-map(((section (:begin 43 :end 157 :contents-begin 43 :contents-end 157 :post-blank 0 :post-affiliated 43 :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (property-drawer (:begin 43 :end 157 :contents-begin 58 :contents-end 149 :post-blank 0 :post-affiliated 43 :parent #2))) (headline (:raw-value "xxxxx" :begin 157 :end 489 :pre-blank 0 :contents-begin 438 :contents-end 489 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 157 :NOTER_PAGE "(6 . 1102)" :title "xxxxx" :parent (headline (:raw-value "Bullshit Jobs_ A Theory - David Graeber" :begin 1 :end 489 :pre-blank 0 :contents-begin 43 :contents-end 489 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1 :NOTER_PAGE "(6 . 23029)" :NOTER_DOCUMENT "Bullshit Jobs_ A Theory - David Graeber.epub" :title "Bullshit Jobs_ A Theory - David Graeber" :parent (org-data nil #4)) . #1)) (section (:begin 438 :end 489 :contents-begin 438 :contents-end 489 :post-blank 0 :post-affiliated 438 :parent #2) (property-drawer (:begin 438 :end 489 :contents-begin 454 :contents-end 481 :post-blank 0 :post-affiliated 438 :parent #3))))) headline #f(compiled-function (headline) #<bytecode 0x242b8e9>) nil nil (babel-call center-block clock comment comment-block diary-sexp drawer dynamic-block example-block export-block fixed-width footnote-definition horizontal-rule inlinetask item keyword latex-environment node-property paragraph plain-list planning property-drawer quote-block section special-block src-block table table-row verse-block))
  org-noter--get-view-info([nov (6 . 1) (6 . 6120)] (6 . 3182))
  org-noter-insert-note(3182)
  org-noter-insert-precise-note(nil)
  funcall-interactively(org-noter-insert-precise-note nil)
  call-interactively(org-noter-insert-precise-note nil nil)
  command-execute(org-noter-insert-precise-note)

CC @licebmi @GregorZattler @respatialized

messed properties drawer

Hi again,

I have a systematic ID insertion in my org-headings.
This is achieved in my init.el by:

(add-hook 'org-insert-heading-hook #'org-id-get-create)

This works fine, resulting, in org-mode (no org-noter call yet), after S-RET in:

 * whatever heading title
      :PROPERTIES:
      :ID:       e14fff95-428b-4299-a325-3b08848ef777
      :END:

except that in org-noter-doc-mode, pressing i results in:

***** a note title
      :PROPERTIES:
      :NOTER_PAGE: 4
      :END:

      :PROPERTIES:
      :ID:       8c2dc0cb-dc06-40d9-a26f-78023d698422
      :END:

Instead of expected

 ***** a note title
      :PROPERTIES:
      :NOTER_PAGE: 4
      :ID:       8c2dc0cb-dc06-40d9-a26f-78023d698422
      :END:

May-be org-noter inserts the property in an unusual way ?

not availible in melpa (emacs --version GNU Emacs 27.0.50)

I'm wondering if this is a problem on my end or a version of emacs problem.

I've been running interleave-mode and got a new computer and setup emacs.
I tried to install interleave but could not find it in my melpa repo M-x package-install int<TAB><TAB>.
Proceeded to look in to interleave and found this repo which seems newer and fresher. But I get the same result, that it's not available in melp for me.

I'm wondering if this is because of my emacs version or if i should be able to install it but there is an issue on my end.

Incompatible with Emacs 25.3/Win10-64?

I cannot install this package and receive this message. Is there a limitation where it can be installed?

org-noter is an incompatible package.
Status: Incompatible because it depends on uninstallable packages.
Archive: melpa
Version: 20180205.1306
Summary: A synchronized, Org-mode, document annotator
Requires: emacs-24.4, cl-lib-0.6, org-9.0 (not available)
Homepage: https://github.com/weirdNox/org-noter

Empty lines

It would be great to have an option for inserting empty lines before and after the heading.
I write my documents this way to easily spot which headings contain content and which are still empty.

E.g. like so


* Test heading

Some content.

** Sub Heading without content

** Sub heading with content

Some more content.

This would then fold like this:


* Test Heading...

** Sub Heading without content...
** Sub Heading with content...

Nov.el support

I just skim read some parts of nov.el and I think it may be possible to support it.

  • The first identification part is nov-documents-index
  • The other part is the point itself

Nov.el has support for resuming sessions where you left, and uses this scheme for saving the last visited location, so we know this forms unique identification.

We would need to have a hook in window-scroll-functions to see when certain parts of the document become visible. Also, I think the best way to know when the document itself changes is by advising nov-render-document. With these two things, I think I can make it work.

Unfortunately, I don't have any kind of deadline for this, or even if I will be able to do this at all. I made org-noter very dependent on isolated pages and this may need another major refactor... We'll see :)

Multiple frame support

I was wondering if there is a mechanism for working with the document open in another frame...

I usually work on a two monitor setup so having notes and the document in one split frame is kind of sub optimal.

One org mode file for each document?

Hi,
I switched from Interleave to org-noter few weeks back and I am wondering if I can have one orgmode file for each document.
From the documentation it seems not:

This package only works like the multi-pdf mode of Interleave - you can’t open a session without having a parent headline.

But it would be great be able to define one noter_document for one orgmode file using the following:
#+NOTER_DOCUMENT: ./pdfs/document.pdf

Then for me it is easier to export my notes to LaTeX.
Do you think that is possible?
Thank you

Error of "org-noter: Invalid file path"

Following the instruction, in a new org-file, with a heading, I did M-x org-noter in this org-file buffer, I provided the path to a PDF file, and I got this error:
"org-noter: Invalid file path"

I also tried to just use the current directory path without the name of the PDF file. It still didn't work with the same error.

What should be the path to enter to make it work?

Thanks,

line length in org-noter-notes sessions

Hi,

thanks for this wonderful package: it really makes a huge difference in my working with pdfs!

I encountered this problem:

as soon as I start an annotation session with M-x org-noter, my notes file as shown in the indirect buffer displays in a completely different way with regard to line length / filling.

Normally I use visual-line-mode together with visual-fill-column-mode in my org mode files, i.e. no hard coded line breaks are written in a file, the display of a line is instead only visually broken at the position of "fill-column".

But in an org-noter session (in the indirect buffer!) I have all these irritating little arrows in both margins and lines are a lot shorter (about 75 characters).

How can I make org-noter leave the line display in the indirect buffer exactly as it is in the original file?

Thanks.

Export notes from org to pdf annotations

I'm a new org-noter user, and really enjoying it so far. I like writing the localized notes in org mode corresponding to various locations in the PDF.

On the other hand, I don't want to be stuck in org either -- I'd love to automatically insert my notes as annotations into the appropriate location in the PDF. This would be especially useful for when I want to annotate a PDF and review it on another device, or share it with somebody else.

Is there any chance this would be possible? I'd love to hear your thoughts. Thanks!

Does it have to be PDF?

I'm assuming so, but being able to annotate Word, or even other org-mode documents would be slick... just an idea (or maybe I'm missing it)

Separate frames for pdf and notes buffer

Is it possible to have separate frames for the pdf and notes buffer?

I prefer to have my pdf and notes buffer on two separate screens primarily to improve readability of the pdf without the need for zooming and panning.

Can't run 'org-noter-sync-prev-note' with C-M-p

This is what the help command says about my C-M-S-p:

"C-M-p (translated from C-M-S-p) runs the command org-noter-sync-prev-note"

So I can run it with C-M-S-p, which gets silently translated to C-M-p, but pressing C-M-p doesn't do anything.

I'm a newbie in Emacs, so I'm not sure of what is causing this, so I don't really know if this is the appropriate place to ask about it.

I'm running Xubuntu and, as far as I could check, my XFCE doesn't have any bindings attached to C-M-p, so I think it's unlikely the keys are getting captured before getting to Emacs.

Thank you!

How would it possible to get the current line of the pdf to make it the title of a /precise/ note ?

Hi,
This is the continuation of issue 21 which is solved.

I tried the new possibility offered by the default-title when pressing i, which is great. i, bound to org-noter-insert-note, now allows to capture a text, in my use-case a title, from the document buffer into the notes buffer.
However there is a limitation, which can a significant drawback in some cases : when you want to capture /several/ titles from the /same page/ of the document buffer, it does not work. After the first capture of a title by i, selecting a second title, on the same page, and pressing i doesn't result in a second note but just position the point in the notes document under the heading of the previously created headline.
So the need is now to be able to have the default-title mechanism available in M-i (org-noter-insert-precise-note).
The ideal sequence would be:

  • selecting the title
  • pressing M-i
  • getting the default-title
  • skipping the mention "click where you want the start of the note to be" : obviously the start of the note should be at the start of the selected region.

Hoping this is clear !

Extract highlighted text and annotation text

Thanks for making this fantastic package! org-noter-create-skeleton works great for annotations. I'm wondering whether the highlighted text and annotation text could be extracted as subtree content?

Handle notes that are not in the same directory as the PDF

Here is my use case:

First I insert a heading in my note file, then I run org-noter and input the location of the PDF document. I can open PDF from my notes with this workflow. However, if I then open the same PDF and run org-noter, the note file is not set and org-noter will prompt to create one. How could I make org-noter to know there is already an associative note file? I'm asking since all my PDFs are in a Zotero storage and I would like to collect my notes in a note file outside the Zotero storage folder. Is that possible?

Internal links are useless, and external links lack content

(Quick side note, org-noter is great. I've been spoiled by it and want more.)

When using hyperref, a lot of internal links are generated (to figures, lemmas, etc). Importing them as annotation is not very useful as it just states there is a link. Maybe internal links could be removed when importing links.

In addition, external links (to urls) do not have a contents associated with them. It would be useful to add it.

Thanks again for org-noter!

Customizable variable for note template?

I use helm-bibtex, I sometime create new notes from helm-bibtex interface. helm-bibtex has a variable bibtex-completion-notes-template-one-file which customize the note entries of new notes.

It will be consistent and smooth, if we can customize the org-noter note-template, such that it is consistent with helm-bibtex.

I know a little elisp, and I read some source code of org-noter, however, I did not find some similar options.

org-noter-create-skeleton is now broken

I tested this on several books. It used to work. Perhaps there has been a change to pdf-tools on which it relies? pdf-info-outline or (although I am able to get salient info from calling (pdf-info-outline) directly? If I pretty print output-data it seems to have the data needed, but I think fails when it goes to access things while inserting. Used to work fine for most PDF books. Great package otherwise. Thank you.

Example output-data

["Contents" (4 . 0.137085) 2] ["About the author" (9 . 0.137085) 2] ["Note about this eBook edition" (10 . 0.137085) 2] ["Preface" (12 . 0.137085) 2]
etc

compatible with pdf-view-mode-hook functions

I have a setting as bellowing to store pdf-tools last position.

  ;; workaround for pdf-tools not reopening to last-viewed page of the pdf:
  ;; https://github.com/politza/pdf-tools/issues/18#issuecomment-269515117
  (defun my/pdf-set-last-viewed-bookmark ()
    (interactive)
    (when (eq major-mode 'pdf-view-mode)
      (bookmark-set (my/pdf-generate-bookmark-name))))
  (defun my/pdf-jump-last-viewed-bookmark ()
    (when
        (my/pdf-has-last-viewed-bookmark)
      (bookmark-jump (my/pdf-generate-bookmark-name))))
  (defun my/pdf-has-last-viewed-bookmark ()
    (assoc
     (my/pdf-generate-bookmark-name) bookmark-alist))
  (defun my/pdf-generate-bookmark-name ()
    (concat "PDF-LAST-VIEWED: " (buffer-file-name)))
  (defun my/pdf-set-all-last-viewed-bookmarks ()
    (dolist (buf (buffer-list))
      (with-current-buffer (and (buffer-name buf) buf)
        (my/pdf-set-last-viewed-bookmark))))
  (add-hook 'pdf-view-mode-hook 'my/pdf-jump-last-viewed-bookmark)
  (add-hook 'kill-buffer-hook 'my/pdf-set-last-viewed-bookmark) ; Cause "selecting deleted buffer" error.
  (unless noninteractive  ; as `save-place-mode' does
    (add-hook 'kill-emacs-hook #'my/pdf-set-all-last-viewed-bookmarks))

But this workaround is not compatible with org-noter.
I can't find out a better way to workaround. So I post an issue here to take an ask.
Because it is rely on pdf-view-mode-hook.
And org-noter is not only document viewing workflow for me. I sometimes just open a PDF link in Org-mode file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.