22 lines
1,002 B
Org Mode
22 lines
1,002 B
Org Mode
|
#+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
|