emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Org and Hyperbole


From: indieterminacy
Subject: Re: Org and Hyperbole
Date: Mon, 20 Jun 2022 18:24:47 +0200

Hi Juan,

On 20-06-2022 16:03, Juan Manuel Macías wrote:
Hi,

I've been intrigued with GNU Hyperbole for a while. I'm reading the
documentation and trying it out a bit. It seems that its button system
is very powerful. But Org links are also powerful (and exportable), and
can be extended outside of Org docs. It seems that hyperbole offers some
cool stuff that Org also has. And other things that are not in Org. I
find some parts a bit confusing. I wonder if anyone is using hyperbole
with Org and can put here some minimal workflow example where both
complement each other in some way. Just in case I'm missing something
useful...


I recommend Hyperbole, though I must confess Ive been using Orgmode a lot less since Ive been focusing on the format GemText.

I should recommend the use of the function defil, for people who like regexes and want to operate differing contexts (to launch via the ACTION operator). Its mid-grade compared to the more simpler approach and the more complex eLisp approach.

While I have not fully applied this technique to my workflow, you can see some /stub/ experimentations that are used to provide different function calls based upon where the cursor is in the context of a specific annotation (namely my annotation approach, Qiuy).

https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/cqc_mqm_interfacing_blooms.el

The logic for the example includes:

<function-call> <function-name> <opening-regex> <closing-regex> <cursor-regex> <result-from-context> <options>

As you see below, these things build through to build multiple cursor based contexts.
```
(defil qiuy-1q10hqh_1 "^" "q10hqh.*" "1" "{M-: (print \"context_1 1q\") RET}" t t) (defil qiuy-1q10hqh_2 "^1" "10hqh.*" "q" "{M-: (print \"context_2 [1-6]q\") RET}" t t) (defil qiuy-1q10hqh_3 "^1q" "0hqh.*" "1" "{M-: (print \"context_3 1q10\") RET}" t t) (defil qiuy-1q10hqh_4 "^1q1" "hqh.*" "0" "{M-: (isearch-forward-symbol \"q10\") RET}" t t) (defil qiuy-1q10hqh_5 "^1q10" "qh.*" "h" "{M-: (rg-project \"hqh\" \".*\") RET}" t t) (defil qiuy-1q10hqh_6 "^1q10h" "h.*" "q" "{M-: (print \"context_6 1q10hqh\") RET}" t t) (defil qiuy-1q10hqh_7_\s "^1q10hqh" "$" "\s(.*)" "{M-: (print \"context_7_\s 1q10hqh \\&\") RET}" t t) (defil qiuy-1q10hqh_7_\t "^1q10hqh" "$" "\t(.*)" "{M-: (print \"context_7_\t 1q10hqh \\&\") RET}" t t) (defil qiuy-1q10hqh_7_- "^1q10hqh" "$" "-(.*)" "{M-: (print \"context_7_- 1q10hqh \\&\") RET}" t t) (defil qiuy-1q10hqh_7__ "^1q10hqh" "$" "_(.*)" "{M-: (print \"context_7__ 1q10hqh \\&\") RET}" t t)
```

Documentation for the function defil can be found here:
https://www.gnu.org/software/hyperbole/man/hyperbole.html#Implicit-Button-Link-Types


The Hyperbole ML is quiet but friendly and informative.

Having examined Hyperbole more broadly, I do wonder if there was more of a policy to treat Orgmode as more of a parrallel concern. Today, there is clearly a proactive effort to align and encourage cross usage. To hear that somebody as accomplished as yourself is dabbling with Hyperbole pleases me no end.

It may be worth you visiting one of my knowledge repos here:
https://git.sr.ht/~indieterminacy/3q50cqc_oq_interfaces_emacs

As well as (over time) checking on on these search parameters for my username:
https://git.sr.ht/~indieterminacy/?search=hyperbole
https://git.sr.ht/~indieterminacy/?search=koutliner

Of note, I should mention my own project, Icebreaker - which has been augmenting the GemText format with terse syntaxes and formats - including Hyperboles Koutliner format (which if I understand may be able to include orgmode tables in its blocks with the new version - I could be wrong here).

Here is a WIP parser written in TXR - for parsing Koutliner blocks (with or without my Qiuy annotations) and expressing it as a datalisp:
https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean

I shall be tightening it up soon, including integrating it with a WIP GemText parser (its terser atm but missing a little):
https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext

An NLNet funded project, I am going to later be exporting some of this information into simple Orgmode syntax as a subset of one of the deliverables. An earlier protyping is covered here in a more recent Fosdem talk:
https://fosdem.org/2022/schedule/event/minimalsyntaxes/

Im happy to answer any more questions with regards to this in this thread or elsewhere.

It may be worth highlighting a matrix room my Icebreaker project runs to reduce clutter from other MLs. The members there are friendly, knowledgable and use Orgmode for a range of tasks:
https://matrix.to/#/#xq_icebreaker:matrix.org


You are a clear and concise writer and coder. I would love to hear the outcomes from this exploration.

If I recall you are an emacspeak user - which I seem to think has been praised for its integration with Hyperbole so that should be more than enough justification to really get into it.

Kind regards,


--
Jonathan McHugh
indieterminacy@libre.brussels



reply via email to

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