Support Files Generator
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)