1个不稳定版本

使用旧的Rust 2015

0.99.0 2020年5月17日

#3#reply

自定义许可

115KB
1.5K SLoC

ogmarkup

什么是 ogmarkup

在文档中以一致的方式强制执行排版规则可能很棘手。在法语中,对话的排版规则可以说是最糟糕的。 ogmarkup 是所谓的 ogma-project 的一部分。它是一种最小化领域特定的标记语言,旨在让小说作家免于手动强制执行其作品中的排版规则之苦。

语言

格式化

This is a regular sentence.
<p>This is a regular sentence.</p>

这是一个普通的句子。


*This is a sentence with emphasize.*</p>
<p><em>This is a regular sentence.</em></p>

这是一个普通的句子。


+This is a sentence with strong emphasize.+</p>
<p><strong>This is a sentence with strong emphasize.</strong></p>

这是一个强调的句子。


This +is+ a *sentence with +multiple emphasizes+*.
<p>This <strong>is</strong> a <em>sentence with <strong>multiple emphasizes</strong></em>.</p>

这是一个 强调的 带有多个强调的 句子。


"This is a +quote+."
<p>“This is a <strong>quote</strong>.”</p>

“这是一个 引用。”


This +is an "incorrect+" sentence.
<p>This <span class="illformed_inline">+is an "incorrect+" sentence.</span></p>

This +is an "incorrect+"
sentence.
<p>This <span class="illformed_inline">+is an "incorrect+"</span> sentence.</p>

对话

[Hi,| she says.|](Clara)
<p><span class="dialogue by-Clara"><span class="reply">Hi,</span>” she says.</span></p>

嗨,她说。


[Hi,| she says.| How are you?](Clara)
<p><span class="dialogue by-Clara"><span class="reply">Hi,</span> she says. <span class="reply">How are you?</span></span></p>

嗨,她说。 你好吗?


[Hi,| she says.| How are you?](Clara) [I'm fine, thanks.]
<p><span class="dialogue by-Clara"><span class="reply">Hi,</span> she says. <span class="reply">How are you?</span></span></p><p><span class="dialogue"><span class="reply">I’m fine, thanks.</span></span></p>

嗨,她说。 你好吗?

我很好,谢谢。


[Hi,| she says.| How are you?](Clara) She was smiling. [I'm fine, thanks.]
<p><span class="dialogue by-Clara"><span class="reply">Hi,</span> she says. <span class="reply">How are you?</span></span> She was smiling. <span class="dialogue"><span class="reply">I’m fine, thanks.</span></span></p>

嗨,她说。 你好吗? 她在微笑。 我很好,谢谢。


It was a hot day. [Hi!| he said.](Aaron)
His friends smiled.
<div><p>It was a hot day.<span class="illformed_inline">[Hi!| he said.](Aaron)</span> His friends smiled. </p></div>

那是一个炎热的日子。[Hi!|他说。(Aaron)] 他的朋友们笑了。

段落

This is a first paragraph.

This is a second paragraph.
<div><p>This is a first paragraph.</p><p>This is a second paragraph</p>

这是第一段。

这是第二段


[Ceci est une première ligne de dialogue.]

[Ceci est une autre ligne de dialogue.]
<div><p><span class="dialogue">«&nbsp;<span class="reply">Ceci est une première ligne de dialogue.</span></span></p><p><span class="dialogue"><span class="reply">Ceci est une autre ligne de dialogue.</span></span></p></div>

「 这是对话的第一行。

这是另一行对话。

实现

一个 ogmarkup 解析器和编译器的一个初步实现是用 Haskell 编写的,并已在 hackage(MIT)上发布。这个初步项目已被废弃,转而使用 Rust 进行重写,尚未在 crates.io 上发布。

依赖项

~1MB
~17K SLoC