diff --git a/README.org b/README.org index 02cf6c4..cb13484 100644 --- a/README.org +++ b/README.org @@ -11,6 +11,7 @@ Org-logseq supports to open [[https://github.com/logseq/logseq][logseq]]-style l + Display logseq block references in buffer as overlays: - =((6064f6c6-440a-46ca-b8df-59131adab5a1))= to =[[id:6064f6c6-440a-46ca-b8df-59131adab5a1][Block heading]]= - ={{embed ((6064f6c6-440a-46ca-b8df-59131adab5a1))}}= to the content of the referred block. ++ Download images stored in the logseq server to local. * Installation diff --git a/org-logseq.el b/org-logseq.el index d3c2d4c..af42226 100644 --- a/org-logseq.el +++ b/org-logseq.el @@ -486,5 +486,20 @@ object (e.g., within a comment). In these case, you need to use (org-logseq-activate) (org-logseq-deactivate))) +(defun org-logseq-download-images () + (interactive) + (save-excursion + (goto-char (point-min)) + (while (re-search-forward "https://cdn.logseq.com" nil t) + (let* ((context (org-element-context))) + (when (eq (car context) 'link) + (let ((link-begin (org-element-property :begin context)) + (link-end (org-element-property :end context)) + (path (org-element-property :raw-link context)) + (image-path (concat "images/" + (make-temp-name "org-logseq-") (format-time-string "-%Y%m%d.png")))) + (start-process "org logseq" nil "curl" path "--output" image-path) + (setf (buffer-substring link-begin link-end) (format "[[./%s]]" image-path)))))))) + (provide 'org-logseq) ;;; org-logseq.el ends here