I am writing a web forum application to be used mainly by programmers. One of the things I have to do is to decide on the markup language and special tags (or shortcuts) to be used there. I like the way the Monastery works and I'd like to see what the Monks can say about the following questions:


In order to learn more about how the Monastery works I tried to play around with the various tags
Here is what I learned.
(Correct me if I am not right in some of the points.)

In the Monastery you can use

  1. A restricted set of approved HTML tags
  2. <code> to wrap snippets of code
  3. Shortcuts within [ ] tags

HTML tags, regular text

The approved HTML tags will be displayed as they were submitted. Anything else, that resembles an HTML tag (either valid or not) will be HTML escaped so you can even type in

while (<IMG>) {}

in your regular text and it will show up correctly.
This means that the approved HTML tags cannot be expanded with tags (either those valid today or others added to the HTML standard later) without breaking old submits that might have submitted such tags in their regular text. (E.g. the above <IMG> tag).
I find this might be slightly problematic in the long run.

The good news is that you can write almost any other characters as they are, except those used for the shortcuts.

The bad news is that the Monastery does not check for correctly closing the HTML tags so I might forget to close a <b> tag and turn the rest of the page to be bold.

<code>

The <code> tags are actualy valid HTML tags but in the Monastery they are used to mark code snippets. This means that <code> will never be an approved HTML tag that users can use. This is probably not a big issue but one that should be mentioned. Everything, the engine of the Monastery takes the <code> tags and replaces them with some other HTML markup. Text within <code> tags is fully HTML escaped. The only thing I can't seem to correctly insert within the code tags is a closing tag of the </code>.
This is usually not a big issue either.

shortcuts

Normally in the Monastery you can used tags like [id://nodeid] and it will automagically show up as a link to the nodelet with that id. You can even type in a pair of [ ] characters in your text and the string between them will be used to link to a nodelet with that title.
That's very nice.
This also means that if you'd like to add both [ and ] characters in your regular text in this order then you'll have to escape one of them by yourself.
If within the [ ] pair there is :// somewhere like in this: [something://otherthing] then this is considered as either a shortcut (if something is one of the valid shortcut names) or is displayed as it is. This means that in the unlikely event that someone has entered a piece of text that looks like this: [something://otherthing] using something that is currently not a shortcut, if and when something becomes an official Monastery shortcut this piece of text will automatically behave as a real shortcut. As it is not likely that people use [...://....] in their regular text this is only a small expansion annoyance.


In reply to Web forum markup language and the Monastery by szabgab

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.