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 Wed, 08 Apr 2009 22:39:17

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

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

  • Avatar of Tuhljin Tuhljin Thu, 26 Mar 2009 19:18:54

    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 Wed, 18 Mar 2009 00:09:26

    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 Mon, 16 Mar 2009 05:57:14

    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....

    WowAce.com & CurseForge.com Adminstrator
    Check out my new addon, OneChoice, it helps you pick quest rewards faster.
    Developer of Ace3, OneBag3, and many other addons and libraries
    Project lead and Mac developer for the Curse Client

  • Avatar of StormFX StormFX Sat, 14 Mar 2009 17:41:33

    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 Tue, 10 Mar 2009 15:51:27

    Tuhljin, all fixed.

  • Avatar of z00g z00g Tue, 10 Mar 2009 09:36:52

    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 Tue, 10 Mar 2009 06:27:27

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

  • Avatar of Tuhljin Tuhljin Tue, 10 Mar 2009 01:10:30

    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 Mon, 09 Mar 2009 23:52:06

    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:

    https://www.paypal.com/en_US/i/scr/pixel.gif