all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Dired images in an Org buffer
@ 2021-11-23 16:52 Juan Manuel Macías
  0 siblings, 0 replies; only message in thread
From: Juan Manuel Macías @ 2021-11-23 16:52 UTC (permalink / raw)
  To: orgmode

Hi,

I don't like image-dired thumbnails, so I wrote this function to preview all
images in a directory in an Org buffer. I share it here, in case it is
useful to someone:

#+begin_src emacs-lisp
  (defun my-org-img-dired-preview ()
    (interactive)
    (if (not (derived-mode-p 'dired-mode))
	(error "not in dired")
      (let* ((dir-name default-directory)
	     (buf (concat "*" dir-name "--images *")))
	(setq my-img-dired-list nil)
	(save-excursion
	  (goto-char (point-min))
	  (while (re-search-forward "\\.png\\|\\.jpg\\|\\.tif" nil t)
	    (let* ((img-path (dired-get-filename)))
	      (add-to-list 'my-img-dired-list img-path t))))
	(when (get-buffer buf)
	  (kill-buffer buf))
	(get-buffer-create buf)
	(set-buffer buf)
	(org-mode)
	(let ((img-list (mapconcat (lambda (el)
				     (let ((link (concat "[[file:" el "]]")))
				       link))
				   my-img-dired-list
				   "\n\n"))
	      (img-num (number-to-string
			(length my-img-dired-list))))
	  (insert (concat "* Images in " dir-name "\n\n"))
	  (insert (concat img-num " files:\n\n"))
	  (insert img-list)
	  (org-toggle-inline-images))
	(pop-to-buffer buf)
	(beginning-of-buffer))))

  (with-eval-after-load 'dired
    (define-key dired-mode-map (kbd "P") 'my-org-img-dired-preview))
#+end_src

Best regards,

Juan Manuel 


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-23 16:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-23 16:52 Dired images in an Org buffer Juan Manuel Macías

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.