diff options
Diffstat (limited to 'site/blog/index.org')
-rw-r--r-- | site/blog/index.org | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/site/blog/index.org b/site/blog/index.org new file mode 100644 index 0000000..5630590 --- /dev/null +++ b/site/blog/index.org @@ -0,0 +1,21 @@ +#+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 |