emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ross Glover <ross@ross.mayfirst.org>
To: emacs-orgmode@gnu.org
Subject: Okular Metadata to Org
Date: Fri, 19 Nov 2010 19:51:23 -0500	[thread overview]
Message-ID: <87wro8zuk4.fsf@irigaray.ross.mayfirst.org> (raw)

Hi All,

My first post to the list.  I've been working on this python script to
extract Okular metadata and insert it into an org-mode file.  I like
using Okular to read and take notes, but accessing those notes is a
total pain.  This script takes care of that problem.

You can get the code  here: 
    git clone git://lair.fifthhorseman.net/~rossg/okutorg.git

What the script does is read the xml and creates a .org file with this
structure:

* [[/home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf]]
** [[bibnotes:1 /home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf][Young women no longer]]
Young women no longer concern themselves with discrimination.

By adding the following lisp to my .emacs files, each 'bibnotes' link
type will open the file to the page on which the note was taken.
Unfortunately, Okular has no switch for opening on a specified
annotation, but the page is not a bad result.

{{{
;; Open okular from org bibnotes to correct page.
(org-add-link-type "bibnotes" 'org-follow-bibnotes-link)
(defun org-follow-bibnotes-link (link)
  "Follow links of the type 'pagenumber path/to/file"
  (when (string-match "\\([0-9]+\\)\\([[:blank:]]+\\)\\(\/.*\.pdf\\)" link)
       (start-process "okular" nil "okular" "-p"
                      (match-string 1 link)
                      (match-string 3 link))))
}}}


The overall code is not great, as I am not a great coder by any
stretch.  Nor is the script feature rich, currently it just does a
recursive dump of all the okular metadata files that have
annotations.  It does check the .org file for duplicate entries, but in
a rudamentary fashion.

I wanted to integrate this with pymacs or do the import with
lisp, but both of those things are beyond me at the moment.

Any thoughts are welcome.  You're welcome to flame me about feminism,
but please not about the code (I know it's weak).  This is the first
thing I've ever made public.  Help don't hate ;) .

Hopefully someone else will find this useful,

Ross

-- 


Sent from an Emacs buffer.

             reply	other threads:[~2010-11-20  1:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-20  0:51 Ross Glover [this message]
2010-11-22  9:13 ` Rainer M Krug
2010-11-22 12:53   ` Ross Glover

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wro8zuk4.fsf@irigaray.ross.mayfirst.org \
    --to=ross@ross.mayfirst.org \
    --cc=emacs-orgmode@gnu.org \
    --subject='Re: Okular Metadata to Org' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).