How to make this website
This static website is generated from org-mode files using only Emacs text editor called Emacs with weblorg package.
Below is the setup for weblorg that can be tangled from the current org file with org-babel-tangle
to ../publish.el
.
(setq weblorg-default-url "http://anastasiasergeeva.com") (add-to-list 'load-path (expand-file-name "~/.emacs.d/straight/repos/weblorg")) (add-to-list 'load-path (expand-file-name "~/.emacs.d/straight/repos/templatel")) ;; (add-to-list 'load-path (expand-file-name "~/.emacs.d/straight/build/htmlize")) (require 'weblorg) ;; (require 'htmlize) ;; (setq org-html-htmlize-output-type 'css) (weblorg-site :theme nil :template-vars '( ;; ("project_github" . "") ;; ("static_path" . "$site/static") ("site_author" . "Anastasia Sergeeva") ("site_name" . "Anastasia Sergeeva's blog") ("site_url" . "https://anastasiasergeeva.com") ;; ("site_email" . "") ("project_description" . "Anastasia Sergeeva's blog"))) ;; route for rendering each post (weblorg-route :name "posts" :input-pattern "posts/*.org" :template "post.html" :output "output/posts/{{ slug }}.html" :url "/posts/{{ slug }}.html") ;; rendering each video post (weblorg-route :name "videos" :input-pattern "videos/*.org" :template "post.html" :output "output/videos/{{ slug }}.html" :url "/videos/{{ slug }}.html") ;; index page for videos (weblorg-route :name "videos-list" :input-pattern "videos/*.org" :input-aggregate #'weblorg-input-aggregate-all-desc :template "videos.html" :output "output/pages/videos.html" :url "/pages/videos.html") ;; Generate pages (weblorg-route :name "pages" :input-pattern "pages/*.org" :template "page.html" :output "output/pages/{{ slug }}.html" :url "/pages/{{ slug }}.html") ;; route for rendering the index page of the blog (weblorg-route :name "index" :input-pattern "posts/*.org" :input-aggregate #'weblorg-input-aggregate-all-desc :template "index.html" :output "output/index.html" :url "/") (weblorg-copy-static :output "output/static/{{ file }}" :url "/static/{{ file }}") ;; fire the engine and export all the files declared in the routes above (weblorg-export)
After that one needs to deploy this site with following shell commands:
cd site # generate website (make html, etc) emacs --script publish.el # copy generated site to the server rsync --archive \ --progress \ --update \ --verbose \ --delete \ output/ user@host:~/anastasiasergeeva_com/public_html
css
#content .avatar > img { border-radius: 50%; float: right; margin: -8px 0 0 16px; height: 100px; width: 100px; }