TiddlyWiki's Wikitext is an example of a WYSIWYM (“What You See is What You Mean”) formatting language, meaning that you see only plain text, and you include special characters or phrases along with the text to explain how it should be formatted. These kinds of languages are extremely popular among software developers and other technical types, but relatively rare elsewhere. You might wonder why they're preferred; here are a few reasons.
- WYSIWYG editors use the same kinds of formatting codes that markup languages do, but they're hidden, so the document can suddenly start doing weird stuff (e.g., text mysteriously appearing in the wrong font, or lists indenting the wrong amount) and it's difficult to figure out why. With markup languages, finding issues is much easier because you can see all of the formatting instructions.
- Markup languages can easily integrate other languages for finer control over display, content, and formatting. TiddlyWiki's markup language, for instance, also allows you to use HTML, CSS, widgets, filters, and more – all without leaving the single editor text box. In a WYSIWYG editor, you'd have to go into separate dialog boxes and click a bunch of extra times to use each of these features.
- In the context of TiddlyWiki in particular, macros and templates would be much more challenging to write with a WYSIWYG editor, since you wouldn't be able to see exactly what text and formatting you were replacing. These are some of the most powerful features of TiddlyWiki, and they're challenging enough to learn as they are!
- You can separate presentation and content in most markup languages. Suppose you have a document where you want all software code snippets to appear in red text. Instead of manually setting every code snippet to appear in red, you merely have to ensure that you mark every code snippet as a code snippet, and then elsewhere you can indicate that all code snippets should appear in red. Your markup indicates the function of the text, rather than the nitty-gritty details of how it should be formatted. With this setup, if you later decide that code snippets should be blue, you only have to go to the spot where you decided code snippets were red and change it to blue, and all the code snippets will update to blue at once.
- WYSIWYG editors tend to use proprietary formats. Most markup languages are open and can be read by multiple tools.
- Keeping backups and previous versions of marked-up text is easier.