This extension facilitates moving images from point A to point B.
Point A (the source) can be:
- An image inside your browser that you can drag to Emacs.
- An image on your file system that you can drag to Emacs.
- A local or remote image address in kill-ring.
Use the
org-download-yank
command for this. Remember that you can use "0 w" indired
to get an address. - A screenshot taken using
gnome-screenshot
,scrot
,gm
,xclip
(on Linux),screencapture
(on OS X) or ,imagemagick/convert
(on Windows). Use theorg-download-screenshot
command for this. Customize the backend withorg-download-screenshot-method
.
Point B (the target) is an Emacs org-mode
buffer where the inline
link will be inserted. Several customization options will determine
where exactly on the file system the file will be stored.
They are:
org-download-method
:
- 'attach => use
org-mode
attachment machinery - 'directory => construct the directory in two stages:
-
first part of the folder name is:
-
either "." (current folder)
-
or
org-download-image-dir
(if it's not nil).org-download-image-dir
becomes buffer-local when set, so each file can customize this value, e.g with:-*- mode: Org; org-download-image-dir: "~/Pictures/foo"; -*-
To set it for all files at once, use this:
(setq-default org-download-image-dir "~/Pictures/foo")
-
-
second part is:
-
org-download-heading-lvl
is nil => "" -
org-download-heading-lvl
is n => the name of current heading with level n.Level count starts with 0, i.e. * is 0, ** is 1, *** is 2 etc.
org-download-heading-lvl
becomes buffer-local when set, so each file can customize this value, e.g with:-*- mode: Org; org-download-heading-lvl: nil; -*-
-
-
org-download-timestamp
:
optionally add a timestamp to the file name.
Customize org-download-backend
to choose between url-retrieve
(the default) or wget
or curl
.
(require 'org-download)
;; Drag-and-drop to `dired`
(add-hook 'dired-mode-hook 'org-download-enable)
If you have the image stored in the clipboard, use org-download-clipboard
.