source: .emacs@ 3c72e49

Last change on this file since 3c72e49 was 962709f, checked in by w96k <w96k@…>, on Apr 2, 2023 at 10:58:22 PM

Add logsec

  • Property mode set to 100644
File size: 4.0 KB
Line 
1;;; Emacs configuration for building a project
2
3(require 'org)
4(require 'ox-publish)
5(require 'ox-latex)
6;; (require 'org-webring)
7(require 's)
8(require 'simple-httpd)
9
10
11(setq org-html-head-include-default-style nil)
12
13(setq current-folder (file-truename "./"))
14
15(defvar youtube-iframe-format
16 ;; You may want to change your width and height.
17 (concat "<iframe id=\"ivplayer\" type=\"text/html\""
18 "src=\"https://youtube.host.w96k.dev/embed/%s\""
19 " frameborder=\"0\""
20 " allowfullscreen>%s</iframe>"))
21
22(defvar local-video-format
23 ;; You may want to change your width and height.
24 (concat "<video controls>"
25 "<source src=\"/public/videos/%s\"> Video are not supported </video>"))
26
27(org-add-link-type
28 "youtube"
29 (lambda (handle)
30 (browse-url
31 (concat "https://invidiou.site/embed/"
32 handle)))
33 (lambda (path desc backend)
34 (cl-case backend
35 (html (format youtube-iframe-format
36 path (or desc "")))
37 (latex (format "\href{%s}{%s}"
38 path (or desc "video"))))))
39
40(org-add-link-type
41 "video"
42 (lambda (handle)
43 (browse-url
44 (concat "/"
45 handle)))
46 (lambda (path desc backend)
47 (cl-case backend
48 (html (format local-video-format
49 path (or desc "")))
50 (latex (format "\href{%s}{%s}"
51 path (or desc "video"))))))
52
53(setq org-publish-project-alist
54 `(("blog"
55 :components ("blog-content" "blog-styles")
56 :base-directory current-folder)
57 ("blog-styles"
58 :base-directory ,(concat current-folder "public")
59 :base-extension "jpg\\|webp\\|gif\\|svg\\|png\\|ico\\|css\\|txt\\|pdf\\|webm\\|mp4\\|mp3\\|flac\\|mov\\|html"
60 :publishing-directory ,(concat current-folder "dist/public")
61 :recursive t
62 :publishing-function org-publish-attachment
63 )
64 ("blog-content"
65 :base-directory ,(concat current-folder "content")
66 :publishing-directory ,(concat current-folder "dist")
67 :recursive t
68 :publishing-function org-html-publish-to-html
69
70 :html-doctype "html5"
71 :exclude ".*/logsec/.*"
72
73 :with-title nil
74 :with-author t
75 :with-creator nil
76 :with-date t
77 :with-email t
78 :with-footnotes t
79 :html-preamble "
80<div class=\"navbar\">
81<a href=\"/\">~w96k</a>
82<a href=\"/about.html\">About</a>
83<a href=\"/articles.html\">Articles</a>
84<a href=\"/digarden/\">Digital Garden</a>
85<a href=\"/donate.html\">Donations</a>
86</div>"
87
88 :html-head "
89<link rel=\"shortcut icon\" href=\"/public/favicon_w96k.ico\">
90<link rel=\"stylesheet\" href=\"/public/css/custom.css\" type=\"text/css\"/>
91"
92
93 :html-container "article"
94 :html-postamble "
95
96 <p>w96k Ⓐ 2019-2022</p>
97
98 <ul>
99 <li>
100 <a href=\"/digarden/20221023004637-errata.html\">
101 Errata
102 </a>
103 </li>
104 <li>
105 <a href=\"/legal.html\">
106 License
107 </a>
108 </li>
109 <li>
110 <a href=\"/sitemap.html\">
111 Sitemap
112 </a>
113 </li>
114 </ul>
115
116
117 <p id=\"meta\">
118 %C
119 </p>"
120
121 :section-numbers nil
122 :with-sub-superscript nil
123
124 ;; sitemap - list of blog articles
125 :auto-sitemap t
126 :sitemap-filename "sitemap.org"
127 :sitemap-title "@w96k"
128 :sitemap-sort-files chronologically)))
129
130;; Don't ask for block evaluation
131(setq org-confirm-babel-evaluate nil)
132
133;; Set output folder
134(setq httpd-root (concat current-folder "/dist/"))
135
136;; Fix image width
137(setq org-image-actual-width nil)
138
139;; PDF output settings
140(setq org-latex-listings 'minted)
141(setq org-latex-tables-centered nil)
142(add-to-list 'org-latex-packages-alist '("russian" "babel"))
143(add-to-list 'org-latex-packages-alist '("" "minted"))
144(add-to-list 'org-latex-packages-alist '("" "nopageno"))
145(add-to-list 'org-latex-packages-alist '("utf8x" "inputenc"))
146(add-to-list 'org-latex-packages-alist '("a4paper, margin=0.75in" "geometry"))
147
148(setq org-src-fontify-natively t)
149
150
Note: See TracBrowser for help on using the repository browser.