About Me!

This blog is about my musings and thoughts. I hope you find it useful, at most, and entertaining, at least.

Résumé [PDF]

Other Pages

Quotes

Links

Oak Island

Items for Sale

Presence Elsewhere

jim@jimkeener.com

del.icio.us

Twitter

Facebook

LinkedIn

GitHub

BitBucket

Keybase.io

reStructuredText

Date: 2013-11-19
Tags: markdown textile rst

I love using various markdown formats (e.g.: MarkDown, Textile, and reStructuredText) because it allows me to just write without having to think too much about the how what I’m writing is going to be formatting. Effectively it comes down to “Make the Common Case Fast” (which is a lax formulation of Amdahl’s Law), because with HTML or LaTeX I always feel like I need to worry about the presentation and end-product, whereas when I just have a markdown, there isn’t all that much I can worry about. When writing these blog posts or even essays for school, I don’t (usually) need all the power.

For these reasons I’ve always liked Textile as I felt that it was clean and easy to use, and also made tables a breeze. However, I’ve recently switched to reStructuredText for a couple reasons. First, it has all the advantages of Textile, including easy-to-make tables. Second, it has a rich set of directives that allow one to specify metadata such as the author, data, language that code may be in, &c For many of these things I included a hack on top of Markdown and Textile to allow me to do most of those things.

Additionally, being part of the docutils package, there are a lot of built-in converstion tools to LaTex or nroff

Ex:

rst2latex.py paper.rst | pdflatex && okular texput.pdf

and

rst2man.py paper.rst | nroff -man | less

There is also pandoc which converts between a mind-boggling number of formats and that I’ve been using when I need to convert not-for-this-blog Textile to something else, normally HTML or PDF. I have, however, noticed some quirks in how pandoc handles tables and quotes in reStructuredText. I’m working up some examples to submit to its bug-tracker.