目录

语法

ShellessWiki 支持一些简单的标记语言,旨在使数据文件尽可能易读。本页面包含您在编辑页面时可能使用的所有语法。只需点击“编辑本页”即可查看本页面的源代码。

如果您想尝试某些内容,可以使用 测试页面

基本文本格式化

ShellessWiki 支持 粗体斜体下划线等宽 文本。当然,您可以 组合 所有这些格式。

ShellessWiki 支持 **粗体**、//斜体//、__下划线__ 和 ''等宽'' 文本。
当然,您可以 **__//''组合''//__** 所有这些格式。

您也可以使用 下标上标

您也可以使用 <sub>下标</sub> 和 <sup>上标</sup>。

您也可以将某些内容标记为 已删除

您也可以将某些内容标记为 <del>已删除</del>。

段落由空行创建。如果您想在不创建段落的情况下强制换行,可以使用两个反斜杠后跟空格或行尾。

这是一些带换行的文本
请注意 两个反斜杠只在行尾
或后跟
空格时才被识别 \\否则不会生效。

这是一些带换行的文本\\ 请注意
两个反斜杠只在行尾\\
或后跟\\ 空格时才被识别 \\否则不会生效。

您应该只在真正需要时才使用强制换行。

链接

ShellessWiki 支持多种创建链接的方式。

外部链接

外部链接会自动识别:http://www.google.com 或简单地 www.google.com - 您也可以设置链接文本:此链接指向谷歌。像这样的电子邮件地址:andi@splitbrain.org 也会被识别。

