将纺织标记转换为Markdown?

16

我正在合并老系统,并且有些组件使用Markdown格式,有些使用Textile格式。这极大地混淆了我的用户。因此我想要统一使用Markdown。

有没有一种方式可以自动将至少大部分的Textile格式转换为Markdown?

3个回答

31

即将发布的 pandoc 1.8(或当前的github版本)可以直接将 Textile 转换为 Markdown。我不知道它能处理多少 Textile,但

pandoc index.textile -o index.markdown

在这里很好地工作了。


16

由于Markdown和Textile都是用来生成HTML的,因此建议先将所有Texile转换为HTML。 有许多Markdown实现也支持将HTML转回Markdown,例如Pandoc。另一个可能的解决方案是使用XSLT

由于Textile比Markdown更冗长,因此一些元素(如表格)将作为HTML保留,这在Markdown中完全可以接受,但可能会使您的用户感到困惑。


2
正如Simon所说,您可以使用pandoc,一款通用的文档转换器。

单个文件

pandoc --from textile --to markdown "input.textile" -o "output.md"

多个文件

要将一个包含纺织文件的目录(包括嵌套目录中的文件)转换为Markdown,您需要循环遍历每个文件并每次调用Pandoc:

for textile_filename in ./**/*.textile; do
    markdown_filename="${textile_filename%.textile}.md"
    printf "Converting %s to %s\n" $textile_filename $markdown_filename
    pandoc --from textile --to markdown $textile_filename -o $markdown_filename
done

一些有关Markdown输出的问题:

  • 元数据头部(YAML前置数据)已经损坏,需要重新格式化为原始状态。文本和Markdown之间的元数据头部是相同的,因此不必更改。
  • 在段落中添加换行符,使其长度短于某个字符长度,因此您必须删除所有句子中的额外换行符。您将得到大约80个字符的8行,而不是一个长达500个字符的段落。

如果您发现其他令人讨厌的问题或者找到了解决这些问题的方法,请随时添加到此列表中。 Pandoc手册 中还有更多一般信息,但它并没有深入涵盖转换。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接