help-gnu-emacs
[Top][All Lists]
Advanced

[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/



reply via email to

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