#+title: Archive #+options: author:nil date:nil #+html_head: * Post processing :noexport: First we need to get all the posts #+name: collect-posts #+begin_src emacs-lisp (setq posts (nreverse (directory-files (expand-file-name "../content" default-directory) t "^[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9]-.+\\.org"))) #+end_src Then we want to format the content for inclusion. #+name: post-formatting #+begin_src emacs-lisp (defun post-item (file) (with-temp-buffer (insert-file-contents file) (setq keywords (org-collect-keywords '("TITLE" "SUBTITLE" "DATE"))) (format "+ @@html:@@ *%s* %s@@html:@@" (file-name-base file) (cadr (assoc "DATE" keywords)) (or (cadr (assoc "SUBTITLE" keywords)) (cadr (assoc "TITLE" keywords)))))) #+end_src * Output :ignore: #+begin_src emacs-lisp :noweb yes :results raw :exports results <> <> (mapconcat (lambda (p) (post-item p)) posts "\n") #+end_src