【问题标题】:Jquery/Javascript solution for converting wiki-text to HTML and vice versa?用于将 wiki 文本转换为 HTML 的 Jquery/Javascript 解决方案,反之亦然?
【发布时间】:2012-07-01 23:59:30
【问题描述】:

对于我的 Web 前端,我必须在我的系统中实现 wiki 语法的子集。我是否需要手动指定规则并重新发明轮子?是否有现有的 javascript 库或 jquery 插件可以提供帮助?

例如,用户输入== Header ==,因为这需要转换为例如媒体标题(假设媒体在此上下文中定义为如下所示的跨度)

<span class="mediumHeader" id = "Header">Header</span>

现在,当用户编辑上述文本时,我猜这将涉及替换

&lt;span...&gt; ... &lt;/span&gt;==...==

现在,对于我设计的每个系统,这都将按照“我的规则”进行,并且几乎总是需要重新发明轮子。有什么东西可以让我使用 Jquery/Javascript 来简化这个 wiki 与 HTML 之间的转换吗?我确定这是已知解决方案的问题。

我更愿意自定义什么是可接受的,什么是不可接受的,即我不会将所有内容都翻译成 wiki 语法(或 HTML),只是它的子集。我应该为我的应用程序自己滚动吗?

【问题讨论】:

  • wikitext 的哪个方言?有很多,如果没有这些信息,就不可能回答这个问题。您是在谈论维基百科中使用的 MediaWiki 格式吗?

标签: javascript jquery html translation wiki


【解决方案1】:

你可能已经不需要这个了,但是当我开始研究它时,你的是最热门的。

有几个 javascript 选项 - 您可能正在查看 instaview(查看 test/test.js),或者可能是 Wiky.js(文档不太完整)。

如果您不限于 Javascript,请在​​ http://www.mediawiki.org/wiki/Alternative_parsers 上查看 MediaWiki 解析器的详尽列表 - 有许多适用于 C++、Java、Perl、ruby 等的工具。这是关注新进展的链接。

【讨论】:

    【解决方案2】:

    在撰写本文时,Parsoid 似乎是唯一一个双向翻译的。这也为维基百科上的可视化编辑器提供了动力。但这不是包含在您的应用程序中的方便的客户端库,而是一个成熟的解析和转换服务器套件。可通过http://parsoid-lb.eqiad.wikimedia.org/ 访问 Wikimedia 集群上的 Parsoid 生产版本。

    仅将 WikiText 翻译成 HTML(按受欢迎程度排序)的其他 JavaScript 库有:

    • Wiky.js - 不支持完整的 WikiText 语法。 (由 tanin47 提供,不要与 Requarks 的 Wiki.js 混淆 - 完全不同的项目)
    • wtf_wikipedia - 不是直接转换为 HTML 而是 JSON,这会产生更强大的可能性(例如,信息框作为键值对)。这是最新的库,并且“它是 instaview、txtwiki 的组合,并使用 Parsoid javascript 解析器中的跨语言数据。
    • instaview - 过去 2 年没有更新。

    还可以查看alternative MediaWiki parsers 的当前和完整列表。

    【讨论】:

    • 很好,很完整的问题。这应该是公认的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2010-12-03
    • 2011-10-08
    • 2013-03-15
    相关资源
    最近更新 更多