#+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