Support Files Generator

Menu

This page documents the support files required to build this website, such as the navigation bar and the list of publications. These files change seldom and, therefore can be invoked on a need-basis, rather than being executed each time.

For this reason, they are defined in external scripts which are better run from the command line: if set here, in fact, they would run every time this page is exported to HTML.

Follow step by step to execute all steps necessary to build the website.

Headers and Assets

The HTML headers of this website are defined in a file included by all pages. The file, named _html-head-l0.org, include assets using absolute links.

Provisioning of the website on a local server is achieved by using a base URL which reproduces the absolute link I have in production.

Navigation

The navigation bar of this website is defined in a file included by all pages. The file, named _navigation-l0.org, define the navigation bar using absolute links.

Provisioning of the website on a local server is achieved by using a base URL which reproduces the absolute link I have in production.

Bookstream

The Bookstream script takes care of reading my Calibre library and generate a YAML file with the specification of the books I read.

The YAML file is, in turn, used as input for the books section of my homepage.

The use of a YAML file decouples reading from Calibre from website building, yielding better performances and more robust code: website building does not depend upon reading data from Calibre.

The script has to be launched when I finish a book like this:

ruby ../_script/generate-bookstream.rb

Update the Publication List

The publication list script takes care of reading the list of publications from a BiBTex file and generates a YAML file.

The YAML file is, in turn, used as input for the publications list in my homepage.

The use of a YAML file decouples reading from Calibre from website building, yielding better performances and more robust code: website building does not depend upon reading data from Calibre.

The script has to be launched when I publish a new paper.

ruby ../_script/bibtex2yaml.rb

Update the list of posts

This is usually not required, since the files are updated by the publication process.

(org-publish-file "../notes/chronological.org")
(org-publish-file "../notes/categories.org")
(org-publish-file "../notes/index.org")

Update the Atom feed and the Sitemap

This is usually not required, since the files are updated by the publication process.

(org-publish-file "generate-xml-sitemap.org")
(copy-file "../sitemap.xml" "../_site/sitemap.xml" t)

(org-publish-file "generate-atom.org")
(copy-file "../site.atom" "../_site/sitem.atom" t)