如何使用Parsoid将wikitext转换为html(而不是带有额外信息的完整html页面)

时间:2017-05-19 12:49:19

标签: javascript html mediawiki wikitext parsoid

parsoidparsoid-jsapi都会为您提供一个.parse(...函数来解析wiki文件到html,但是我无法获得干净的html字符串。

说我要解析This is [[it]]我这样做:

var parsoid = require('parsoid-jsapi') || require('parsoid');
parsoid.parse('This is [[it]]', {}).then(function(data) {
    console.log(data.out)
})

但我从data.out获得的是:

<!DOCTYPE html>
<html prefix="dc: http://purl.org/dc/terms/ mw: http://mediawiki.org/rdf/"><head prefix="mwr: http://en.wikipedia.org/wiki/Special:Redirect/"><meta charset="utf-8"/><meta property="mw:pageNamespace" content="0"/><meta property="isMainPage" content="true"/><meta property="mw:html:version" content="1.3.0"/><link rel="dc:isVersionOf" href="//en.wikipedia.org/wiki/Main%20Page"/><title></title><base href="//en.wikipedia.org/wiki/"/><link rel="stylesheet" href="//en.wikipedia.org/w/load.php?modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.skinning.interface%7Cskins.vector.styles%7Csite.styles%7Cext.cite.style%7Cmediawiki.page.gallery.styles&amp;only=styles&amp;skin=vector"/></head><body data-parsoid='{"dsr":[0,14,0,0]}' lang="en" class="mw-content-ltr sitedir-ltr ltr mw-body mw-body-content mediawiki" dir="ltr"><p data-parsoid='{"dsr":[0,14,0,0]}'>This is <a rel="mw:WikiLink" href="./It" title="It" data-parsoid='{"stx":"simple","a":{"href":"./It"},"sa":{"href":"it"},"dsr":[8,14,2,2]}'>it</a></p></body></html>

我唯一相关的部分是:

<p data-parsoid='{"dsr":[0,14,0,0]}'>This is <a rel="mw:WikiLink" href="./It" title="It" data-parsoid='{"stx":"simple","a":{"href":"./It"},"sa":{"href":"it"},"dsr":[8,14,2,2]}'>it</a></p>

或wikitext到html而不是添加头部,身体等。即便如此,它还有很多我不需要的额外数据,我真正应该得到的是:

<p>This is <a href="./It" title="It" >it</a></p>

如果我使用像markdown-it这样的标记,就会出现这种情况。

可以使用parsoid生成一个普通的html字符串吗?如果是这样的话?

0 个答案:

没有答案