| 05 Jun 2011 12:57 |
|
05 Jun 2011 12:57 |
So as I've mentioned in the past, I have got this journal full of Wikidot ideas I come up with. It has well thought out designs and new mechanisms to solve problems. I never usually start on a Wikidot project without first drawing it out.
Until this weekend. I got an idea and acted upon it straight away.
So today, I am officially announcing my newest project:
The Wikidot Syntax to HTML Converter!!!
Yes, what a completely pointless project. I've lost the plot.
Here is version 614 in it's current incomplete form. Try it out! Type in some Wikidot Syntax!
It's like creating a page, with instant preview!
| Compatible Syntax | Not Yet Compatible | Not Supported | |
|---|---|---|---|
| 1 | Inline Formatting | Collapsible Blocks | HTML Blocks |
| 2 | Text Size | Bibliography | Gallery |
| 3 | Paragraphs and New Lines | Definition Lists | Table of Contents |
| 4 | Typography | Lists | Math |
| 5 | Literal Text | Footnotes | Iftags |
| 6 | Universal Escaping | Modules | |
| 7 | Comments | Includes | |
| 8 | Horizontal Rules | Social | |
| 9 | Images | TabView | |
| 10 | Notes | ||
| 11 | Code Blocks | ||
| 12 | Advanced (custom) Tables | ||
| 13 | Block Formatting Elements | ||
| 14 | Custom Div Blocks | ||
| 15 | Date | ||
| 16 | iframe | ||
| 17 | Buttons1 | ||
| 18 | Links | ||
| 19 | Headings | ||
| 20 | Anchors | ||
| 21 | Interwiki | ||
| 22 | Blockquotes | ||
| 23 | Simple Tables | ||
| 24 | Users2 | ||
| 25 | Embedding | ||
| 26 | Files | ||
| 27 | Emails |
Interestingly enough, I have discovered some interesting things about Wikidot through this project. Especially in the construction of the Wikidot parser itself. That's right, THE Wikidot parser.
But of course I have. Logically thinking, if I were to construct a tool that perfectly converts Wikidot syntax into HTML, in theory the tool should be very similar to the actual Wikidot parser itself.
I will publish my findings later, however :)
λ James Kanjo
Wow! Great job. Surely it's only a matter of time before Wikidot decides to employ you :)
BMC Creative | RoaringApps | @brycecammo
Thanks James!
As I discussed with you earlier via PM, this would be perfect for me to use in STE (allowing offline preview to be implemented faster, and saving me time writing the parser myself).
Your copyright guidelines state that as well as referencing you as the original author of a derivative work, I should also link back to the original page. I was originally thinking about doing this:
But … would you be happy to instead be added as a developer, with it mentioned that you basically wrote 90% of the parser for offline previews, but no link to here?
I feel that doing so would give you greater recognition, and basically implies that if you decide to update this parser, you can send me a copy of the code for me to update STE as well. You'd essentially be in charge of development for the parser in STE.
Shane Smith ★ Wikidot Freelancer (Hire me!)
— Sites: My Website, Personal Blog
— Projects: STE Editor, Wikimated, Wikidot 101 (Video Tutorials), Wikidot SubReddit
I have just started the Code Contribution Project (CCP) for submitting source code that can be used in STE, because someone else has offered to help with STE development in the past but I would still like to be the only one actually editing the code (therefore not open-source).
Let me know if you have any changes to suggest to how the CCP works … I'm going to set up the live template first, then activate the NewPage module.
Shane Smith ★ Wikidot Freelancer (Hire me!)
— Sites: My Website, Personal Blog
— Projects: STE Editor, Wikimated, Wikidot 101 (Video Tutorials), Wikidot SubReddit
Thanks Bryce, Shane :)
Whilst I would absolutely love to work for Wikidot.com, I don't think I am qualified enough for it. But I'm flattered all the same :D
λ James Kanjo
Blog | Wikidot Expert | λ and Proud
Web Developer | HTML | CSS | JavaScript
This is cool!
Boy, if you could work for Wikidot, then Nestable modules FTW!
— Blog ~ Life's Handbook ~ Wikidot Design & Development
Hopefully Wikidot will grow big enough one day to necessitate an Australian presence!
Wayne Eddy
Epping, Australia
LGAM Knowledge Base
Contact via Google+
Check out what gives this code:
Piotr Gabryjeluk
visit my blog
Thanks Gabrys!
I found some rogue code that was resetting a variable with data in it:
So the parser couldn't replace the literal text, because the literal text had been deleted.
I don't know how that code appeared there?! It's lost amongst the revisions.
λ James Kanjo
Blog | Wikidot Expert | λ and Proud
Web Developer | HTML | CSS | JavaScript
Wow James! This is great!
A quick question: did you take a peek at how the parser worked in the open source version of Wikidot?
~ Kenneth Tsang — jxeeno.com — my new blog | @jxeeno Twitter | My Site
Wikidot Community via IRC (#wikidot on irc.freenode.net)
Thanks Kenneth :)
All of my coding is 100% my own. When it came to the InterWiki Syntax, however, the documentation only lists “examples”. The list of examples did not appear to be exhaustive of the InterWiki Syntax, so I turned to the Open Source version for clues.
Interestingly enough, the list of examples was exhaustive. Well, except for one: the Polish Wikipedia. It is undocumented, and it uses two alternative syntaxes:
So to answer your question, yes I did take a peek :)
λ James Kanjo
Blog | Wikidot Expert | λ and Proud
Web Developer | HTML | CSS | JavaScript
Post preview:
Close preview