   (ar/file-assert-file-exists (getenv "GRAPHVIZ_DOT"))
   (with-current-buffer (find-file-noselect (expand-file-name
                                             "~/stuff/active/blog/index.org"))
-    (org-html-export-to-html)
-    (browse-url (format "file:%s" (expand-file-name
-                                   "~/stuff/active/blog/index.html")))))
+    (let ((org-time-stamp-custom-formats
+           '("<%d %B %Y>" . "<%A, %B %d, %Y %H:%M>"))
+          (org-display-custom-times 't))
+      (unwind-protect
+          (advice-add 'org-timestamp-translate
+                      :around
+                      'ar/ox-html--timestamp-translate-advice-fun)
+        (advice-remove 'org-timestamp-translate
+                       'ar/ox-html--timestamp-translate-advice-fun))
+      (browse-url (format "file:%s" (expand-file-name
+                                     "~/stuff/active/blog/index.html"))))))
 
 (setq org-html-head-extra
       "<style type='text/css'>

  (setq org-html-postamble nil)
  (setq org-html-format-drawer-function #'ar/ox-html-export-format-drawer))

(defun ar/ox-html-export ()
  "Export blog to HTML."
  (interactive)


(defun ar/ox-html-filter-timestamp-in-drawer-content (content)
  "Remove unnecessary HTML from exported modified CONTENT drawer."
  (string-match "<span class=\"timestamp\">\\(.*?\\)</span>" content)
  (match-string 1 content))

(defun ar/ox-html-export-format-drawer (name content)
  "Format drawer NAME and CONTENT for HTML export."
  (concat "<span class=\"modified-timestamp\">"
          "  <em>"
          (ar/ox-html-filter-timestamp-in-drawer-content content)
          "  updated"
