3

我不确定这是否是要问的正确 Stack Exchange 页面(也许程序员也适合,尽管他们反对软件技术问题)。

但是,对于应该充当内部知识数据库客户端的程序,我正在研究来自不同框架的富文本控件/小部件。此富文本控件应显示 HTML 的子集。仅支持 h1-h6、b、i、img(是否嵌入)、列表和简单表格。文本作为降价代码保存在数据模型中。

现在我需要一个控件来显示这个带有在线编辑的标记(就像文本处理器一样),并且可以再次将内容保存为降价。客户端可以用 Python(使用 PyQt 或 wxPython)或使用 WinForms 的 C# 编写。我已经在这些框架中测试了富文本控件,但它们并不适合。WinForms 的 RichEditBox 输出奇怪的 RTF,其他的则输出一些可怕的 HTML 格式。现在我想扩展现有控件,使其在每一秒内将内容保存为降价。

对于上述目标平台,是否有任何好的开源控件/小部件可以作为一个良好的开端?

4

2 回答 2

1

看看Pandoc,它reStructuredText、Markdown、HTML 和 LaTeX(以及其他格式)相互转换。这里有一个在线编辑器演示了 Pandoc 的使用。该网页的来源似乎很简单,所以也许您可以尝试编写类似的代码。然而,Pandoc 是用 Haskell 编写的。Python 等效项 Docutils只能从 reStructuredText(不是 Markdown)转换为 HTML 和其他格式,反之则不行。

于 2012-05-17T08:49:29.693 回答
0

您的要求似乎有点像一个边缘案例,因为降价是专门为人类轻松编写而设计的,用于处理成其他格式。你反其道而行之,还是...

我不知道保存到 Markdown 的任何 WYSIWYG 控件,所以你可能不得不自己动手。您可以做的是将现有控件子类化并实现获取控件内容并生成 Markdown 的持久性机制。这会很棘手,因为大多数富文本或 HTML 编辑器将支持比 Markdown 更多的功能。您应该能够实现控件的输入功能,以将它们限制为 Markdown 中支持的子集。可能有一些 Python 项目有助于解析。Pyth看起来很小,但可能很有用。

有很多 Markdown to Format X 转换器,但我知道的唯一工具是 PHP 中 的 ( Markdownify )。

于 2012-05-17T08:39:00.907 回答