I have been using reStructuredText for blogging for months. It’s a good tool but it also has some bizarre tiny things to deal with. For example:


foo*bar*pub
foo**bar**pub
foo``bar``pub
*foo*bar
**foo**bar
``foo``bar

None of above will work as you expect. First three will result some text with asterisks, the last three will raise errors like:


<string>:9: (WARNING/2) Inline emphasis start-string without end-string.
<string>:9: (WARNING/2) Inline strong start-string without end-string.
<string>:9: (WARNING/2) Inline literal start-string without end-string.

The workaround is to escape a space or spaces:


foo\ *bar*\ pub
*foo*\ bar

They will look like foobarpub and foobar as we expect to see.

I have a note1 for reminders and my-rst2html.py for conversion. I think if you are also a blogger who post about coding, you may want to check out the PyRun directive. Since I write some Python code, so a directive like that can make life easier. Also, kbd role is a simple example for role.

I am still a noob, but reStructuredText is better than Markdown because of its extensibility. Certainly, you can hack Markdown library, but it can get ugly and you have to contribute back into the library core. It’s not like you don’t want to, but the code you use may not be useful for others. With Python docutils, you can maintain you own piece of code.

[1]https://sites.google.com/site/yjlnotes/notes/restructuredtext is gone. (2015-12-14T21:44:36Z)