Preamble
Wiki Syntax, or the hopefully simpler markup that is used in WikiPages instead of HTML. In theory it should look as close to PlainText as possible, although in reality programmers tend to make this insanely complicated. Although, arguably, a WysiwygWiki would be a HumaneInterface.
There's little consistency across WikiEngines for a variety of reasons. One, there should be no standard syntax. The WikiSyntax is the UserInterface, it is not the data encoding. This point gets lost on many people (e.g. the TikiWiki RFC for standard syntax), but wikis aren't really a medium unto themselves. They are more like pure expressions of CyberText. To get away from philosophy, many wikis have to change their local syntax to fit their local users' needs, such as adding LatexInWiki or conforming to pre-existing documentation markup or pre-existing text formatting conventions in that community. This is as it should be. By now, given the proliferation of syntaxes, it should be clear that it is not reasonable to standardize the syntax.
Working with the NetworkStandard model, we prefer first to develop a backend WikiInterchangeFormat that does not impact the UserInterface, and second not to impose the format on wikis that do not wish to communicate with us. That is simply because each wiki will structure itself as it wants; the complications of mapping an ArchivingNews wiki to a PatternLanguage wiki is too much to consider.
Admittedly the above is the biased opinion of one commenter (me). But for the past seven years, this issue has been pressing on wiki developers who both want to exchange data but not give up on their local syntax. Consider this exchange:
On the other hand, should we aim to establish standards? --anon. (1)
Not yet, I think. We are still searching for the perfect Wiki markup language. Once we discover that perfect language, then we can standardize. --anon. (2)
The demand for a markup standard is there. So let's begin discovery on WikiMarkupStandard. --anon.(3)
I do not subscribe to the idea of a standard for markup, and will make strong arguments against it in the RFC. Markup is dynamic, application dependent, and deeply religious. For similar reasons I do not subscribe to the idea of a WikiParserModel. I absolutely subscribe to the concept of a WikiInterchangeFormat (CanonicalWikiForm). -- CrawfordCurrie
Having worked on ScalableVectorGraphics and read the W3C specs as well as the C language specification, my rationale for a parser model is simply to give us an underlying theory of how the interchange format will function. If it's not done, and if it's not done properly, the final standard will be highly idiosyncratic, and therefore limit how people can form syntax. -- SunirShah
See TextFormattingRules, TextFormattingRulesSpanish for the local markup.
CategoryWikiTechnology CategoryTextMarkup
Call for participation
Please add whatever you think is needed, like missing syntax, parser theory, algorithms, best practices, refactoring, etc. The aim is to build a WikiParserModel and then a WikiInterchangeFormat based on that. -- SunirShah
PatternLanguage
Syntax Examples
Please link to any pages that give fairly complete treatments of wiki markup. Pages here should more or less describe a complete syntax or at least a large part of it; if the page is limited to only a particular link style, search behavior, semantic, etc, use the sections following.
- Wiki:TextFormattingRules -- Not a very formal document, but the canonical reference
- YourPageHere
Support Idiom
XXX FIXME: what does this section mean? None of these terms are even linked.'
- AutoTranslate (e.g.: Now or e.g.: BeforeLoadPageCodeCharacterNum_xxx )
- ChooseIdiom (e.g.: Spanish)
- DataBaseDictionaryLoad (e.g.: EnglishSpanish-SpanishEnglish )
- SearchLinksToDictionarys (open page for download into computer a a free dictionary for use with Wiki)
- CompareAlternateIdioms (compare matches with a translate matches from a select wikisyntax idiom )
Link syntax
- LinkPattern
- AccidentalLinking
- FreeLink pattern
- BracketedLink
- Numbered bracket links
- Described bracket links
- WikiNameCanonicalization
- NoSuchPageSyntax
- AutoLink (e.g GaGaParser)
- SpacesInTitles
- EscapeLinkPattern (Wiki:SixSingleQuotes, double double quote, !LinkPattern)
Site structure
- BackLink
- SubPages
- PageCluster
- AcademicCitations
- NamedAnnotation
- DatePage
- PageAlias
- PageRedirect
- RdfForWikis
- LinkingBetweenNamespaces
External links
- NearLink
- InterWikiLinks
- LinkIcon (UseMod:WikiPatches/InterSiteIcons)
- TwinPages
- SisterSite
- ShortCut
- UniformResourceLocator (just type it in; e.g.
http://example.com) - ImageLink (just type it in e.g.
http://example.com/image.jpg) - WikiBlogging links ( e.g. WikiPragma: ThisWikiPageBlogsTo blog1, blog2 )
Line and Paragraph
- CharacterFormattingRules
- EmphasisPattern
- SafeHTML
- CharacterEntity
- TabsAndSpacesDiscussion (Wiki:SpellWhiteSpace)
- Strip TrailingSpaces!
- LineContinuation
- MultilingualWikiTools
- FadingNew (http://fox.wikis.com/wc.dll?Wiki~FadingNew
- EmoticonImage
Block
- ParagraphFormattingRules
- TableSyntax
- HeaderSyntax
- ListSyntax
- HorizontalRule
- IndentedMonospace
- InternalTransclusion
- FormsInWiki
- LatexInWiki
- ProcessingInstructions, InlineMacros (including top-of-page comments like DeletedPage, ReplaceFile)
- LineComment
- SyntaxHighlighting
Page structure
CyberText
Parser theory
- EscapeParser (nowiki syntax; prefer backtick a la InfiniteMonkey noting no interference with quotes'')
- EscapeMetaCharacters
- GrepParser
- ConsumeParseRenderVsMatchTransform
- WikiParserModel
- AutomaticallyCloseTags http://fox.wikis.com/wc.dll?Wiki~WikiWhyItAutomaticallyClosesTags
- CacheHTML
- ConsumeParseRenderVsMatchTransform - Summary: Wikis often use a context-sensitive global text transform rules for parsing rather than the traditional lex -> parse -> AST -> tree walk render model used by context free languages. This has a number of implications for the languages created and used by wiki engines.
Exchange
- WikiMarkupStandard
- WikiXmlDtd
- WikiInterchangeFormat
- WikiWikiTransportProtocol
- WikiTextMimeType
- WikiToLatex
- Use the TextWiki tool to convert syntaxes (a la WikiWindow).
- RawMode
- http://tikiwiki.org/tiki-index.php?page=RFCWiki