forked from mirrors/org-mode
Update export back-ends wrt "file" link changes
* lisp/ox-latex.el (org-latex-link): * lisp/ox-html.el (org-html-link): Do not expand absolute file names and do not try to fix hierarchy part, as it is already taken care of at the parser level. * lisp/ox-md.el (org-md-link): Ditto. Also fix absolute file names. * lisp/ox-odt.el (org-odt-link): * lisp/ox-man.el (org-man-link): * lisp/ox-texinfo.el (org-texinfo-link): * contrib/lisp/ox-groff.el (org-groff-link): Ditto. Do not prepend scheme part to relative file names either. * contrib/lisp/ox-deck.el (org-deck-link): Small refactoring.
This commit is contained in:
parent
b49cbf1338
commit
9dac00129d
|
@ -378,7 +378,7 @@ the \"slide\" class will be added to the to the list element,
|
|||
|
||||
(defun org-deck-link (link desc info)
|
||||
(replace-regexp-in-string "href=\"#" "href=\"#outline-container-"
|
||||
(org-html-link link desc info)))
|
||||
(org-export-with-backend 'html link desc info)))
|
||||
|
||||
(defun org-deck-template (contents info)
|
||||
"Return complete document string after HTML conversion.
|
||||
|
|
|
@ -1253,12 +1253,8 @@ INFO is a plist holding contextual information. See
|
|||
(path (cond
|
||||
((member type '("http" "https" "ftp" "mailto"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(when (string-match "\\(.+\\)::.+" raw-path)
|
||||
(setq raw-path (match-string 1 raw-path)))
|
||||
(if (file-name-absolute-p raw-path)
|
||||
(concat "file://" (expand-file-name raw-path))
|
||||
(concat "file://" raw-path)))
|
||||
((and (string= type "file") (file-name-absolute-p raw-path))
|
||||
(concat "file://" raw-path))
|
||||
(t raw-path)))
|
||||
protocol)
|
||||
(cond
|
||||
|
|
|
@ -2667,13 +2667,12 @@ INFO is a plist holding contextual information. See
|
|||
(setq raw-path
|
||||
(funcall link-org-files-as-html-maybe raw-path info))
|
||||
;; If file path is absolute, prepend it with protocol
|
||||
;; component - "file://".
|
||||
(cond ((file-name-absolute-p raw-path)
|
||||
(setq raw-path
|
||||
(concat "file://" (expand-file-name
|
||||
raw-path))))
|
||||
((and home use-abs-url)
|
||||
(setq raw-path (concat (file-name-as-directory home) raw-path))))
|
||||
;; component - "file:".
|
||||
(cond
|
||||
((file-name-absolute-p raw-path)
|
||||
(setq raw-path (concat "file:" raw-path)))
|
||||
((and home use-abs-url)
|
||||
(setq raw-path (concat (file-name-as-directory home) raw-path))))
|
||||
;; Add search option, if any. A search option can be
|
||||
;; relative to a custom-id or a headline title. Any other
|
||||
;; option is ignored.
|
||||
|
|
|
@ -1799,9 +1799,8 @@ INFO is a plist holding contextual information. See
|
|||
(path (cond
|
||||
((member type '("http" "https" "ftp" "mailto"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(if (not (file-name-absolute-p raw-path)) raw-path
|
||||
(concat "file://" (expand-file-name raw-path))))
|
||||
((and (string= type "file") (file-name-absolute-p raw-path))
|
||||
(concat "file:" raw-path))
|
||||
(t raw-path)))
|
||||
protocol)
|
||||
(cond
|
||||
|
|
|
@ -638,21 +638,15 @@ CONTENTS is nil. INFO is a plist holding contextual information."
|
|||
DESC is the description part of the link, or the empty string.
|
||||
INFO is a plist holding contextual information. See
|
||||
`org-export-data'."
|
||||
|
||||
(let* ((type (org-element-property :type link))
|
||||
(raw-path (org-element-property :path link))
|
||||
;; Ensure DESC really exists, or set it to nil.
|
||||
(desc (and (not (string= desc "")) desc))
|
||||
|
||||
(path (cond
|
||||
((member type '("http" "https" "ftp" "mailto"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(when (string-match "\\(.+\\)::.+" raw-path)
|
||||
(setq raw-path (match-string 1 raw-path)))
|
||||
(if (file-name-absolute-p raw-path)
|
||||
(concat "file://" (expand-file-name raw-path))
|
||||
(concat "file://" raw-path)))
|
||||
((and (string= type "file") (file-name-absolute-p raw-path))
|
||||
(concat "file:" raw-path))
|
||||
(t raw-path)))
|
||||
protocol)
|
||||
(cond
|
||||
|
|
|
@ -321,12 +321,12 @@ a communication channel."
|
|||
(cond
|
||||
((member type '("http" "https" "ftp"))
|
||||
(concat type ":" raw-path))
|
||||
((equal type "file")
|
||||
((string= type "file")
|
||||
(let ((path (funcall link-org-files-as-md raw-path)))
|
||||
(if (not (file-name-absolute-p path)) path
|
||||
;; If file path is absolute, prepend it
|
||||
;; with "file://" component.
|
||||
(concat "file://" (expand-file-name raw-path)))))
|
||||
;; with "file:" component.
|
||||
(concat "file:" path))))
|
||||
(t raw-path))))
|
||||
(if (not contents) (format "<%s>" path)
|
||||
(format "[%s](%s)" contents path)))))))
|
||||
|
|
|
@ -2713,10 +2713,8 @@ INFO is a plist holding contextual information. See
|
|||
(path (cond
|
||||
((member type '("http" "https" "ftp" "mailto"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(if (file-name-absolute-p raw-path)
|
||||
(concat "file://" (expand-file-name raw-path))
|
||||
(concat "file://" raw-path)))
|
||||
((and (string= type "file") (file-name-absolute-p raw-path))
|
||||
(concat "file:" raw-path))
|
||||
(t raw-path)))
|
||||
;; Convert & to & for correct XML representation
|
||||
(path (replace-regexp-in-string "&" "&" path))
|
||||
|
|
|
@ -1222,10 +1222,8 @@ INFO is a plist holding contextual information. See
|
|||
(path (cond
|
||||
((member type '("http" "https" "ftp"))
|
||||
(concat type ":" raw-path))
|
||||
((string= type "file")
|
||||
(if (file-name-absolute-p raw-path)
|
||||
(concat "file://" (expand-file-name raw-path))
|
||||
(concat "file://" raw-path)))
|
||||
((and (string= type "file") (file-name-absolute-p raw-path))
|
||||
(concat "file:" raw-path))
|
||||
(t raw-path)))
|
||||
(email (if (string= type "mailto")
|
||||
(let ((text (replace-regexp-in-string
|
||||
|
|
Loading…
Reference in New Issue