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">« <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