From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Integrating eev and org-capture/org-capture-set-target-location Date: Sat, 5 Jun 2021 02:33:16 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27306"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.7+183 (3d24855) (2021-05-28) Cc: help-gnu-emacs To: Eduardo Ochs Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jun 05 01:38:25 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lpJOR-0006sZ-Vm for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 05 Jun 2021 01:38:23 +0200 Original-Received: from localhost ([::1]:59132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lpJOQ-0000MR-Ga for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 04 Jun 2021 19:38:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lpJO4-0000M2-KV for help-gnu-emacs@gnu.org; Fri, 04 Jun 2021 19:38:00 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:47301) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lpJO2-0006Eh-Gg for help-gnu-emacs@gnu.org; Fri, 04 Jun 2021 19:38:00 -0400 Original-Received: from localhost ([::ffff:41.202.241.20]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000AE2B0.0000000060BAB953.00004944; Fri, 04 Jun 2021 16:37:55 -0700 Mail-Followup-To: Eduardo Ochs , help-gnu-emacs Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:130544 Archived-At: Is this the way to make an universal link launchable by eev key bindings? (browse-url "https://www.example.com") For me that sounds 50% good, following would be better, more visual and descriptive: (WWW "https://www.example.com" "Example Website") And this link, should be self-updateable: (WWW "https://www.example.com") If user presses prefix like C-u M-e then such link would update itself into: (WWW "https://www.example.com" "Example Website") You could study these functions and find out how to fetch the URL, how to extract title, functions are not perfect, it would be better to decode some HTML. (defun hyperscope-fetch-title (url) "Return title for URL or if there is no match url." (let* ((string (hyperscope-url-to-string url)) (match (string-match "\\(.*\\)" string))) (if match (replace-regexp-in-string "\\|" "" (match-string 0 string)) url))) (defun hyperscope-url-to-string (url) "Fetch URL and return as string." (url-retrieve-synchronously url) (let ((buffer (url-retrieve-synchronously url))) (with-current-buffer buffer (buffer-string)))) Some highlighting: (defun rcd-highlight-list (list) "Uses LIST to highlight strings in buffer." (hi-lock-mode) (let* ((list (delete "" list)) (highlights hi-lock-face-defaults)) (while list (highlight-regexp (regexp-quote (pop list)) (pop highlights))))) (rcd-highlight-list '("WWW" "Set")) I suggest exploring highlighting options as that could make the eev buffer more visual. The eev is a hypertext system: https://en.wikipedia.org/wiki/Hypertext with many implementations: https://en.wikipedia.org/wiki/Hypertext#Implementations and in Hyperscope there are types, like: Action Asciidoc Asciidoctor "Asciidoctor with" PDF DISEASE DJVU DONE Directory "Directory Action ➜" EPUB "Emacs Lisp" "Emacs Lisp Hyperlink" Enriched FOLLOW-UP File HTML, etc. So that gives me idea that I could be exporting the system into `eev' files, with highlighting and generate automatically hyperlinks such as: (Set 29 "People") (WWW 38233 "Modular Buildings & Prefab Homes | Karmod Construction") As that way Hyperscope would activate the ID 38233 and open up the website. I also believe that quoting could be excluded: (WWW 38233 Modular Buildings & Prefab Homes | Karmod Construction) And it works this way: (defmacro WWW (id &rest args) (hyperscope-tabulated-action id) ;; open up action based on the type (espeak (mapconcat 'symbol-name args " "))) ;; speak symbols as string It would be nice to highlight the symbols "Modular Buldings.. Construction" only but I don't know how to do it. I can easier generate eev style links then Org buffers. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/