source: .emacs@ 0fd65e0

Last change on this file since 0fd65e0 was 0fd65e0, checked in by Mikhail Kirillov <w96k@…>, on Sep 3, 2022 at 1:41:18 AM

Add about page

  • Property mode set to 100644
File size: 3.8 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"
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
72 :with-title nil
73 :with-author t
74 :with-creator nil
75 :with-date t
76 :with-email t
77 :with-footnotes t
78 :html-preamble "
79<div class=\"navbar\">
80<a href=\"/\">~w96k</a>
81<a href=\"/about.html\">About</a>
82<a href=\"/articles.html\">Articles</a>
83<a href=\"/projects.html\">Projects</a>
84<a href=\"/music.html\">Music</a>
85<a href=\"/emacs.html\">Emacs</a>
86<a href=\"/guix.html\">Guix</a>
87</div>"
88
89 :html-head "
90<link rel=\"shortcut icon\" href=\"/public/favicon_w96k.ico\">
91<link rel=\"stylesheet\" href=\"/public/css/custom.css\" type=\"text/css\"/>
92"
93
94 :html-container "article"
95 :html-postamble "
96
97 <p>Mikhail Kirillov © 2019-2022</p>
98
99 <p>
100 <a href=\"/legal.html\">
101 License
102 </a>
103 </p>
104
105
106 <p id=\"meta\">
107 %C
108 </p>"
109
110 :section-numbers nil
111 :with-sub-superscript nil
112
113 ;; sitemap - list of blog articles
114 :auto-sitemap t
115 :sitemap-filename "sitemap.org"
116 :sitemap-title "@w96k"
117 :sitemap-sort-files chronologically)))
118
119;; Don't ask for block evaluation
120(setq org-confirm-babel-evaluate nil)
121
122;; Set output folder
123(setq httpd-root (concat current-folder "/dist/"))
124
125;; Fix image width
126(setq org-image-actual-width nil)
127
128;; PDF output settings
129(setq org-latex-listings 'minted)
130(setq org-latex-tables-centered nil)
131(add-to-list 'org-latex-packages-alist '("russian" "babel"))
132(add-to-list 'org-latex-packages-alist '("" "minted"))
133(add-to-list 'org-latex-packages-alist '("" "nopageno"))
134(add-to-list 'org-latex-packages-alist '("utf8x" "inputenc"))
135(add-to-list 'org-latex-packages-alist '("a4paper, margin=0.75in" "geometry"))
136
137(setq org-src-fontify-natively t)
138
139
Note: See TracBrowser for help on using the repository browser.