emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dired images in an Org buffer


From: Juan Manuel Macías
Subject: Dired images in an Org buffer
Date: Tue, 23 Nov 2021 16:52:42 +0000

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 



reply via email to

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