aboutsummaryrefslogtreecommitdiff
path: root/testTheThing/shittyweb-html.el
diff options
context:
space:
mode:
authornathansmith <nathansmith@posteo.com>2025-05-23 07:43:34 -0600
committernathansmith <nathansmith@posteo.com>2025-05-23 07:43:34 -0600
commit4e749697600bab526b1cf51bcca493f6d31d2e34 (patch)
tree10a0274c96667d1482dd7f07d768feaf518d6187 /testTheThing/shittyweb-html.el
parentd194694f31002068868a378d121ed0e2db01c378 (diff)
Almost done with this stupidness
Diffstat (limited to 'testTheThing/shittyweb-html.el')
-rw-r--r--testTheThing/shittyweb-html.el146
1 files changed, 0 insertions, 146 deletions
diff --git a/testTheThing/shittyweb-html.el b/testTheThing/shittyweb-html.el
deleted file mode 100644
index 0dc06b2..0000000
--- a/testTheThing/shittyweb-html.el
+++ /dev/null
@@ -1,146 +0,0 @@
-(require 'ox-html)
-
-;; https://gileschamberlin.com/2020/02/25/writing-a-new-org-mode-exporter-back-end
-;; https://github.com/grc/jujutsu-website/blob/master/elisp/org-jujutsu-site.el
-;; https://orgmode.org/worg/dev/org-export-reference.html
-
-(defvar shittyweb-html-background-color "#dcd1ba")
-(defvar shittyweb-html-table-background-color "#bebebe")
-(defvar shittyweb-html-table-border 1)
-(defvar shittyweb-html-table-width "65%")
-(defvar shittyweb-html-code-background-color "white")
-(defvar shittyweb-html-code-border 1)
-
-(org-export-define-derived-backend 'shittyweb-html 'html
- :translate-alist '((template . shittyweb-html-template)
- (src-block . shittyweb-html-src-block))
- :options-alist '((:background-image "BACKGROUND_IMAGE" nil nil)
- (:shittyweb-header "SHITTYWEB_HEADER" nil nil)))
-
-(defun shittyweb-html-template (contents info)
- "Return complete document string after HTML conversion.
-CONTENTS is the transcoded contents string. INFO is a plist
-holding export options."
- (concat
- (when (and (not (org-html-html5-p info)) (org-html-xhtml-p info))
- (let* ((xml-declaration (plist-get info :html-xml-declaration))
- (decl (or (and (stringp xml-declaration) xml-declaration)
- (cdr (assoc (plist-get info :html-extension)
- xml-declaration))
- (cdr (assoc "html" xml-declaration))
- "")))
- (when (not (or (not decl) (string= "" decl)))
- (format "%s\n"
- (format decl
- (or (and org-html-coding-system
- (coding-system-get org-html-coding-system :mime-charset))
- "iso-8859-1"))))))
- (org-html-doctype info)
- "\n"
- (concat "<html"
- (cond ((org-html-xhtml-p info)
- (format
- " xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"%s\" xml:lang=\"%s\""
- (plist-get info :language) (plist-get info :language)))
- ((org-html-html5-p info)
- (format " lang=\"%s\"" (plist-get info :language))))
- ">\n")
- "<head>\n"
- (org-html--build-meta-info info)
- (org-html--build-head info)
- (org-html--build-mathjax-config info)
- "</head>\n"
- ;; Body with background
- (let ((background (plist-get info :background-image)))
- (if background
- (format "<body bgcolor=\"%s\" background=\"%s\">\n"
- shittyweb-html-background-color
- background)
- (format "<body bgcolor=\"%s\">"
- shittyweb-html-background-color)))
- ;; I dont use link-up so byebye it goes.
- ;; Also I give it a directory instead of file.
- (let ((link-home (org-trim (plist-get info :html-link-home))))
- (unless (string= link-home "")
- (format (plist-get info :html-home/up-format) link-home link-home)))
- ;; Preamble.
- (org-html--build-pre/postamble 'preamble info)
- "\n<center>\n"
- ;; Shittyweb header. Its outside the weird table thing.
- (let ((shittyweb-header (plist-get info :shittyweb-header)))
- (if shittyweb-header
- shittyweb-header))
- ;; Document contents.
- (let ((div (assq 'content (plist-get info :html-divs))))
- (format "<table border=\"%d\" width=\"%s\" bgcolor=\"%s\" id=\
-\"%s\" class=\"%s\"><tr><td>\n"
- shittyweb-html-table-border
- shittyweb-html-table-width
- shittyweb-html-table-background-color
- (nth 2 div)
- (plist-get info :html-content-class)))
- ;; Document title.
- (when (plist-get info :with-title)
- (let ((title (and (plist-get info :with-title)
- (plist-get info :title)))
- (subtitle (plist-get info :subtitle))
- (html5-fancy (org-html--html5-fancy-p info)))
- (when title
- (format
- (if html5-fancy
- "<header>\n<h1 class=\"title\">%s</h1>\n%s</header>"
- "<h1 class=\"title\">%s%s</h1>\n")
- (org-export-data title info)
- (if subtitle
- (format
- (if html5-fancy
- "<p class=\"subtitle\" role=\"doc-subtitle\">%s</p>\n"
- (concat "\n" (org-html-close-tag "br" nil info) "\n"
- "<span class=\"subtitle\">%s</span>\n"))
- (org-export-data subtitle info))
- "")))))
- contents
- "</td></tr></table>\n"
- ;; Postamble.
- (org-html--build-pre/postamble 'postamble info)
- ;; Possibly use the Klipse library live code blocks.
- (when (plist-get info :html-klipsify-src)
- (concat "<script>" (plist-get info :html-klipse-selection-script)
- "</script><script src=\""
- org-html-klipse-js
- "\"></script><link rel=\"stylesheet\" type=\"text/css\" href=\""
- org-html-klipse-css "\"/>"))
- ;; Closing document.
- "</center>\n</body>\n</html>"))
-
-;; I don't like the way it handles src blocks. I just want <code>.
-(defun shittyweb-html-src-block (src-block _contents info)
- (let* ((code (org-html-format-code src-block info))
- (code-lines (string-split (string-trim code) "\n")))
- (defun join-code-lines (lines) ;; Change \n to <br />
- (concat (car lines)
- (if (cdr lines)
- (concat "<br />\n" (join-code-lines (cdr lines)))
- "")))
- (format "<table bgcolor=\"%s\" border=\"%d\"><tr><td>\n\
-<code>\n%s\n</code>\n</td></tr></table>"
- shittyweb-html-code-background-color
- shittyweb-html-code-border
- (join-code-lines code-lines))))
-
-(defun shittyweb-publish-to-html (plist filename pub-dir)
- "Publish an org file to HTML.
-
-FILENAME is the filename of the Org file to be published. PLIST
-is the property list for the given project. PUB-DIR is the
-publishing directory.
-
-Return output file name."
- (org-publish-org-to 'shittyweb-html filename
- (concat (when (> (length org-html-extension) 0) ".")
- (or (plist-get plist :html-extension)
- org-html-extension
- "html"))
- plist pub-dir))
-
-(provide 'shittyweb-html)