[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Integrating eev and org-capture/org-capture-set-target-location
From: |
Jean Louis |
Subject: |
Re: Integrating eev and org-capture/org-capture-set-target-location |
Date: |
Sat, 5 Jun 2021 02:33:16 +0300 |
User-agent: |
Mutt/2.0.7+183 (3d24855) (2021-05-28) |
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 "<title>\\(.*\\)</title>" string)))
(if match
(replace-regexp-in-string "<title>\\|</title>" "" (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/