From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id MD2FHGGYtWLwzgAAbAwnHQ (envelope-from ) for ; Fri, 24 Jun 2022 12:56:33 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id QN+1G2GYtWIgHQEAG6o9tA (envelope-from ) for ; Fri, 24 Jun 2022 12:56:33 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D17BA3CE85 for ; Fri, 24 Jun 2022 12:56:32 +0200 (CEST) Received: from localhost ([::1]:51364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o4gzH-0004Nj-W8 for larch@yhetil.org; Fri, 24 Jun 2022 06:56:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4gye-0004NN-Pe for emacs-orgmode@gnu.org; Fri, 24 Jun 2022 06:55:52 -0400 Received: from libre.brussels ([2a01:4f8:201:1044::1]:47558) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o4gyc-00078Y-O5 for emacs-orgmode@gnu.org; Fri, 24 Jun 2022 06:55:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=libre.brussels; s=mail; t=1656068147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4uDbVgXS9NR2s1vRfX7GccdnUwfHkCO/G1IXiigFrK4=; b=RgWwDyTgPOHdMeNSovqAmY6jXRr3pkSvhSSM/5x815CDKXT7HDFaLkPFPS7DvKssXk8fZE DmCHRX6R9sMnE6XrFFq9/WRqSsgVC6vHQjRYfK/tlUreF+BqS4YFnZeUOH4L5B7R2vz1H/ pd8CTtZyloDBn2X3XVN7a5u4j5dVgXA= MIME-Version: 1.0 Date: Fri, 24 Jun 2022 12:55:47 +0200 From: indieterminacy To: Robert Weiner Cc: Samuel Wales , emacs-org list Subject: Re: Org and Hyperbole In-Reply-To: <813D3F10-3E3C-497F-9FD8-FE0DA13C2970@gmail.com> References: <813D3F10-3E3C-497F-9FD8-FE0DA13C2970@gmail.com> Message-ID: <7befc1b0378c484ad18e1d8103889ea7@libre.brussels> X-Sender: indieterminacy@libre.brussels Organization: Icebreaker Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a01:4f8:201:1044::1; envelope-from=indieterminacy@libre.brussels; helo=libre.brussels X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1656068193; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=4uDbVgXS9NR2s1vRfX7GccdnUwfHkCO/G1IXiigFrK4=; b=TT6f90WMnlkR18MHDx/+vAqEVCkbFLjVuEH7dvbtV+Y96kfrKwKj33abR7iLEmgzyN7Ony T3htL5ar84kOOLcQ5Mh4yd3CUJb3emIsD51jgb67+aTSUw3n33lKyPjHuainaqBok0w6Kr WNUu9p2IaprJAdboh2sBoMOxitjdfETw/dosRqqtRnOjVbleumCLJ9AB/Ont8bfmO9Wv03 ibdJpX+6U0D0y5G7MKsEcArZ7ta7NfZ8EgspdlolwcfK9JKyJDmLRBPlorO+juHdd0SSdX DuCqJV355KkA6OpQUxHeV1XrifjsQRluVEx7WAFBG/6hpEy8fIrPeCEubVLBBw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1656068193; a=rsa-sha256; cv=none; b=hiMilLPulNOtb/Fw+qW9roxl4jBXW99Hdc23/idUEVwo9KJlYre+QcXyHLmbbl8hWHchxB 6+sEJtRhVRJaTfpqwZwpgnLZLkWGQICKZzuNntkHWNpzqqfJNUjRZ03AWVosSJxGQjvbbo xHly1noFb5Huj/uki694nRwpsTVE7JMq3sXFgJZ84OScry87PcMBVSGOX+U9FMYYYPWQTX SanmMzBn4jsoX/6mE/Hz4Ymn4MiiCcPj251T5DYtOL78rAVbRw5o7PiPECq/Usj/8fxON0 c2RR0tyTeaKSwRcGRNegwKm39mK/FlKd9I6SN89UlkW/MPHsgzlAvkTs1dNkCA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=libre.brussels header.s=mail header.b=RgWwDyTg; dmarc=pass (policy=none) header.from=libre.brussels; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -7.46 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=libre.brussels header.s=mail header.b=RgWwDyTg; dmarc=pass (policy=none) header.from=libre.brussels; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: D17BA3CE85 X-Spam-Score: -7.46 X-Migadu-Scanner: scn0.migadu.com X-TUID: 1cgJ6EWq69aW Hi Robert, On 24-06-2022 07:34, Robert Weiner wrote: > Hi Samuel: > >> On Jun 24, 2022, at 12:32 AM, Samuel Wales >> wrote: >> >> hi robert, welcome to the org list and thanks for your offer. >> >> for starters, does hyperbole have any concept of links that are: >> >> - unbreakable [like org-id] > > This one is not so simple to answer. Hyperbole only uses > perma-hyperlink anchors in its Koutliner format. But it would be > straightforward to add a UUID-type id for use elsewhere. >> >> - bidirectional [link a goes to link b; link b goes to link a], or, >> reversible via command to say "what links here?" [by any mechanism. >> if desired, please see "id markers" concept on this list for >> unbreakable bidirectional links and more stuff] > > Hyperbole does not have bi-directional links, only a history function > to move back through followed node paths. We have started thinking > about this need recently. > > — rsw Improvements to the backend of Koutliner would be useful, especially as (if I recall from the documentation) the API aspects are not so clearly defined. Bi-directionality would be a priority IMHO, especially to facilitate the updating of all links targeting a specific block should it move. At the moment, each link self updates when it identifies a reference which needs to be updated but that comes across as an expediency (which I mitigate with direty look running through links to validate they are functional). It would be great to achieve this with an 'eventual-consistency' type way, given that files could come in and out of a system or network. Similarly, allowing the perma-hyperlink anchors to be transferred would really mature the format. Here are some umble functions I use to facilitate moving blocks into other files: https://git.sr.ht/~indieterminacy/1q20bwb_oq_transferring_emacs/tree/main/item/kqk_kq_blocks_koutliner.el They at least avoid being descructive, as after moving the block becomes a pointer to where the moved block ended up in the other dcoument - but it feels like a fudge which could turn some documents into spaghetti. While Im sure that you are planning on solving these problems within eLisp, I should point out that I shall have a Koutliner parser, written in TXR (soon to be finalised, Ive had some familial and health impedencies recently). Here is a WIP https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean And a (rough) example https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean#examples I do need to add some facets (I suspect the linking for other blocks is in a seperate script). I shall also be integrating the parser with GemText (Orgmode would be nice one day too). https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext/ I do quite like TXR's datalisp format but I havent gotten around to finding a way to slurping it up into eLisp. I feel like it should be easy to resolve but its not a query which is easy given SEO search. The way Ill be approaching this interpreter is that it could search the aggregate or a journey from one document. Being able to have an overview of multiple documents is something I consider to be helpful, given the domain of cross-referencing. and FYI, I will be working on outputting RDF from Koutliner and GemText analyses. -- Jonathan McHugh indieterminacy@libre.brussels