So here’s the problem — these plugins do the conversion from their syntaxes to well formed HTML when a post is displayed. This causes a number of problems:
- The conversion has to happen each time the post is displayed (modulo caching)
- If tomorrow I stop using this plugin/start using some other plugin, then all the posts get screwd up. Asterisks and underscores and weird URLs will plague your blog!
And the solution is quite simple as well — do the conversion once, when the post is written. After that WordPress just displays the post as-is. With this semantics, we are guaranteed that no matter which input plugin you used to write your post, it will be displayed correctly. I wonder why no one has raised this issue before, because I find it very irritating if I have to try out some new input plugin. I mean, either they should not be called input plugins and called output plugins (which doesn’t make sense, because I want what I wanted to write in the database, and not created/transformed on the fly); or the semantics should be changed.