emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bring up a screen giving option to open a series of orgmode files


From: Tom Gillespie
Subject: Re: Bring up a screen giving option to open a series of orgmode files
Date: Tue, 15 Dec 2020 23:05:37 -0500

To hop in on the hypothes.is thread. I have spent quite a bit of time
working with hypothes.is and related tooling (mostly in python), so
here is a brain dump on interactions between org and hypothes.is. As
others have mentioned, this could easily be its own thread. Best!
Tom

A quick note on security for hypothes.is. Last I checked (about 30
seconds ago) there is still no way to control access to groups, if the
identifier for the group leaks then anyone can access it. This is not
the case for private annotations, those can only be seen by someone
with your api key (hopefully just you).

If you are looking for a light weight client that is hypothesis
compatible that could be used to build a tool that can push
annotations to an alternate backend then
https://github.com/judell/hlib might be a reasonable place to start.
Jon has previously used that to create a client that sent annotations
to an alternate backend, which could in theory be an elisp
implementation of a server for the w3c annotation standard that could
feed things to org-protocol (or similar).

If people are interested in this for org-mode I would suggest that a
starting point would be to write an elisp implementation that can
consume and produce the w3c web annotation standard format for
annotations and/or the hypothesis api format.

There are at least 3 different ways that web annotations can be
anchored, offset, xpath, exact + prefix/suffix. In principle you could
translate those into urls and use query parameters to encode the
target selectors. The problem that you will run into is that there are
some rather sizeable selector patterns like the example below (that I
happened to have up in another terminal) which will be a pain to work
with as urls. As a result of this a reasonable workflow would be to
create a custom link type for the hypothes.is annotation urls e.g. the
equivalent of #+link: hyp https://hyp.is/ and simply paste in a
shortened form of the share links. In addition one might want some
additional tooling so that the contents of the annotation could be
retrieved and cached, or retrieved, transformed, and embedded in the
document as an appendix during export (or similar).

Unifying org-capture, org-protocol, and general org hyperlinking with
the w3c spec seems like it would be hard in the general case, but for
specific use cases I can imagine that some reduced syntax could be
created that would fit in an org hyperlink. It actually would probably
be easier to do this by
coming up with a way to convert structured org sections or blocks to
and from the w3c spec, name those, and then use org hyperlinks to
refer to
the annotations directly in an org file that functioned as an
annotation store. Much less overhead than trying to set up a
stripped-down stand-alone web annotation server, and if you can
produce json to match the hypothes.is API then you could make use of
that to publish and share annotations/links when you go to publish an
org document.

'selector': [{'type': 'FragmentSelector',
     'value': 'pes-1',
     'conformsTo': 'https://tools.ietf.org/html/rfc3236'},
    {'type': 'RangeSelector',
     'endOffset': 92,
     'startOffset': 86,
     'endContainer':
'/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]',
     'startContainer':
'/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]'},
    {'end': 3034, 'type': 'TextPositionSelector', 'start': 3028},
    {'type': 'TextQuoteSelector',
     'exact': '100kHz',
     'prefix': ' DC - 20kHz\nSampling frequency: ',
     'suffix': '\nOnboard stimulatorNeural Interf'}]}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]