stephane-adjemian.fr/publish.el

140 lines
4.9 KiB
EmacsLisp

(setq user-full-name "Stephane Adjemian")
(setq user-mail-address "stepan@adjemian.eu")
(set-language-environment "UTF-8")
(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(use-package ox-publish
:init
(setq org-html-validation-link nil
make-backup-files nil
org-src-fontify-natively nil
org-confirm-babel-evaluate nil
org-src-tab-acts-natively t
org-html-htmlize-output-type nil
org-babel-python-command "python3")
:config
(org-add-link-type
"color"
(lambda (path)
(message (concat "color "
(progn (add-text-properties
0 (length path)
(list 'face `((t (:foreground ,path))))
path) path))))
(lambda (path desc format)
(cond
((eq format 'html)
(format "<span style=\"color:%s;\">%s</span>" path desc))
((eq format 'latex)
(format "{\\color{%s}%s}" path desc)))))
(org-babel-do-load-languages
'org-babel-load-languages
'(
(emacs-lisp . t)
(org . t)
(shell . t)
(python . t)
(gnuplot . t)
(matlab . t)
(R . t)
))
(setq org-publish-project-alist
'(
;; Content that should be processed.
("pages"
:base-directory "./pages"
:base-extension "org"
:publishing-directory "./output"
:recursive t
:publishing-function org-html-publish-to-html
:headline-levels 4
:section-numbers nil
:html-head nil
:html-head-include-default-style nil
:html-head-include-scripts nil
:html-preamble nil
:html-postamble nil
)
("blog"
:base-directory "./blog"
:base-extension "org"
:publishing-directory "./output/posts"
:recursive t
:publishing-function org-html-publish-to-html
:headline-levels 4
:section-numbers nil
:html-head nil
:html-head-include-default-style nil
:html-head-include-scripts nil
:html-preamble "<h1 class=\"title\">%t</h1>
<ul style=\"text-align:center; font-size:1.2rem; list-style-type:none; margin:0; padding:0;\">
{<li style=\"display: inline;\"><a href=\"../\"><span style='font-size:25px;'>&#9757;</span></a></li>,
<li style=\"display: inline;\"><a href=\"./index.org\" target=\"_blank\"><span style='font-size:25px;'>&#9760;</span></a></li>}
</ul>
<br/>
<br/>
"
:html-postamble "<br/><br/><br/><hr/>
<footer>
<div class=\"copyright-container-and-source\">
<div class=\"copyright\">
<ul style=\"text-align:center; font-size:1.2rem; list-style-type:none; margin:0; padding:0;\">
%a, %d <br/>
%e <br/>
</ul>
</div>
<div class=\"generated\">
<ul style=\"text-align:center; font-size:1.2rem; list-style-type:none; margin:0; padding:0;\">
Created with %c on <a href=\"https://www.gnu.org\">GNU</a>/<a href=\"https://www.kernel.org/\">Linux</a>
</ul>
<div class=\"source\">
<ul style=\"text-align:center; font-size:1.2rem; list-style-type:none; margin:0; padding:0;\">
Org source for this post is available <a href=\"./index.org\" target=\"_blank\">here</a>
</ul>
</div>
<div class=\"cc-badge\">
<ul style=\"text-align:center; margin:0; padding:0;\">
<a rel=\"license\" href=\"https://creativecommons.org/share-your-work/public-domain/cc0/\">
<img style=\"text-align:center;\", src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg\"/>
</a>
</ul>
</div>
<div class=\"gitlab-repo\">
<ul style=\"text-align:center; margin:0; padding:0;\">
<a href=\"https://git.ithaca.fr/stepan/stephane-adjemian.fr\" title=\"stephane-adjemian.fr\">
<i class=\"fab fa-gitlab fa-lg\"></i>
</a>
</ul>
</div>
</div>
</footer>
<hr/>"
)
;; For static files (untouched by emacs)
("static-pages"
:base-directory "./pages"
:base-extension "asc\\|css\\|scss\\|less\\|ttf\\|woff\\|woff2\\|eot\\|yml\\|json\\|js\\|png\\|ttf\\|jpg\\|gif\\|pdf\\|svg\\|tex\\|m\\|py\\|jl"
:publishing-directory "./output"
:recursive t
:publishing-function org-publish-attachment
)
("static-blog"
:base-directory "./blog"
:base-extension "org\\|css\\|yml\\|json\\|js\\|png\\|jpg\\|gif\\|pdf\\|svg\\|tex\\|m\\|py\\|jl"
:publishing-directory "./output/posts"
:recursive t
:publishing-function org-publish-attachment
)
;; Combine the two previous components in a single one
("site" :components ("pages" "blog" "static-pages" "static-blog"))))
)