维基语法
目录 |
创建页面
开始新页面有多种方法。根据页面类型、维基自身以及名字空间的不同,这些方法也不尽相同。
使用维基链接
在 MediaWiki 中使用标准语法能够很轻易地链接一个维基页面 。如果你创建了一个指向不存在的文章的链接,那么这个链接就会被标为红色,就像这样。
点击红色的连接将会把你带到新条目的编辑页面。键入文字,点击保存,新页面就创建好了。
一旦页面创建完成,链接会从红色变为蓝色(访问过的链接会变成紫色)来显示该条目现在已经存在了。
通常这是创建新页面最好的方法,因为它意味着从一开始,新的页面就会被至少一个其它页面链接到(随后你通常会把它链接到其它相关页面中去)。如果你正在创建一个新页面,但却没有任何链接指向它,你可能要先问问自己:维基中是否已存在适合这个页面的主题了?此外,你希望访问者如何找到这个页面?一般来说,在创建一个指向新页面的红色链接之前,都没有必要创建新的页面。
从搜索页面创建
如果你搜索了一个并不存在的页面(使用页面左侧的搜索框和“进入”按钮),就会看到一个创建新页面的链接。
使用 URL
你可以使用维基的 URL 来创建新页面。维基页面的 URL 一般像这样:
http://www.example.net/index.php/条目名字
或者http://www.example.net/wiki/条目名字
如果你将条目名字
换成你想要创建的条目的标题,你会被带到一个空白页面,显示以该名字命名的条目还不存在。点击页面顶部的“编辑”选项卡,会把你带到该条目的编辑页面,你可以在这里键入文字以创建新页面,然后点击“保存本页”。
设置到你的新页面的重定向
在创建新页面的时候不要忘记设置重定向。如果你认为其他人可能会用另外的名称或者写法来搜索你创建的页面的话,请创建合适的重定向。参见 #页面重定向。
文字
字体/颜色/粗体/斜体
注释/换行
禁止语法转换
语法 | 示例 | 效果 |
---|---|---|
字体 |
<font size=1>白日依山尽</font> |
白日依山尽 |
颜色 |
<font color=red>黄河远上白云间</font> |
黄河远上白云间 |
粗体斜体 |
''斜体文字''<br> |
斜体文字 |
注释 |
京口瓜洲一水间,钟山只隔数重山。<br> |
京口瓜洲一水间,钟山只隔数重山。 |
换行 |
MediaWiki文本中,单独回车并不会出现换行。为强制换行,可以:
例如: 这是第一行<br>这是第二行<br>这是第三行 |
这是第一行 |
html标记 |
<tt>枯藤老树昏鸦</tt> <code>小桥流水人家</code> <u>古道西风瘦马</u> <strike>夕阳西下</strike> <s>断肠人在天涯</s> <!--元 马致远 天净沙·秋思--> |
枯藤老树昏鸦 |
各种特殊字符
语法控制
nowiki
pre和前导空格
语法 | 示例 | 效果 |
---|---|---|
<nowiki></nowiki> | <nowiki></nowiki>标记将[[维基]]代码忽略。它进行文本格式化:除去换行符和多的空格。不过它仍然会解释特殊字符.
例:(sum中间的空格是专门加的,不然会被解析成特殊字符) <nowiki>[[页面]],多个空格开始 结束,特殊字符&su m; </nowiki> |
[[页面]],多个空格开始 结束,特殊字符∑ |
<pre></pre> |
pre标记忽略[[维基]]代码。不过它不格式化文本。还是要解释特殊字符。 例: <pre>[[页面]],多个空格开始 结束,特殊字符&su m; </pre> |
[[页面]],多个空格开始 结束,特殊字符∑ |
前导空格 |
前导空格是pre的另一种形式。行首以半角空格开始,文本就不能被格式化了。但它能解释维基代码和特殊字符。 例:(行首有个半角空格) [[页面]],多个空格开始 结束,特殊字符&su m; </pre> |
页面,多个空格开始 结束,特殊字符∑ |
列表和缩进
顺序列表
无序列表
缩进
语法 | 效果 | |
---|---|---|
顺序列表 |
# 顺序列表第一项
|
|
顺序列表缩进 |
# 顺序列表第一项 |
|
无序列表 |
* 无序列表第一项 |
|
无序列表缩进 |
* 无序列表第一项 |
|
缩进 |
行首冒号:用来缩进,可以多个连续使用
|
|
定义列表 |
使用;与:号配合 称为定义列表控制符,冒号之后的部分换行缩进显示。 例如: ;勾股定理:平面上的直角三角形的两条直角边的长度的平方和等于斜边长的平方 |
|
标题 章节 段落
标题 章节 段落
MediaWiki标题使用等号来控制。
文章较长而需要设置段落标题时,可使用
= 一级标题 = == 二级标题 == === 三级标题 === ==== 四级标题 ==== ===== 五级标题 ===== ====== 六级标题 ======
等 wiki 标记。系统将自动根据标题等级显示出不同的字体效果。
注意:文章标题要求在行首书写,结尾的等号之后不能紧跟文字,否则MediaWiki将不认为是标题。
禁止编辑
你可以对单个段落使用编辑功能,在每个段落标题的右侧都有一个[编辑]链接。它可以用来编辑这个段落内容。
使用"__NOEDITSECTION__" 可以禁止段落编辑。
本页面就在最顶部使用了__NOEDITSECTION__标记。
目录控制
当文章中含有3个以上标题时,mediawiki将自动在第一个标题之前生成目录(这是默认的设置)。
- 如果需要隐去目录,可以在文章中加入“__NOTOC__”标记;
- 如果需要强制显示目录而不管标题数量,可以加入“__TOC__”标记;
这两个wiki标记不限制出现位置,但一般出现在文章头部或尾部且单独成行。
链接
内部链接
外部链接
引用页面
引用分类
页面内链接/段落链接
页面重定向
语法 | 描述 | 语法 | 效果 |
---|---|---|---|
内部链接 |
MediaWiki内部链接使用两个方括号.例如链接到首页,请输入[[首页]] |
[[首页]]
|
|
外部链接 |
分以下两种情况:
|
http://www.baidu.com [http://www.baidu.com 百度] |
|
引用页面 |
mediawiki中允许调用其他页面中的内容,方法为文章中输入{{被引用文章}}。在其中要指出命名空间,比如需要引用主命名空间下的“地球”,则使用{{:地球}}。 这种调用一般用于公共内容的处理,例如同一专题的侧栏、导航条内容等。 |
本页面的 文字特殊字符 章节就使用的引用页面语法。 |
|
引用分类 |
在 mediawiki 文章中链接分类页面正确的写法是[[:category:XXX]],显示时不会显示前导冒号。 如果没有前导冒号,直接书写[[category:XXX]]不能得到正确的链接,而会将页面进行一次预料之外的分类。 分类页面链接的引用中也可以增加说明文字,格式为[[:category:XXX|说明文字]],例如文本中的 [[:category:个人维基|个人维基这个分类]]将显示为 个人维基这个分类。 |
[[:category:个人维基]] [[:category:个人维基|个人维基这个分类]] |
|
页面内链接/段落链接 |
可以在链接到页面的某一章节 |
[[#语法控制]] |
|
页面重定向 |
如果页面内容和另一个页面名称重复,就可以将此页面重定向过去 #REDIRECT[[目标页面]] |
[[中央处理器]]页面已经存在了,那么可以把[[CPU]]页面重定向过去,在[[CPU]]页面顶部输入: #REDIRECT[[中央处理器]] 此后在访问[[CPU]]页面的时候,就会自动跳转到[[中央处理器]]页面。 |
#REDIRECT[[中央处理器]] |
模板
如果你需要在多个页面中包含同样的文本, MediaWiki 的模板功能就起到作用了 (就像上面的帮助文档都会有的标签一样)。
创建模板
模板其实也是一种 wiki 条目,但它是主要是用于嵌入到其它页面中。模板的页面名称最前面都有 Template:
。只要像其他页面一样创建就可以了。
使用模板
模板除了作为普通的 wiki 页面之外,还可以有以下三种使用方法:
{{模板名称}}
会将模板的当前内容包含在页面内。{{subst:模板名称}}
会在保存后将模板的内容以平常可以编辑的方式 (wiki 代码) 插入页面源代码中。{{msgnw:模板名称}}
会将模板的源代码包含在页面中,类似<nowiki>
一样。
注意:
- Template可以用模板替换。
分类
添加与编辑分类
在文本中嵌入“[[category:文章分类]]”的文字,会使本页面自动归类到“文章分类”下面。一般习惯在文章末尾放置该语句;同一篇文章可以设定多个分类。
编辑完成后,点击正文页面下端的分类名称,可以进入该分类页面查看更多的同类文章。同时,分类页面中也可以进行编辑,以进行必要的说明。
引用分类
在 mediawiki 文章中链接分类页面正确的写法是[[:category:XXX]],显示时不会显示前导冒号。 如果没有前导冒号,直接书写[[category:XXX]]不能得到正确的链接,而会将页面进行一次预料之外的分类。
分类页面链接的引用中也可以增加说明文字,格式为[[:category:XXX|说明文字]],例如文本中的 [[:category:个人维基|个人维基这个分类]]将显示为 个人维基这个分类。
分类重定向
当有多个分类名称指的是同一个概念时,可以使用重定向语法指定到某一个分类上面去,语法和条目的重定向语法是完全一样的.
例如CPU分类的内容写为:
#REDIRECT[[分类:中央处理器]]
注意:
- category可以用分类替换。
图片
插入图片
大小,位置
禁止文字环绕
链接图片但不显示
图库
图片使用下面形式:
[[image:图片文件|参数1|参数2|参数...|描述文字]]
描述 | 语法 | 效果 |
---|---|---|
加入图像,原始大小,当前位置 | [[image:Wiki.png]] | 文件:Wiki.png |
宽度更改为100像素,高度会等比例缩放,靠右 | [[image:Wiki.png|100px|right]] |
|
宽度更改为100像素,高度会等比例缩放,禁止文字环绕 |
[[image:Wiki.png|100px|none]] |
有些人认为,Wiki系统属于一种人类知识的网络系统 |
宽度75像素,置中 | [[image:Wiki.png|center|75px]] |
|
宽度75像素,靠左,带边框,带描述 | [[image:Wiki.png|left|75px|frame|可爱太阳花]] | |
自动缩放,默认缩放大小为180像素,置于右侧,带边框 | [[image:Wiki.png|thumb]] | |
自动缩放,大小限制在100px,靠左,带边框 | [[image:Wiki.png|thumb|100px|left]] | |
自动缩放,置于右边,100像素,配说明文字,带边框 | [[image:Wiki.png|thumb|100px|漂亮的图片]] | |
当有参数冲突的时候,参数使用左侧出现的,说明文字使用最右侧的。 | [[image:Wiki.png | thumb | right | 我最爱的图片 | left | 向日葵]] | |
防止后续文字继续出现在图片旁,可以使用: |
|
wiki是一种在网络上开放且可供多人协同创作的超文本系统.
基本上,Wiki包含一套能简易制作与修改HTML网页的系统,再加上一套记录和编排所有改变的系统,并且提供还原改变的功能。 |
链接图片但不显示 |
[[Media:wiki.png]] [[Media:wiki.png | 维基logo]] [[:image:wiki.png]] [[:image:wiki.png | 太阳花]] |
|
图库,会根据页面大小自动排列图片 |
<gallery> |
|
图库,带参数 |
<gallery caption="各种图片" widths="50px" heights="50px" perrow=3> |
|
表格
简单表格
维基风格
表格的宽度和高度
表格内容的位置
描述 | 源码 | 效果 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
简单表格,带边框,带标题栏, |
{| border="1" style="border-collapse;" !姓名 !部门 !电话 |- |张三 |研发部 |(07)3881-6090 |- |李四 |测试部 |(07)3881-6094 |} |
| ||||||||||||
简单表格,wiki风格 (这种写法更清晰) |
{| class="wikitable" ! 姓名 !!部门 !! 电话 |- ||张三 ||研发部 || (07)3881-6090 |- ||李四 ||测试部 || (07)3881-6094 |} |
| ||||||||||||
加上标题,不带边框,不带标题栏 |
{| |+标题加在'''这里''' |- ||张三 ||研发部 ||(07)3881-6090 |- ||李四 ||测试部 ||(07)3881-6094 |} |
| ||||||||||||
控制表格的宽度和高度 |
{| border="2" style="width:80%;height:200px" |+公司通讯录 !姓名 !单位 !电话 |- |style="width:20%"|张三 |style="width:40%"|研发部 |style="width:40%"|(07)6881-6090 |- |李四 |测试部 |(07)3881-6094 |} |
| ||||||||||||
控制单行高度 |
{| border="2" class="wikitable" style="width:80%" |+公司通讯录 !姓名 !单位 !电话 |- |style="width:20%;height:50px"|张三 |style="width:40%"|研发部 |style="width:40%"|(07)3881-6090 |- |李四 |测试部 |(07)3881-6094 |-style="height:75px" |马五 |生产部 |(07)3881-6098 |} |
| ||||||||||||
控制表格内容的位置 |
{| border="2" style="width:80%" |+公司通讯录 !姓名 !单位 !电话 |- |style="width:20%;height:50px" align="right"|张三 |style="width:40%"|研发部 |align="center"|(07)3881-6090 |- |李四 |测试部 |(07)3881-6094 |-style="height:75px" align="center" |马五 |生产部 |(07)3881-6098 |} |
|
脚注
脚注
科学家说,太阳是挺大的<ref>张三. 2005. 太阳. 学术出版社, 香港. pp. 23.</ref>。
不过,月亮就沒有那么大了<ref>李四. 月亮的大小. 科学选集. 科学研究社, 北京. 46: 78. </ref>。
==参考文献==
<references />
显示效果:
多处标明同一项脚注
如果想多处标明同一项脚注,请用「 <ref name="name"> 」代替「<ref>」,name是该脚注的名称。文章后段如果需要参照同一个脚注,您只需再次输入带有"name"的脚注标签就可以了,第二个和以后的标签里面写的东西不会显示出来,因为系统会参照第一次标签的脚注。您可以将整个脚注标签重新输入一次,或是输入斜线在末端的空标签:「<ref name="name" />」。
以下例子使用了同一项脚注3次:
这是多处标明同一项脚注的例子<ref name="multiple">请谨记,多次使用同一项脚注,系统只会参照第一次的脚注文本。</ref>。
这种方法可以表明,同一项数据源作出了多项表述<ref name="multiple">这里写的字是多余的,哪里都不会显示。不如直接使用空标签。</ref>。
使用斜线在末端的空标签,让原始码显得更整洁<ref name="multiple" />。
==参考文献==
<references />
上述文字码会显示成:
注意:
- name属性对大小写和繁简都敏感。
- 删除多项脚注的第一项标签的时候,应当特别留意,以免影响文章后段的一切脚注连结。
把脚注分组
如果想把脚注分组,请用<ref group="xxx">,group是该脚注的组别,显示成这样[xxx 1]。而使用<references group="xxx" />便可把该组的脚注显示。
以下例子使用了两组脚注:
AAA<ref group="ref">参考a</ref>BBB<ref group="note">注b</ref>CCC<ref group="ref">参考c</ref>
----
;ref组脚注:
<references group="ref" />
;note组脚注:
<references group="note" />
则会显示成:
注意:group属性对大小写和繁简都敏感。
语法高亮
Mediawiki本身不支持语法高亮,使用语法高亮,需要通过特定的插件来完成.目前最广泛使用的语法高亮插件是 SyntaxHighlight_GeSHi.
语法
使用起来非常简单,只要用 <source lang="语言代码"> </source>将源代码括起来就可以.
形式如下:
<source lang="c"> C语言源代码 </source>
语言类型
SyntaxHighlight GeSHi支持的语言类型:
Code | Language |
---|---|
abap |
ABAP |
actionscript |
ActionScript |
ada |
Ada |
apache |
Apache Configuration |
applescript |
AppleScript |
asm |
Assembly |
asp |
Active Server Pages (ASP) |
autoit |
AutoIt |
bash |
Bash |
basic4gl |
Basic4GL |
bf |
Brainfuck |
blitzbasic |
Blitz BASIC |
bnf |
Backus-Naur Form |
c |
C |
c_mac |
C (Mac) |
caddcl |
AutoCAD DCL |
cadlisp |
AutoLISP |
cfdg |
CFDG |
cfm |
ColdFusion Markup Language |
cil |
Common Intermediate Language (CIL) |
cobol |
COBOL |
cpp-qt |
C++ (Qt toolkit) |
cpp |
C++ |
csharp |
C# |
css |
Cascading Style Sheets (CSS) |
d |
D |
delphi |
Delphi |
diff |
Diff |
div |
DIV |
dos |
DOS batch file |
dot |
DOT |
eiffel |
Eiffel |
fortran |
Fortran |
freebasic |
FreeBASIC |
gambas |
Gambas |
genero |
Genero |
gettext |
GNU internationalization (i18n) library |
glsl |
OpenGL Shading Language (GLSL) |
gml |
Game Maker Language (GML) |
gnuplot |
gnuplot |
groovy |
Groovy |
haskell |
Haskell |
hq9plus |
HQ9+ |
html4strict |
HTML |
html5 |
HTML5 |
idl |
Uno IDL |
ini |
INI |
inno |
Inno |
intercal |
INTERCAL |
io |
Io |
java |
Java |
java5 |
Java(TM) 2 Platform Standard Edition 5.0 |
javascript |
JavaScript |
kixtart |
KiXtart |
klonec |
Klone C |
klonecpp |
Klone C++ |
latex |
LaTeX |
lisp |
Lisp |
lolcode |
LOLCODE |
lotusscript |
LotusScript |
lua |
Lua |
Code | Language |
---|---|
m68k |
Motorola 68000 Assembler |
make |
make |
matlab |
MATLAB M |
mirc |
mIRC scripting language |
mxml |
MXML |
mpasm |
Microchip Assembler |
mysql |
MySQL |
nsis |
Nullsoft Scriptable Install System (NSIS) |
objc |
Objective-C |
ocaml-brief |
OCaml |
ocaml |
OCaml |
oobas |
OpenOffice.org Basic |
oracle8 |
Oracle 8 SQL |
oracle11 |
Oracle 11 SQL |
pascal |
Pascal |
per |
per |
perl |
Perl |
php-brief |
PHP |
php |
PHP |
pixelbender |
Pixel Bender |
plsql |
PL/SQL |
povray |
Persistence of Vision Raytracer |
powershell |
Windows PowerShell |
progress |
OpenEdge Advanced Business Language |
prolog |
Prolog |
providex |
ProvideX |
python |
Python |
qbasic |
QBasic/QuickBASIC |
rails |
Rails |
reg |
Windows Registry |
robots |
robots.txt |
rsplus |
R |
ruby |
Ruby |
sas |
SAS |
scala |
Scala |
scheme |
Scheme |
scilab |
Scilab |
sdlbasic |
SdlBasic |
smalltalk |
Smalltalk |
smarty |
Smarty |
sql |
SQL |
tcl |
Tcl |
teraterm |
Tera Term |
text |
Plain text |
thinbasic |
thinBasic |
tsql |
Transact-SQL |
typoscript |
TypoScript |
vala |
Vala |
vb |
Visual Basic |
vbnet |
Visual Basic .NET |
verilog |
Verilog |
vhdl |
VHDL |
vim |
Vimscript |
visualfoxpro |
Visual FoxPro |
visualprolog |
Visual Prolog |
whitespace |
Whitespace |
winbatch |
Winbatch |
xml |
XML |
xorg_conf |
Xorg.conf |
xpp |
X++ |
z80 |
ZiLOG Z80 Assembler |
示例
源码 | 效果 |
---|---|
<source lang="c"> #include <stdio.h> int main(int argc,char * argv[]) { int a,b,c; a=2,b=3; c=a+b; printf("%d+%d=%d\n",a,b,c); return 0; } </source>
|
#include <stdio.h> int main(int argc,char * argv[]) { int a,b,c; a=2,b=3; c=a+b; printf("%d+%d=%d\n",a,b,c); return 0; } |
<source lang="java"> public class HelloWorld { public static void main(String args[]) { System.out.println("Hello, World!"); } } </source> |
public class HelloWorld { public static void main(String args[]) { System.out.println("Hello, World!"); } } |