WikiCreole markup

Hello, friends.

Up until now, CurseForge and WowAce (since the transformation to the CurseForge codebase) have used "Curse Wiki" as the default wiki type. We have implemented the feature-rich WikiCreole markup and plan to make it the default on Monday (March 9, 2009).

What's wrong with Curse Wiki?

Curse Wiki is a custom implementation of the MediaWiki markup. The code we use for it is rife with issues, including lack of readability, inherent slowness, potential security issues and general bugs, and lack of extensibility.

The developer of the Curse Wiki format has no longer been with us here at Curse, Inc. for a year now, and no one can read his code, and when anyone tries, it's impossible to cringe.

Why choose WikiCreole over something else?

We agree with the philosophy of WikiCreole, the code is clean and readable, it's fast enough for our use cases, and the library we use (CreoleParser) is very extensible.

Due to the awesome extensibility, we were able to add nice relative links, e.g. [[Some page]] or [[Project:Some page]] rather than forcing full links as we have. We also support images nicely, e.g. {{4}} or {{Some image}} or {{Project:4}} (and so forth).

We were also able to add syntax highlighting with the <<code>> macro.

print("Syntax highlighting is awesome: " .. 42)

See Markup Types / WikiCreole for the full syntax examples of WikiCreole.

Will I still be able to use Curse Wiki?

Yes, this will still be an option, just not the default one.

We may eventually disable creating new pages/comments using Curse Wiki (likely if a security issue arises), but we would still allow old pages using it to continue to be editted as Curse Wiki.

Are you getting rid of any of the other markup formats?

Probably not. We've cleaned up the code for plain text and Safe HTML, and made BBCode a thin wrapper around WikiCreole, so we see no reason to remove those three at all.

We may eventually support more formats, such as Textile, Markdown, Restructured Text, etc.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of kunda kunda Apr 08, 2009 at 22:39 UTC - 0 likes

    Is the 'fixed-width' issue with code-tags (BBcode/WikiCreole/whatever) fixed?

    This works fine with project pages on but failed on A fix would be really nice. Thanks.

  • Avatar of Tuhljin Tuhljin Mar 26, 2009 at 19:18 UTC - 0 likes

    Hey, ckknight. Thanks for the quick fix. Would've thanked you sooner, but I've been out of town and before that, well, I just didn't remember to check in on this until now.

  • Avatar of StormFX StormFX Mar 18, 2009 at 00:09 UTC - 0 likes

    Hence my examples. You could bypass that altogether by having the first colon identify the next phrase as the project name. IE :Bartender4

  • Avatar of Kaelten Kaelten Mar 16, 2009 at 05:57 UTC - 0 likes

    I think the error there comes from it having a - in the name, but I'm not sure. I can add some unit tests to that code and figure it out.

    You make a good point on the other, hrm.... & Adminstrator
    Check out my new addon, OneChoice, it helps you pick quest rewards faster.
    Developer of Ace3, OneBag3, and many other addons and libraries

  • Avatar of StormFX StormFX Mar 14, 2009 at 17:41 UTC - 0 likes

    Any possibility of tweaking the "relative" link code? For example, in some cases, using something like [Project-2:PageName] in a page of "Project-1" will link /projects/Project-1/pages/Project-2/PageName. There needs to be an identifier or token that specifies a project name. Some examples:

    [:project-1] --> /projects/project-1
    [:project-1:guide] --> /projects/pages/guide

    Additionally, the wiki doesn't distinguish between /project/pages/page and project/page. For example, localization is found at /project/localization. Currently, one has to place then entire URL to link to the localization page. Using something like [Localization] takes the user to /project/pages/localization.

    Lastly, I'd like to see the option of adding straight HTML to a page, whether it be by direct parsing (like CurseWiki did) or via a special tag.

  • Avatar of ckknight ckknight Mar 10, 2009 at 15:51 UTC - 0 likes

    Tuhljin, all fixed.

  • Avatar of z00g z00g Mar 10, 2009 at 09:36 UTC - 0 likes

    Nevcairiel: Hahaha omg how could I past a wrong image? :D Thanks, I would probably never was able to find it out myself ;)

    ckknight: Forget about my posts please ;)

  • Avatar of Nevcairiel Nevcairiel Mar 10, 2009 at 06:27 UTC - 0 likes

    z00g: Maybe because the pixel.gif is actually an 1px transparent image? =)

  • Avatar of Tuhljin Tuhljin Mar 10, 2009 at 01:10 UTC - 0 likes

    You mentioned tweaking BBCode.. Well, I think you broke it a bit. See this file's change log, which I last updated a long time ago (and it was fine, then) - it's set to BBCode, but line returns are not working properly.

  • Avatar of z00g z00g Mar 09, 2009 at 23:52 UTC - 0 likes

    I'm not sure what I'm doing wrong then. I've got this code on zMailMod's page and it does nothing - there's simply no output at all. I checked it under IE, FF and Opera - all the same, no output. Just to test it once more, I'm going to paste it here in this comment: