7

我正在使用 Python/Django 开发一个 wiki,部分用于教育目的。到目前为止,我仍然缺少正确的标记语言。我尝试了一个相当不错的视图,包括 Creole 和 Markdown,除了表格支持之外,它运行良好。常见的 wiki 标记语言似乎只支持基本表格,即每个单元格有一行或单元格内没有复杂的标记。但是我的 wiki 用户希望能够在单元格内创建具有更大格式文本和列表的表格。我在寻找一种实际上可以做到这一点的标记语言方面遇到了问题。

我已经关注过似乎支持所有内容的 MediaWiki 标记语言,但我认为使用它会有点矫枉过正。标记的其余部分可以非常简单,重点是标记的易写性(我发现 MediaWiki 标记有时有些难看)。此外,必须有一个 Python 模块用于将标记转换为我可以在 webapp 中使用的 HTML。我仍在寻找 MediaWiki 标记。

另一种选择是完全转储 wiki 标记语言,而是允许一组定义的 HTML 标记用于标记。但这使得编写 wiki 文章变得更加困难,因为 HTML 并不是为了这种用途而发明的。并且查找和转义被禁止的 HTML 可能非常棘手。我宁愿拥有一个带有轻量级 Python 实现的漂亮标记语言。

有谁知道我可以使用的具有扩展表支持和 Python 实现的标记语言?

提前致谢!

4

2 回答 2

4

我不知道它是否满足您的需求,但您可以使用reStructuredTextSphinx从中生成 html 用于 python 文档及其用 python 编写的,因此它应该很容易用于此目的。我发现它非常简洁易读,就像它的设计初衷一样,它可以做相当复杂的表格。

于 2012-03-09T12:16:37.953 回答
1

我自己找到了一个解决方案,因为我发现 reST 对于技术上没有经验的用户来说使用起来很复杂。我可能有点复杂,但它对我有用。

关键是现有标记语言的扩展。我发现 Markdown 相当令人愉快,尽管它缺乏表格支持。使用 Python-Markdown,这里是您编写自己的扩展所需要知道的一切。没那么复杂。我在半小时内一起破解了一些东西,到目前为止它确实有效。我会在这里展示代码,但我还不是很自豪;)基本上,您解析一个标记块并根据需要在 DOM 中插入表格元素。

我想标记语言的每个可用实现都应该具有某种扩展机制,因此也应该可以为其他语言和实现编写扩展。这不是最方便的解决方案,但仍然比仅仅为了功能而使用一些丑陋的语言要好。

于 2012-03-11T01:32:50.700 回答