使用命令行将MediaWiki wikitext格式转换为HTML

Tod*_*ly' 9 html linux command-line mediawiki wikitext

我倾向于编写大量的文档,因此MediaWiki格式对我来说很容易理解,而且比编写传统HTML节省了我很多时间.然而,我也写了一篇博客,发现从键盘切换到鼠标一直为HTML输入正确的标签会增加很多时间.我希望能够用Mediawiki语法编写我的文章,然后将其转换为HTML以便在我的博客上使用.

我已经尝试了谷歌,但必须要求更好的术语,因为我无法找到任何东西.

我使用Linux,并希望从命令行执行此操作.

任何人有任何想法或想法?

Ant*_*sso 12

最好的方法是使用MediaWiki解析器.好消息是MediaWiki 1.19将提供一个命令行工具!

免责声明:我写了这个工具.

该脚本是maintenance/parse.php直接源代码的一些用法示例:

自己输入文本,以Control + D结束:

$ php maintenance/parse.php --title foo
''[[foo]]''^D
<p><i><strong class="selflink">foo</strong></i>
</p>
$
Run Code Online (Sandbox Code Playgroud)

通常的文件输入法:

$ echo "'''bold'''" > /tmp/foo.txt
$ php maintenance/parse.php /tmp/foo.txt
<p><b>bold</b>
</p>$
Run Code Online (Sandbox Code Playgroud)

当然管道到stdin:

$ cat /tmp/foo | php maintenance/parse.php
<p><b>bold</b>
</p>$
Run Code Online (Sandbox Code Playgroud)

截至今天,您可以从http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/maintenance/parse.php获取脚本并将其放在维护目录中.它应该与MediaWiki 1.18一起使用

该脚本将与MediaWiki 1.19.0一起提供.

  • 当我尝试运行上面的内容时,我收到错误"PHP致命错误:在第326行的/scratch4/dhruv/mediawiki-1.20.2/includes/db/DatabaseMysql.php中调用未定义的函数mysql_error()".知道如何解决它吗? (3认同)

Tod*_*ly' 8

稍微考虑一下,并认为在这里采取的一个好途径是学习一般的标记语言,如restucturedtext或markdown,然后能够从那里转换.发现了一个名为pandoc的程序,可以将其中任何一个转换为HTML和Mediawiki.感谢帮助.

例:

pandoc -f mediawiki -s myfile.mediawiki  -o myfile.html -s
Run Code Online (Sandbox Code Playgroud)

  • Pandoc无法识别完整的wiki标记.因此会有很多文章无法正确解析.我自己试了一下. (4认同)
  • 请不要。[替代解析器](https://www.mediawiki.org/wiki/Alternative_parsers) 维基文本总是非常脆弱,因为维基文本是(不是)设计的。 (2认同)

Tho*_*mas 5

此页面列出了大量您可以尝试的 MediaWiki 解析器。