帮助:Wiki标记语言
Wiki标记语言(Wiki markup language),亦称Wiki Markup、Wikitext、wiki代码,是一种轻量级标记(Markup)语言,被用于撰写Wiki网页,例如维基百科,最初是一个简单化的,非正统的,中间性的HTML。它的最终目的是被wiki软件转换成HTML,并且重新回到浏览器中。该语言最初创建于1995年,在最初的wiki站点WikiWikiWeb用于格式化页面。
不过想要编辑页面并非一定要懂Wiki标记语言,您还可以使用可视化编辑器(VisualEditor)或可视化模式的传统编辑器(WikiEditor)进行编辑(开启可视化编辑器后,两者可相互切换)。但是,学会Wiki标记语言将更加方便且更能掌握编辑内容。
Wiki标记语言可在任意一种编辑器的源代码模式使用。以下为进入源代码模式的方法:
- 传统编辑器:点击编辑区域右上“编辑源代码”选项卡。
- 可视化编辑器:点击工具栏右侧菜单按钮并选择“编辑”。
概述
初衷
wikitext在最初的使命是一种简化书写的HTML语言
- 例如,我们通过“
[[链接]]
”即可书写一个站点的内链,而不用手打一串
<a href="http://wiki.mindseed.cn/链接" class="extiw" title="链接"><i class="fa fa-paperclip"></i> 页面分类</a>
大部分情况下,在MediaWiki的源代码编辑器中,wikitext可以与HTML语言混用,除非是一些有注入风险的html标签和属性,譬如<a>
和CSS属性中的url
,他们会被wikitext处理掉,无法生效。
引入逻辑
随着维基的发展,wikitext引入了一个重要的概念——“解析器函数”,从而其内容和功能也从单纯的样式控制扩展到了“样式控制”+“逻辑运算”。
这一变革带来了许多深远的影响,MediaWiki也因此以其独树一帜的逻辑运算功能成为维基软件中最全能的一个。但也带来了一些缺陷,并在日后逐渐浮出水面:
- MediaWiki的解析器函数使用的语法是
{{#}}
+参数(arguments)而非真正逻辑语言常用的起止符配对机制。这使得一段逻辑有多长都要全部放在双括号中,结果就是wikitext书写的逻辑嵌套非常难读、难以维护并且给可视化编辑器造成了巨大的兼容障碍(需要parser/escape很多极端的情况),作为参数分隔的管道符“|
”还常常与书写表格的pipe语法互相冲突导致样式解析失常。 - 解析器函数需要被MediaWiki的Parser进行处理,样式控制的部分被还原成HTML,逻辑部分需要被处理成PHP函数,在特别复杂的wikitext嵌套情况下会导致网页加载速度变慢。极端情况下(例如高频度的?action=purge或其他触及批量刷新缓存的操作),还有可能卡死数据库(突出表现在Semantic MediaWiki的#ask和#show函数上)。
心百科支持的标记语法
心百科采用MediaWiki搭建,MediaWiki支持大多数常见的HTML标签。
- 主条目:编辑页面
关于逻辑运算部分请参考
- 主条目:解析器函数
关于数据存储和查询可以使用Cargo
- 主条目:Cargo