summaryrefslogtreecommitdiff
path: root/repo/www/preprocess-org.el
diff options
context:
space:
mode:
Diffstat (limited to 'repo/www/preprocess-org.el')
-rw-r--r--repo/www/preprocess-org.el20
1 files changed, 20 insertions, 0 deletions
diff --git a/repo/www/preprocess-org.el b/repo/www/preprocess-org.el
new file mode 100644
index 0000000..f7be936
--- /dev/null
+++ b/repo/www/preprocess-org.el
@@ -0,0 +1,20 @@
+(defun preprocess-org (input)
+ (with-temp-buffer
+ (insert-file-contents input)
+ (org-mode)
+ (while (re-search-forward org-heading-regexp nil t)
+ (save-excursion
+ (save-match-data
+ (when-let ((tags (org-get-tags (point))))
+ (insert "\n#+begin_tags\n")
+ (dolist (tag tags)
+ (insert "- " tag "\n"))
+ (insert "#+end_tags\n")))))
+ (let ((org-export-with-properties t)
+ (org-export-with-section-numbers nil)
+ (org-export-with-sub-superscripts '{})
+ (org-export-with-tags nil)
+ (org-export-with-title nil)
+ (org-export-with-toc nil))
+ (org-md-export-as-markdown))
+ (princ (buffer-string))))