mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-24 07:20:29 +00:00
org-irc.el: Add proper export functions for irc
* lisp/org-irc.el (org-irc-export): Add a new function, org-irc-export, which properly exports irc links to html and markdown * lisp/ox-md.el (org-md-link): Remove workaround to get irc links working properly in ox-md, and use org-irc's export functions instead
This commit is contained in:
parent
3056abe781
commit
405555ec5c
@ -71,7 +71,10 @@
|
||||
|
||||
;; Generic functions/config (extend these for other clients)
|
||||
|
||||
(org-link-set-parameters "irc" :follow #'org-irc-visit :store #'org-irc-store-link)
|
||||
(org-link-set-parameters "irc"
|
||||
:follow #'org-irc-visit
|
||||
:store #'org-irc-store-link
|
||||
:export #'org-irc-export)
|
||||
|
||||
(defun org-irc-visit (link)
|
||||
"Parse LINK and dispatch to the correct function based on the client found."
|
||||
@ -245,6 +248,16 @@ default."
|
||||
;; no server match, make new connection
|
||||
(erc-select :server server :port port))))
|
||||
|
||||
(defun org-irc-export (link description format)
|
||||
"Export an IRC link.
|
||||
See `org-link-parameters' for details about LINK, DESCRIPTION and
|
||||
FORMAT."
|
||||
(let ((desc (or description link)))
|
||||
(pcase format
|
||||
(`html (format "<a href=\"irc:%s\">%s</a>" link desc))
|
||||
(`md (format "[%s](irc:%s)" desc link))
|
||||
(_ nil))))
|
||||
|
||||
(provide 'org-irc)
|
||||
|
||||
;; Local variables:
|
||||
|
@ -449,7 +449,7 @@ a communication channel."
|
||||
(t (let* ((raw-path (org-element-property :path link))
|
||||
(path
|
||||
(cond
|
||||
((member type '("http" "https" "ftp" "mailto" "irc"))
|
||||
((member type '("http" "https" "ftp" "mailto"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(org-export-file-uri (funcall link-org-files-as-md raw-path)))
|
||||
|
Loading…
Reference in New Issue
Block a user