View raw

1 ;;; publish.el --- Publish the Smart Documents website. 2 3 ;; Copyright (C) 2021 Marius Peter 4 5 ;; Author: Marius Peter 6 7 ;;; Commentary: 8 9 ;; This file is intended to be run as a script for the Makefile used 10 ;; to generate the Smart Documents website. 11 12 ;;; Code: 13 14 (require 'ox-publish) 15 (load-file "./ox-html-uswds.el") 16 17 ;; (let ((publishing-location "~/Documents/www/")) 18 (let ((publishing-location "/ssh:root@192.162.71.223:/var/www/smart-documents.org/")) 19 (setq org-publish-project-alist 20 `(("page" 21 :base-directory "." 22 :base-extension "org" 23 :publishing-directory ,publishing-location 24 :recursive nil ; Top-level pages are all in top-level org directory. 25 :publishing-function ox-html-uswds-publish-to-html 26 :auto-sitemap t) 27 ("page-media" 28 :base-directory "assets/images/" 29 :base-extension "jpg\\|gif\\|png\\|svg\\|mp3" 30 :publishing-directory ,(concat publishing-location "assets/images/") 31 :recursive t 32 :publishing-function org-publish-attachment) 33 ("posts" 34 :base-directory "posts/" 35 :base-extension "org" 36 :publishing-directory ,(concat publishing-location "posts/") 37 :recursive t 38 :publishing-function ox-html-uswds-publish-to-html) 39 ("css" 40 :base-directory "assets/" 41 :base-extension "css\\|map" 42 :publishing-directory ,(concat publishing-location "assets/") 43 :publishing-function org-publish-attachment 44 :recursive t) 45 ("js" 46 :base-directory "assets/" 47 :base-extension "js" 48 :publishing-directory ,(concat publishing-location "assets/") 49 :publishing-function org-publish-attachment 50 :recursive t) 51 ("fonts" 52 :base-directory "assets/" 53 :base-extension "ttf\\|woff2" 54 :publishing-directory ,(concat publishing-location "assets/") 55 :publishing-function org-publish-attachment 56 :recursive t) 57 ("img" 58 :base-directory "assets/uswds-2.10.1/" 59 :base-extension "png\\|svg" 60 :publishing-directory ,(concat publishing-location "assets/uswds-2.10.1/") 61 :publishing-function org-publish-attachment 62 :recursive t) 63 ("content" 64 :components ("page" 65 "page-media")) 66 ("assets" 67 :components ("css" 68 "js" 69 "fonts" 70 "img")) 71 ("all" :components ("content" "assets"))))) 72 73 (provide 'publish) 74 ;;; publish.el ends here 75