Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.54 KB

readme.md

File metadata and controls

20 lines (15 loc) · 1.54 KB

Bangumi 现有的 wiki 语法的规范

仓库状态: working in progress

bangumi 现有的需要进行语法解析的有前端和后端两部分,各个语言应当对相同的内容解析出相同的结果。

  1. wiki 文本可以使用 \n 或者 \r\n 作为换行符,下文不区分\n\r\n
  2. wiki 应该{{Infobox 开始,以\n}}结束,空文本和 {{Infobox\n}} 具有相同的含义。
  3. 每一个 wiki 最多具有一个类型,于{{Infobox位于同一行。型如{{Infobox Type,类型仅能包含[a-zA-Z]/。类型可以省略。
  4. wiki 可以包含多个字段,每个字段必须另起一行,以|开始。必须使用=分割字段名和字段值。(一行中如果出现多个 = 应该如何处理?)
  5. 字段值可以是字符串或者列表,默认为空字符串。
    1. 列表必须{开始,以}结束。={之间不应该包含换行符,可以包含空格。
    2. 列表元素和标记列表结束的}必须独立成行。
    3. 所有的列表元素都应该以被包在[]中,元素值可以包含[]。如 [v]] 应该为解析为 v]
    4. 列表的元素可以是没有名称的简单元素(如[value]),或者包含名称和值的复杂元素(如[name|value])。名称和值都应当是字符串,不能嵌套。(name 或者 value 包含|怎么办?)
    5. 空行应该被忽略。

...

本仓库包含了一系列的测试用例。用于帮助各个解析器能解析出相同的结果。