1 个不稳定版本

0.1.0 2022 年 8 月 16 日

#1534 in 文本处理

MIT/Apache

17KB
264

这个包可以将简单的基于文本的对话格式解析为可工作的格式。对话格式受到了 Markdown 的启发。

文本格式

标题

每个线性对话序列由以 # 开头的标题定义。子标题以多个 # 开头。

标题可以比前一个标题多一个 #。标题是最后一个标题的子标题,其 # 少一个。

每个标题的内容都应被解释为顺序对话。

空标题将被忽略。

示例

# Header 1

## Subheader 1

Dialog 1

## Subheader 2

Dialog 2

# Header 2

Dialog 3

## Subheader 1

Dialog 4

## Subheader 2

Dialog 5

通用格式

对话由多个通过换行符分隔的文本块组成。

文本块旨在一次显示在一个文本框中。

这里有三个不同大小的文本块

Textblock 1, Line 1
Textblock 1, Line 2
Textblock 1, Line 3

Textblock 2

Textblock 3, Line 1
Textblock 3, Line 2

说话者

可以在文本块前添加说话者,用冒号 (:) 分隔。说话者名称可能包含空格。名称会被截断。

说话者名称可能与文本在同一行,也可能在下一行。如果没有指定说话者,则文本块被视为不属于任何说话者。它可能是叙述者的文本。

这是 Alice 和 Bob 之间一个简单的对话

Alice: Hi!

Bob: Hi, how are you doing today?
Is everything fine?

Bob seems concerend, while waiting for an answer.

Alice:
Yeah, everything is fine today.
Nice to see you again.

事件

也可以在文本中添加事件。以减号 (-) 开头的行代表事件。

这为特定参数设置值

- Parameter1 Value1
- Parameter2 Value2

这将参数恢复到默认值

- Parameter1!
- Parameter2!

可用的确切参数和值名称必须通过实现此库的特性行指定。

要指定相关参数,可以使用参数路径,由冒号分隔。参数路径可以使用缩进来表示层次结构。每行的缩进必须是 2 的倍数,并且比前一行多两个空格。

平面表示

- Path:To:Parameter Value

层次结构表示

- Path:
  -To:
    - Parameter Value

以冒号 (:) 结尾的行本身不会触发事件。它们就像被忽略了一样,除了路径。

这允许在类似路径中设置多个参数,如下所示

- Long:Path:To:
  - Parameter1 Value1
  - Parameter2 Value2

这等价于以下内容

- Long:Path:To:Parameter1 Value1
- Long:Path:To:Parameter2 Value2

默认值也可以与层次结构路径一起使用。

依赖