Hi Carsten, Carsten Dominik <carsten.domi...@gmail.com> writes:
> On May 12, 2010, at 7:39 AM, Baoqiu Cui wrote: > > ... > >> I like the idea of inline image display too, but hit the similar >> problems. After reading the code in org.el, I found that the inline >> image file link has to start with either "file:" or "./". >> >> For example, the following two links are OK: >> >> [[file:~/images/myImage.png]] >> [[./figures/org-mode-unicorn.svg]] >> >> but the following two are not: >> >> [[Screenshot.png]] > > This one I do not want to support, because it limits what other things > we > can do with links. > >> [[~/images/myImage.png]] > > This one on the other hand should be supported, I like that. Can you > please modify the patch accordingly? I believe this will also require > corresponding changes in the exporter(s) somewhere... OK, I modified the patch a little bit and came up with a version (see below) that can handle the following 7 cases. Please check if it looks good to you. I don't see any needed exporter changes so far... ------------------------------------------------------------------------ * Test Inline Images 1. [[file:~/Org/GNU.png]] 2. [[file:GNU.png]] 3. [[./figures/GNU.png]] 4. [[../tmp/figures/GNU.png]] 5. [[~/Org/GNU.png]] 6. [[~bcui/Org/GNU.png]] 7. [[/tmp/GNU.png]] ------------------------------------------------------------------------
diff --git a/lisp/org.el b/lisp/org.el index 0381a26..51230b3 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -15502,12 +15502,14 @@ with a description part will be inlined." (interactive "P") (org-remove-inline-images) (goto-char (point-min)) - (let ((re (concat "\\[\\[\\(file:\\|\\./\\)\\(~?" "[-+./_0-9a-zA-Z]+" + (let ((re (concat "\\[\\[\\(\\(file:\\)\\|\\([./~]\\)\\)\\([-+~./_0-9a-zA-Z]+" (substring (org-image-file-name-regexp) 0 -2) "\\)\\]" (if include-linked "" "\\]"))) file ov) (while (re-search-forward re nil t) - (setq file (expand-file-name (match-string 2))) + (setq file (expand-file-name + (concat (or (match-string 3) "") + (match-string 4)))) (when (file-exists-p file) (setq ov (make-overlay (match-beginning 0) (match-end 0))) (overlay-put ov 'display (create-image file))
Thanks, -- Baoqiu
_______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode