From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 2DpIIvsrs2KqDgEAbAwnHQ (envelope-from ) for ; Wed, 22 Jun 2022 16:49:31 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id MANBIvsrs2LnFgEA9RJhRA (envelope-from ) for ; Wed, 22 Jun 2022 16:49:31 +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 33D693AC73 for ; Wed, 22 Jun 2022 16:49:31 +0200 (CEST) Received: from localhost ([::1]:57728 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o41fe-0004DJ-5N for larch@yhetil.org; Wed, 22 Jun 2022 10:49:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o41el-0004Cv-2l for emacs-orgmode@gnu.org; Wed, 22 Jun 2022 10:48:35 -0400 Received: from mout01.posteo.de ([185.67.36.65]:49241) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o41ee-0000nd-Gd for emacs-orgmode@gnu.org; Wed, 22 Jun 2022 10:48:34 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 515F2240029 for ; Wed, 22 Jun 2022 16:48:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1655909306; bh=L0CD8uKCTCsSB9CipGxxS5cDK2AMW/iDY5+ljL/GAys=; h=From:To:Cc:Subject:Date:From; b=ZLLMWsAVgmJ2YU3kldtyQIZY7G5InrvYqZLlNfDw2oafWiIvq4TntRS0NKLYy63iH aQX/7DUEpGWT6G6PWaRn70RFA6gmGuAYkYP48FK4KFaOHCPenEUIWXZUbV9gjvxfTE dTjYF/8oM2oOKpb/6vPJ23wz9kHUQ1Q5lwWh0Ju0m3hivM0cbvBSeU0jlfRarLv8TV w9Cd9sbvNZ3x3AIDr+QrWbe9vJzU1p287Zkw7L/UGd9cIojuDIh3eiW6kBeOiTyUzG YPszE7kUyshBNQTRgNiObD8kvPBWZgyM1gCE/yC5p2IVVDASzuN87nYDo3ZB87kDbR LF/tPr1Jw/rzA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4LSmTj3p5Lz6tmL; Wed, 22 Jun 2022 16:48:25 +0200 (CEST) From: =?utf-8?Q?Juan_Manuel_Mac=C3=ADas?= To: indieterminacy Cc: orgmode Subject: Re: Org and Hyperbole References: <875ykvbffg.fsf@posteo.net> Date: Wed, 22 Jun 2022 14:48:23 +0000 In-Reply-To: (indieterminacy@libre.brussels's message of "Mon, 20 Jun 2022 18:24:47 +0200") Message-ID: <87mte4g3ew.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.65; envelope-from=maciaschain@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=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=1655909371; 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=1fD1sPxNFe7Y969smuEIXDqPf7c9ZLsoEMMvNE4Pgao=; b=ndVgGnbS9pJ6ROWuajanjK3NOpsj4BI3rx3mglwvXoRQo1/Wk7k2gYaylzo6LhG/QUu1BA 8lXievtS3m1fgeI50gEHYB6TwFBtKZ932XxfDJKoko/leWS4cpbgEnTJnslUZZJ57CyO19 CGl6VF/PWL2W4v4b9s7TtGdifk1SgRnKy9F67JbMv9fOfvFfiV678TokEUApZMvy6SParT qkVXDEsEqQyftm0tHbmyyK3D8+4eDIa8D8a3RMJEqRCCz833KcducSWjcfw8Dp8vbgDGle xxt4WI3a9g4jdhbZ7BnlVNOfrpaJIWtpKyu6xT58yHpuouDopJ6UtqVRD3vAjQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655909371; a=rsa-sha256; cv=none; b=GUa8MTh7TTmN920FF6Wn4HssWkDOXoi4lKmk+oDRksPBQAIrqB5RM4f3buAf4oCuupX5Lc oUoWXQ4AABCZ/fOhnhTvK/7YEXS2LVSoOqZFl/Q2QVXF7r84+cRZfoQ8UxFI8czv7lh7Cl +/OVuVDkjlMRljuOZoOlvcSdhkofgltgNvjmk0N9Etm+nCN6NeQ0EdGECM8Cs/tjsWzCc9 PTIa7dMBJ7S8lhNwzyCkvDENydql3mAMcqZL5GdNHFS1TRe+y3BqkkqTOBrYHH44+RR/tp PhZ4tl8FiYT6ouV6ISL2FoL+3DCkNV5NAwgVhJL1N4TpkZpYF1MDOCPw93EE0A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=ZLLMWsAV; dmarc=pass (policy=none) header.from=posteo.net; 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: -8.96 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=ZLLMWsAV; dmarc=pass (policy=none) header.from=posteo.net; 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: 33D693AC73 X-Spam-Score: -8.96 X-Migadu-Scanner: scn0.migadu.com X-TUID: h3PS4DrgTr11 Hi Jonathan, sorry for my late response, indieterminacy writes: > I recommend Hyperbole, though I must confess Ive been using Orgmode a=20 > lot less since Ive been focusing on the format GemText. > > I should recommend the use of the function defil, for people who like=20 > regexes and want to operate differing contexts (to launch via the ACTION= =20 > operator). Its mid-grade compared to the more simpler approach and the=20 > more complex eLisp approach. Thank you very much for all the very interesting information about hyperbol= e! I am liking the idea of implicit buttons more and more, and I see a few applications of this concept that I can find very practical. To play around with the defil function, which you recommend in your email, I've tried defining some 'contextual help' for LaTeX and Org. Specifically for Org it has occurred to me to convert some keywords into implicit buttons that point to the info pages. Something like this: #+begin_src emacs-lisp (defil org-attr-latex "#+" ":" "attr_latex\\|caption" (let ((el (org-element-at-point))) (cond ((eq (org-element-type el) 'src-block) (lambda (x) (info "(org)Source blocks in LaTeX export"))) ((eq (org-element-type el) 'table) (lambda (x) (info "(org)Tables in LaTeX export"))) ((eq (org-element-type el) 'plain-list) (lambda (x) (info "(org)Plain lists in LaTeX export"))) ((eq (org-element-type el) 'paragraph) (lambda (x) (info "(org)Images in LaTeX export"))) ((eq (org-element-type el) 'verse-block) (lambda (x) (info "(org)Verse blocks in LaTeX export"))) ((eq (org-element-type el) 'special-block) (lambda (x) (info "(org)Special blocks in LaTeX export"))) ((eq (org-element-type el) 'example-block) (lambda (x) (info "(org)Example blocks in LaTeX export"))) ((eq (org-element-type el) 'quote-block) (lambda (x) (info "(org)Quote blocks in LaTeX export")))))) (defil org-attr-html "#+" ":" "attr_html\\|caption" (let ((el (org-element-at-point))) (cond ((eq (org-element-type el) 'table) (lambda (x) (info "(org)Tables in HTML export"))) ((eq (org-element-type el) 'paragraph) (lambda (x) (info "(org)Images in HTML export")))))) (defil org-options-kw "#+" ":" "options" (lambda (x) (info "(org)Export Settings") (occur "=E2=80=98OPTIONS=E2=80=99"))) #+end_src I've also discovered the defib function, which allows you to define implicit buttons using predicates, instead of just using regular expressions and delimiters. Best regards, Juan Manuel=20