ShellessWiki 支持多种创建链接的方式。外部链接会自动识别:
http://www.google.com 或简单地 www.google.com - 您也可以设置
链接文本:[[http://www.google.com|此链接指向谷歌]]。像这样的
电子邮件地址:<andi@splitbrain.org> 也会被识别。

内部链接

内部链接通过使用方括号创建。您可以只给出 pagename 或使用额外的 链接文本

内部链接通过使用方括号创建。您可以只给出
[[pagename]] 或使用额外的 [[pagename|链接文本]]。

维基页面名称会自动转换为小写,不允许使用特殊字符。

您可以通过在页面名称中使用冒号来使用 namespaces

您可以通过在页面名称中使用冒号来使用 [[some:namespaces]]。

有关命名空间的详细信息,请参阅 命名空间

也可以链接到特定章节。只需在哈希字符后添加章节名称,就像 HTML 中那样。此链接指向 此章节

此链接指向 [[syntax#internal|此章节]]。

注意:

图片链接

您还可以通过组合链接和 图片(见下文)的语法来使用图片链接到另一个内部或外部页面,如下所示:

[[http://nsjag.world|{{wiki:nsjag_icon-01.png}}]]

请注意:图片格式化是链接名称中唯一接受的格式化语法。

支持完整的 图片链接 语法(包括图片调整大小、内部和外部图片以及 URL 和 interwiki 链接)。

脚注

您可以使用双括号添加脚注 1)

您可以使用双括号添加脚注 ((这是一个脚注))。

章节

您可以使用最多五个不同级别的标题来构建内容。如果您有三个以上的标题,会自动生成目录 - 可以通过在文档中包含字符串 ~~NOTOC~~ 来禁用。

标题级别 3

标题级别 4

标题级别 5
==== 标题级别 3 ====
=== 标题级别 4 ===
== 标题级别 5 ==

通过使用四个或更多破折号,您可以创建一条水平线:


媒体文件

您可以使用花括号包含外部和内部 图片、视频和音频文件。您可以选择指定它们的大小。

实际大小:

调整到给定宽度:

调整到给定宽度和高度2)

调整大小的外部图片:

实际大小:                        {{wiki:shellless.png}}
调整到给定宽度:            {{wiki:shellless.png?50}}
调整到给定宽度和高度: {{wiki:shellless.png?200x50}}
调整大小的外部图片:           {{https://www.php.net/images/php.gif?200x50}}

通过使用左侧或右侧空格,您可以选择对齐方式。

{{ wiki:shellless.png}}
{{wiki:shellless.png }}
{{ wiki:shellless.png }}

当然,您也可以添加标题(大多数浏览器会显示为工具提示)。

这是标题

{{ wiki:shellless.png |这是标题}}

有关将图片链接到另一个页面,请参阅上面的 Image Links

支持的媒体格式

ShellessWiki 可以直接嵌入以下媒体格式。

图片 gifjpgpng
视频 webmogvmp4
音频 oggmp3wav
Flash swf

如果您指定的文件名不是支持的媒体格式,则它将显示为链接。

通过添加 ?linkonly,您可以提供指向媒体的链接,而不内联显示它

{{wiki:shellless.png?linkonly}}

shellless.png 这只是指向图片的链接。

备用格式

不幸的是,并非所有浏览器都理解所有视频和音频格式。为了缓解这个问题,您可以上传不同格式的文件以获得最大的浏览器兼容性。

例如,考虑这个嵌入的 mp4 视频:

{{video.mp4|一个有趣的视频}}

当您在引用的 video.mp4 旁边上传 video.webmvideo.ogv 时,DokuWiki 会自动将它们添加为替代方案,以便您的浏览器能够理解这三个文件之一。

此外,ShelllessWiki 支持“海报”图片,该图片将在视频开始之前显示。该图片需要与视频具有相同的文件名,并且是 jpg 或 png 文件。在上面的示例中,video.jpg 文件将起作用。

列表

ShellessWiki 支持有序和无序列表。要创建列表项,请将文本缩进两个空格,并使用 * 表示无序列表,或使用 - 表示有序列表。

  1. 相同的列表但有序
  2. 另一项
    1. 只需使用缩进实现更深层次
  3. 就是这样
  * 这是一个列表
  * 第二项
    * 您可以有不同的级别
  * 另一项

  - 相同的列表但有序
  - 另一项
    - 只需使用缩进实现更深层次
  - 就是这样

另请参阅 关于列表项的常见问题

文本转换

ShellessWiki 可以将某些预定义的字符或字符串转换为图片或其他文本或 HTML。

文本到图片的转换主要用于表情符号。文本到 HTML 的转换用于排版替换,但也可以配置为使用其他 HTML。

文本到图片转换

ShellessWiki 将常用的 emoticon 转换为其图形等效形式。这些 Smileys 和其他图片可以配置和扩展。以下是 ShellessWiki 中包含的表情符号概述:

文本到 HTML 转换

排版:shellesswiki 可以将简单的文本字符转换为其排版正确的实体。以下是识别字符的示例。

→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “He thought 'It's a man's world'…”

-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."

同样可以用于生成任何类型的 HTML,只需将其添加到 模式文件

有三个例外不来自该模式文件:乘法实体 (640×480)、'单引号' 和 “双引号”。可以通过 配置选项 关闭它们。

引用

有时您想标记某些文本以显示它是回复或评论。您可以使用以下语法:

我认为我们应该这样做

> 不,我们不应该

>> 好吧,我说我们应该

> 真的吗?

>> 是的!

>>> 那就让我们这样做吧!

我认为我们应该这样做

不,我们不应该
好吧,我说我们应该
真的吗?
是的!
那就让我们这样做吧!

表格

ShellessWiki 支持创建表格的简单语法。

标题 1 标题 2 标题 3
行 1 列 1 行 1 列 2 行 1 列 3
行 2 列 1 一些跨列(注意双竖线)
行 3 列 1 行 3 列 2 行 3 列 3

表格行必须以 | 开头和结尾(普通行)或以 ^ 开头和结尾(标题行)。

^ 标题 1      ^ 标题 2       ^ 标题 3          ^
| 行 1 列 1    | 行 1 列 2     | 行 1 列 3        |
| 行 2 列 1    | 一些跨列(注意双竖线) ||
| 行 3 列 1    | 行 3 列 2     | 行 3 列 3        |

要水平连接单元格,只需使下一个单元格完全为空,如上所示。确保始终具有相同数量的单元格分隔符!

垂直表格标题也是可能的。

标题 1 标题 2
标题 3 行 1 列 2 行 1 列 3
标题 4 这次没有跨列
标题 5 行 2 列 2 行 2 列 3

如您所见,单元格前的单元格分隔符决定格式:

|              ^ 标题 1            ^ 标题 2          ^
^ 标题 3    | 行 1 列 2          | 行 1 列 3        |
^ 标题 4    | 这次没有跨列 |                    |
^ 标题 5    | 行 2 列 2          | 行 2 列 3        |

您可以通过在要连接的单元格下方的单元格中添加 ::: 来拥有跨行(垂直连接的单元格)。

标题 1 标题 2 标题 3
行 1 列 1 此单元格垂直跨行 行 1 列 3
行 2 列 1 行 2 列 3
行 3 列 1 行 2 列 3

除了跨行语法外,这些单元格不应包含任何其他内容。

^ 标题 1      ^ 标题 2                  ^ 标题 3          ^
| 行 1 列 1    | 此单元格垂直跨行 | 行 1 列 3        |
| 行 2 列 1    | :::                        | 行 2 列 3        |
| 行 3 列 1    | :::                        | 行 2 列 3        |

您也可以对齐表格内容。只需在文本的相对端添加至少两个空格:在左侧添加两个空格以右对齐,在右侧添加两个空格以左对齐,至少在两端添加两个空格以居中文本。

带对齐的表格
右对齐 居中 左对齐
左对齐 右对齐 居中
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

这是它在源代码中的样子:

^           带对齐的表格           ^^^
|         右对齐|    居中    |左对齐          |
|左对齐          |         右对齐|    居中    |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |

注意:不支持垂直对齐。

无格式化

如果您需要完全按照输入的方式显示文本(不进行任何格式化),请使用 <nowiki> 标签或更简单的双百分号 %% 包围该区域。

这是一些包含地址的文本,如:http://www.splitbrain.org 和 **格式化**,但不会对其进行任何处理。 对于 //__this__ text// 和表情符号 ;-) 也是如此。

<nowiki>
这是一些包含地址的文本,如:http://www.splitbrain.org 和 **格式化**,但不会对其进行任何处理。
</nowiki>
对于 %%//__this__ text// 和表情符号 ;-)%% 也是如此。

代码块

您可以通过将它们缩进至少两个空格(如前面的示例中使用的)或使用标签 <code><file> 来在文档中包含代码块。

这是缩进两个空格的文本。
这是预格式化的代码,所有空格都保留:like              <-this
这几乎相同,但您可以用它来显示您引用了一个文件。

这些块由以下源代码创建:

  这是缩进两个空格的文本。
<code>
这是预格式化的代码,所有空格都保留:like              <-this
</code>
<file>
这几乎相同,但您可以用它来显示您引用了一个文件。
</file>

语法高亮

DokuWiki 可以高亮源代码,使其更易于阅读。它使用 GeSHi 通用语法高亮器 - 因此支持 GeSHi 支持的任何语言。语法使用前面部分描述的相同代码和文件块,但这次在标签内包含要高亮的语言语法名称,例如 <code java><file java>

/**
 * The HelloWorldApp class implements an application that
 * simply displays "Hello World!" to the standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //Display the string.
    }
}

当前识别的语言字符串如下:4cs 6502acme 6502kickass 6502tasm 68000devpac abap actionscript3 actionscript ada aimms algol68 apache applescript apt_sources arm asm asp asymptote autoconf autohotkey autoit avisynth awk bascomavr bash basic4gl batch bf biblatex bibtex blitzbasic bnf boo caddcl cadlisp ceylon cfdg cfm chaiscript chapel cil c_loadrunner clojure c_mac cmake cobol coffeescript c cpp cpp-qt cpp-winapi csharp css cuesheet c_winapi dart dcl dcpu16 dcs delphi diff div dos dot d ecmascript eiffel email epc e erlang euphoria ezt f1 falcon fo fortran freebasic freeswitch fsharp gambas gdb genero genie gettext glsl gml gnuplot go groovy gwbasic haskell haxe hicest hq9plus html html4strict html5 icon idl ini inno intercal io ispfpanel java5 java javascript jcl j jquery julia kixtart klonec klonecpp kotlin latex lb ldif lisp llvm locobasic logtalk lolcode lotusformulas lotusscript lscript lsl2 lua m68k magiksf make mapbasic mathematica matlab mercury metapost mirc mk-61 mmix modula2 modula3 mpasm mxml mysql nagios netrexx newlisp nginx nimrod nsis oberon2 objc objeck ocaml-brief ocaml octave oobas oorexx oracle11 oracle8 oxygene oz parasail parigp pascal pcre perl6 perl per pf phix php-brief php pic16 pike pixelbender pli plsql postgresql postscript povray powerbuilder powershell proftpd progress prolog properties providex purebasic pycon pys60 python qbasic qml q racket rails rbs rebol reg rexx robots roff rpmspec rsplus ruby rust sas sass scala scheme scilab scl sdlbasic smalltalk smarty spark sparql sql sshconfig standardml stonescript swift systemverilog tclegg tcl teraterm texgraph text thinbasic tsql twig typoscript unicon upc urbi uscript vala vbnet vb vbscript vedit verilog vhdl vim visualfoxpro visualprolog whitespace whois winbatch wolfram xbasic xml xojo xorg_conf xpp yaml z80 zxbasic

有关语法高亮的其他 高级选项,例如高亮行或添加行号。

可下载的代码块

当您使用上面的 <code><file> 语法时,您可能还想使显示的代码可供下载。您可以通过在语言代码后指定文件名来执行此操作,如下所示:

<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
myexample.php
<?php echo "hello world!"; ?>

如果您不想要任何高亮但想要可下载的文件,请将破折号(-)指定为语言代码:<code - myfile.foo>

RSS/ATOM 订阅聚合

shellesswiki 可以集成来自外部 XML 订阅的数据。为了解析 XML 订阅,使用 SimplePie。SimplePie 理解的所有格式也可以在 DokuWiki 中使用。您可以通过多个额外的空格分隔参数来影响渲染:

参数 描述
任意数字 将用作要显示的最大项目数,默认为 8
reverse 首先显示订阅中的最后项目
author 显示项目作者名称
date 显示项目日期
description 显示项目描述。所有 HTML 标签将被删除
nosort 不对订阅中的项目进行排序
n[dhm] 刷新周期,其中 d=天,h=小时,m=分钟。(例如 12h = 12 小时)。

刷新周期默认为 4 小时。任何低于 10 分钟的值将被视为 10 分钟。DokuWiki 通常会尝试提供页面的缓存版本,显然当页面包含动态外部内容时这是不合适的。该参数告诉 DokuWiki 如果自上次渲染以来超过 刷新周期,则重新渲染页面。

默认情况下,订阅将按日期排序,最新的项目在前。您可以使用 reverse 参数按最旧的在前排序,或使用 nosort 按原样显示订阅。

示例:

{{rss>http://slashdot.org/index.rss 5 author date 1h }}

控制宏

某些语法会影响 ShellessWiki 渲染页面的方式,而不会产生任何输出。以下控制宏可用:

描述
~~NOTOC~~ 如果在页面上找到此宏,则不会创建目录
~~NOCACHE~~ ShellessWiki 默认缓存所有输出。有时这可能不是想要的(例如,当使用上面的 <php> 语法时),添加此宏将强制 ShellessWiki 在每次调用时重新渲染页面

语法插件

ShellessWiki 的语法可以通过 插件 扩展。如何使用已安装的插件在其相应的描述页面上描述。以下语法插件在此 ShellessWiki 安装中可用:

1)
这是一个脚注
2)
当给定宽度和高度的高宽比与图片的高宽比不匹配时,将在调整大小之前裁剪到新比例