diff --git a/elfeed-export.el b/elfeed-export.el index 6d42f97..e04c724 100644 --- a/elfeed-export.el +++ b/elfeed-export.el @@ -55,24 +55,30 @@ The function takes an entry argument for extracting the desired value." :group 'elfeed-export) (defun elfeed-export--entry-date (entry) + "Return an ISO formatted date string for the given ENTRY." (format-time-string "%F %T" (elfeed-entry-date entry))) (defun elfeed-export--feed-title (entry) + "Return the feed title for the given ENTRY." (elfeed-feed-title (elfeed-entry-feed entry))) (defun elfeed-export--entry-feed (entry) + "Return the feed URL for the given ENTRY." (elfeed-feed-url (elfeed-entry-feed entry))) (defun elfeed-export--entry-content (entry) + "Return the content of the ENTRY." (elfeed-deref (elfeed-entry-content entry))) (defun elfeed-export--entry-to-alist (entry) + "Convert an ENTRY to an alist." (mapcar (lambda (field) (cons (symbol-name (car field)) (funcall (cdr field) entry))) elfeed-export-fields)) (defun elfeed-export--entries () + "Return all entries that need to be exported." (let ((entries) (feeds (elfeed-feed-list))) (dolist (feed feeds) @@ -82,9 +88,11 @@ The function takes an entry argument for extracting the desired value." (mapcar #'elfeed-export--entry-to-alist entries))) (defun elfeed-export-to-json () + "Return the JSON string for all entries that should be exported." (json-encode (elfeed-export--entries))) (defun elfeed-export-to-file (path) + "Write the JSON string to a file at PATH." (interactive "F") (write-region (elfeed-export-to-json) nil path nil nil nil t))