DPHenderson

A Monologue with the Æther

At the Core

Languages, Please

A language and a pseudo-language are at the core of what I do to publish and write.

Ruby is the programming language of the tools that I use to publish this website. nanoc, Compass, and Sass are all written in ruby. Why Ruby? Because I wanted to learn Ruby when I was searching for a web publishing tool set. nanoc is a minimalist static page generator, on purpose. It was designed to present a minimum set of functionality that would result in a web page or set of pages that could be uploaded to a web server. As I understand it, the name, nanoc, comes from nano cms. It was never intended to provide all the functionality that anyone would want in a web content publishing system. Instead, the author, Dennis Defreyne, wrote it in such a way that it could be expanded by the user. There are of course a basic set of filters and helpers available with the default install, but the real power for me is the ability to write my own filters and mould nanoc to my needs and desires. This requires Ruby.

Markdown isn’t really a language so much as a simplified means of marking up plain text content that is run through a preprocessor which in this case would be markdown (I use the Kramdown variant) to change the plain text to correct (x)html output. The reason to use a tool like markdown or its variants (there are many) is that unlike writing and marking up raw (x)html markdown is much easier to read in the raw form.

There are other “languages” in use as well: HTML, erb, rhtml, CSS, to name the most prevalent, but I rarely write them directly. Unlike Ruby and kramdown.