emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Fireforg, a Firefox extension for Org mode interaction
@ 2009-08-07  4:54 Andreas Burtzlaff
       [not found] ` <6ac505ad0908070500u46f9055fk5e3690b3ba4103d8@mail.gmail.com>
  2009-08-09  4:16 ` Fireforg, a Firefox extension for Org mode interaction (Moved to Worg) Andreas Burtzlaff
  0 siblings, 2 replies; 7+ messages in thread
From: Andreas Burtzlaff @ 2009-08-07  4:54 UTC (permalink / raw)
  To: emacs-orgmode

Hello all,

I am developing a Firefox extension for interaction with org-mode that
goes by the name "Fireforg".

It shows the number of occurrences of the currently viewed url in
the agenda files as well as the associated tags in the status bar.
A left click on the status bar entry displays a popup menu, where all
associated headings are shown and a click on one of them lets emacs
visit it.

Furthermore, it alters the style of links that occur in the agenda files
when viewing a website. Their tooltip is set to contain the associated
headers.

A right click on the status bar entry lets the user choose
from predefined actions, currently org-protocol's "store-link" and
"remember".

Although the functionality mentioned above is usable, the code should
still be considered experimental, so don't expect anything and backup
your data. This is not a release but rather a call for testing and
ideas.

* Try it out
To try it out you need to have org-protocol installed as described here:
http://orgmode.org/worg/org-contrib/org-protocol.php

Download org-registry.el and org-fireforg.el from the lisp directory in the
repository: http://repo.or.cz/w/org-fireforg.git

(org-registry.el is supposed to replace the contributed package, but is
still lacking some of its functions (see section below)).
Put the two files in the load-path and initialize by evaluating:

(require 'org-registry) ;; Be sure the downloaded file is used here, not the one in contrib
(org-registry-insinuate)
(require 'org-fireforg)
;; When putting the following into .emacs it might fail, if 
;; org-agenda-files has not been initialized yet.
(org-registry-initialize t) 

Finally, click on the file build/fireforg.xpi in the latest tree in the
repository at: http://repo.or.cz/w/org-fireforg.git
confirm the installation of the extension and reload firefox.

(Windows users might have to adjust: org-registry-file-xml  in Emacs
and "registry-file" in Fireforgs preferences.)

* Ideas/Discussion

- Add an optional search string to external links, so that
individual text passages in a website can be referenced and highlighted
in the site itself when it is revisited.

- Show a bookmark tree in firefox that is generated from the header
structure of an org file/a set of org files by filtering those with
url's in them. Together with store-link this would completely replace
firefox's bookmark functionality.
The tree could be shown either using menu popups or better as html
rendered using org's publishing capabilities. As I have no experience
with the later, could someone write such a function?

- Weaker url matching criteria. Match all parent urls, ...

- The registry is currently only updated for files in the agenda to
prevent pollution from temporary org files, possibly containing
org-fstrees. Maybe we could extend the set with
org-agenda-text-search-extra-files? Or rather make it customizable on
its own?

- I hope no one takes offence at the rewrite of org-registry without
renaming or prior discussion. I'd like to add the missing functions, but
can't get org-registry-show to work in Bastien's original version.

- Is the use of the org logo ok for the purpose of the extension?

- The logo and name are also subject to discussion. I'm still wondering
what crossbreeding a firefox and a green unicorn would yield...

* How it works
The rewritten org-registry generates an xml file (customizable through
org-registry-file-xml) that is read and searched by the extension.
An org-protocol subprotocol is used to let emacs visit an occurence.

I also have almost finished code that uses a temporary file to pass
response data from emacs to the extension. Kind of Emacs as a database
server... (probably existed though).

Hope you enjoy it,

Andreas

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-08-09  4:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-07  4:54 Fireforg, a Firefox extension for Org mode interaction Andreas Burtzlaff
     [not found] ` <6ac505ad0908070500u46f9055fk5e3690b3ba4103d8@mail.gmail.com>
     [not found]   ` <20090807165316.93eddce6.andy13@gmx.net>
2009-08-07 15:08     ` Daniel Martins
2009-08-08 17:19       ` Daniel Martins
2009-08-08 19:45         ` Andreas Burtzlaff
2009-08-08 20:09           ` Daniel Martins
2009-08-08 20:50             ` Andreas Burtzlaff
2009-08-09  4:16 ` Fireforg, a Firefox extension for Org mode interaction (Moved to Worg) Andreas Burtzlaff

Code repositories for project(s) associated with this public 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).