parsoid和parsoid-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&only=styles&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字符串吗?如果是这样的话?