Thx Oleh ,This is really amazing!

Ive been waiting for ages for something like this. a few questions
(well ok"requests" :)..) if you
dont mind. please bare in mind i have zero coding skills (or understanding
so my questions may be stupid :))

1.i use alot of images and :in alot of headings and sub headings and the
current method creates tens of folders. can you make an option to store all
images in a central location, IE ~/org/images? also Torstens suggestion of
adding a date to the file name makes alot of sense :)

2.can you add an option to add a local file (IE drag a jpg/png from a
folder) or even better yet build into the script a screenshot ability
function (using scrot etc) like in the following script:

http://lists.gnu.org/archive/html/emacs-orgmode/2013-05/msg00873.html


3.maybe perhaps a text scraper that would do the same for formatted text,
so one would mark a section in the browser, and drag it into org (and the
script would automagicly would get rid of the html yuckyness << notice my
highly technical coding terms and knowledge)

best and thanks alot!

Z

On Wed, Oct 16, 2013 at 4:48 PM, Torsten Wagner <torsten.wag...@gmail.com>wrote:

> This looks like a nice feature!
> Maybe you could add to save the address and date the picture was taken,
> thus, one could easily refer to the image origin. That is sometimes of
> importance.
>
> Thanks for sharing
>
> Torsten
>
>
>
> On 16 October 2013 12:04, Oleh <ohwoeo...@gmail.com> wrote:
>
>> Hi all,
>>
>> Here's a little hack that I use to make my life easier:
>>
>> (require 'async)
>> (eval-when-compile
>>   (require 'cl))
>> (defun org-store-image (link basedir)
>>   (async-start
>>    `(lambda() (shell-command
>>           ,(format "wget \"%s\" -P \"%s\""
>>                    link
>>                    (expand-file-name basedir))))
>>    (lexical-let ((cur-buf (current-buffer)))
>>      (lambda(x)
>>        (with-current-buffer cur-buf
>>          (org-display-inline-images))))))
>>
>> (defun org-store-image-clipboard (link)
>>   "Save image at address LINK to current directory's subdirectory DIR.
>> DIR is the name of the current level 0 heading."
>>   (interactive (list (current-kill 0)))
>>   (let ((filename (car (last (split-string link "/"))))
>>         (dir (save-excursion
>>                (org-up-heading-all (1- (org-current-level)))
>>                (substring-no-properties
>>                 (org-get-heading)))))
>>     (if (null (image-type-from-file-name filename))
>>         (message "not an image URL")
>>       (unless (file-exists-p (expand-file-name filename dir))
>>         (org-store-image link dir))
>>       (insert (format "[[./%s/%s]]" dir filename))
>>       (org-display-inline-images))))
>>
>> (setcdr (assoc "^\\(https?\\|ftp\\|file\\|nfs\\)://" dnd-protocol-alist)
>> 'dnd-org-insert)
>>
>> (defun dnd-org-insert (uri action)
>>   (org-store-image-clipboard uri))
>>
>> When it's a plain image, I can just drag it from the browser to org-mode.
>> It will be downloaded in async to a subdirectory of the current directory
>> and the link will be inserted
>> at point.
>> For stubborn images that are links I can right click to copy image
>> location and call
>> `org-store-image-clipboard' interactively.
>>
>> I hope it's useful to someone and that I'm not re-implementing standard
>> functionality.
>>
>> regards,
>> Oleh
>>
>> regards,
>> Oleh
>>
>
>

Reply via email to