orgweb/site/blog/index.org

22 lines
1,002 B
Org Mode
Raw Normal View History

#+TITLE: Blog
* Posts
#+begin_src emacs-lisp :exports results :results list
(defun file-to-data (file)
(unless (or (string= file ".") (string= file "..") (string= file "index.org"))
(let (title date)
(with-temp-buffer
(insert-file (concat "/home/slash/var/src/orgweb/site/blog/" file))
(goto-char (point-min))
(re-search-forward "^#\\+TITLE: \\(.*\\)$")
(setq title (buffer-substring-no-properties
(match-beginning 1) (match-end 1)))
(goto-char (point-min))
(re-search-forward "^#\\+DATE: \\(.*\\)$")
(setq date (buffer-substring-no-properties
(match-beginning 1) (match-end 1))))
(list date (concat "[[file:" file "][" title "]]")))))
(mapcar #'cadr (sort (delete nil (mapcar #'file-to-data (directory-files "/home/slash/var/src/orgweb/site/blog"))) (lambda (el1 el2) (not (string-lessp (car el1) (car el2))))))
#+end_src