You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
3.0 KiB
EmacsLisp

(defun asal-post ()
(interactive)
(goto-char (point-min))
(while (re-search-forward "<div id=\"content\"" nil t)
(replace-match "<article id=\"content\""))
(goto-char (point-min))
(while (re-search-forward "<div id=\"outline-container-" nil t)
(replace-match "<section id=\"outline-container-"))
(goto-char (point-min))
(while (re-search-forward "</div>\n</div>" nil t)
(replace-match "</div>\n</section>"))
(goto-char (point-min))
(while (re-search-forward "<hr />\n\n<p>" nil t)
(replace-match "</section>\n<section>\n<p class=\"newthought\">"))
(goto-char (point-min))
(while (re-search-forward "<hr>\n\n<p>" nil t)
(replace-match "</section>\n<section>\n<p class=\"newthought\">"))
(goto-char (point-min))
(while (re-search-forward "<div class=\"outline-text-2\" id=\".*\">" nil t)
(replace-match ""))
(goto-char (point-min))
(while (re-search-forward "<div id=\"postamble\" class=\"status\">" nil t)
(replace-match ""))
(goto-char (point-min))
(while (re-search-forward "<p class=\"validation\"><a href=.*>Validate</a></p>" nil t)
(replace-match ""))
(goto-char (point-min))
(while (re-search-forward "</div>" nil t)
(replace-match ""))
(goto-char (point-min))
(while (re-search-forward "section-number-2\">\\([0-9]*\\)<" nil t)
(replace-match "section-number-2\">\\1\.<"))
(goto-char (point-min))
(while (re-search-forward "<p class=\"author.*</p>" nil t)
(replace-match ""))
(goto-char (point-min))
(while (re-search-forward "\n\n</body>" nil t)
(replace-match "\n</article>\n</body>"))
(goto-char (point-min))
(while (re-search-forward "\\\\noindent\\\\rule{\\\\textwidth}{0.5pt}" nil t)
(replace-match "\\sephim" nil t))
(goto-char (point-min))
(while (re-search-forward "\\\\maketitle" nil t)
(replace-match "\\begin{titlingpage}\n\\titleGM\n\\end{titlingpage}" nil t))
(goto-char (point-min))
(while (re-search-forward "label{\\(.*\\)}\n\\([A-Z]\\)\\([a-z]*\\)" nil t)
(replace-match "label{\\1}\n\\\\lettrine{\\2}{\\3}"))
(goto-char (point-min))
(while (re-search-forward "label{\\(.*\\)}\n\\([A-Z]\\)\\([a-z]*\\)" nil t)
(replace-match "label{\\1}\n\\\\lettrine{“\\2}{\\3}")))
(defun asal-pre ()
(interactive)
(org-format)
(goto-char (point-min))
(while (re-search-forward "\\[fn:\\([0-9]*\\):\\(.*\\)\\]" nil t)
(replace-match "@@html:<label for=\"\\1\" class=\"margin-toggle sidenote-number\"></label><input type=\"checkbox\" id=\"\\1\" class=\"margin-toggle\"/><span class=\"sidenote\">\\2</span>@@@@latex:\\\\footnote{\\2}@@")))
(defun asal-export ()
(interactive)
(let ((org-html-head "<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"/><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin/><link href=\"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,700;1,400;1,700&display=swap\" rel=\"stylesheet\"/><link rel=\"stylesheet\" href=\"https://tre.praze.net/fic/tufte.css\"/>"))
(org-html-export-to-html))
(org-latex-export-to-latex))