Text Formatting Rules Revised

I want to make new TextFormattingRules for my very own ServletBasedWiki.

As far as my experience with WikiWikiWeb and WikiClones go, I've seen two - the TextFormattingRules here and ZopeApplicationServer's StructuredText. There are many variations of the former out and about, and I know Zope is working on the next generation of StructuredText.

Here are my thoughts on the goals:

  1. It must encourage WikiZen, or editing without thinking about the mechanics of text formatting. This in itself has sub-goals:

    • It must be learned quickly and easily.

    • Where possible, constructs must mimic what someone would do if they were trying to achieve an effect in plain text.

    • It must be easy to type (non-shifted keys help here). -- RogerBrowne

  2. It must emphasize ContentOverForm.

  3. It must be non-ambiguous - I desperately want to avoid the SixSingleQuotes phenomenon.

  4. I'd like to avoid tabs. It's sad that browsers can't handle tabs in their textareas.

Technically, I would like to achieve all this in the space of a parser like AntlrTranslatorGenerator or JavaCompilerCompiler.

I've identified the following items as needing to be addressed by my rules:

Block level

Inline level

Any other ideas?

Sometimes you really do need a table. There are several WikiClones around (including Ward's own QuickiWiki) that can do nice WikiTables without resorting to HTML. -- RogerBrowne

I like them done with pipes such as:
| a1 | b1 | c1 |
| a2 | b2 | c2 |

So what if you really need to use a pipe within a table cell? Some sort of escape mechanism (e.g. '||' in a table cell is output as '|').

It must be non-ambiguous - I desperately want to avoid the SixSingleQuotes phenomenon.

See QwikWiki's BackTick? for a possible alternative. Not claiming it's Great; just an idea. (Kindof a kludge that seemed acceptable.) -- BillKelly

StructuredText uses double-pipes, and I used that notation for MoinMoin. Another precondition I used is that a line with table markup has to start and end with a table cell marker (||). Pretty non-ambiguous. -- JuergenHermann

Until you want to put some C code into a table cell, for example...

How about an XmlBasedWiki? (Just kidding.) -- AnonymousDonor Sure, if you can give me a client-side XML editor flowing with WikiZen.

Write a parser module for MoinMoin that takes XML input. :) -- JuergenHermann

Have you considered TextileFormat (http://bradchoate.com/tools/mtmanual_textile.html)? I use it for my weblogs and it seems to handle basic formatting quite well, is reasonably intuitive (especially for old USENET types), does tables and free links. The only missing functionality is definition lists, which I notice the lack of as well. There's a newer version in the works with things like footnotes and more powerful paragraph and table formatting.

InstikiWiki (www.instiki.org) is a WikiClone that uses Textile (by default - alternatives are Markdown and RDoc) for its markup language. While not without its flaws, I far prefer it to any other Wiki markup so far. Instiki is so powerful and easy to run locally to boot, so it's a good all-round package.

Bullets and numbered list to essentially work as-is but ignore leading spaces (yes, this would mean giving up sub-lists).

EddiesWiki solves this without giving up sublists: <space>*<space> begins a bulleted list. Additional spaces before the asterisk make sublevels. This is darn intuitive, I think.

I prefer using the * without a preceding space for the first level and ** for the second level, etc.

View edit of December 23, 2007 or FindPage with title or text search