整站编译Markdown/Pandoc?

16

使用Sphinx-doc,你可以创建一堆 ReStructureText 文件,其中包括一个 index.rst 文件,该文件包含一个目录宏,可从其他包含的文件自动生成目录,并且一个 conf.py 作为编译配置。然后你可以将所有文件编译成一个单独的Python Doc风格的站点,包括索引、导航工具和搜索功能。

是否有适用于Markdown(最好是Pandoc样式的Markdown)的类似工具?


1
是否有一些(Markdown)文档工具,可以像Sphinx一样轻松地生成PDF和ePub? - white_gecko
@white_gecko 编辑 Markdown,使用 pandoc 转换为 XHTML,最后使用 PrinceXML 转换为 PDF,你可以免费使用它(请参阅 CSO 许可证)。再次提醒,请查看我的网站获取详细信息。还有一个名为 wkhtmltopdf 的开源替代品,但它的分页效果不太好。 - Serge Stroobandt
3个回答

11

一些与Markdown兼容的静态站点生成器:

我认为它们都不使用Pandoc(可能是因为它是用Haskell编写的),但它们都使用增强的Markdown语法或可以配置为使用Pandoc。

从Markdown生成网站的其他有趣方法:

  • 基于文件的Markdown-Wiki:例如,Gollum,该Wiki引擎也被GitHub使用
  • Telegram:商业产品;由Lift-Scala框架的发明者David Pollak编写

使用Pandoc的引擎:

  • Yst 静态网站生成器
  • Gouda - 从 Markdown 文件目录生成网站
  • Rippledoc - 从嵌套的 Markdown 文件目录生成可导航的网站
  • 静态网站生成器的权威列表

    一个关于静态网站生成器的好概述: http://staticsitegenerators.net/


    Hyde基本上是一个CMS,对吧?我不想要一个必须一直运行的东西。不过其他一些看起来很有趣,感谢提供列表! - naught101
    1
    据我所知,Hyde也可以像Jekyll一样生成静态HTML。 - Sonson123
    1
    对于接下来的人:Pelican很酷,但它旨在用于博客,而不是像Sphinx那样用于静态网站。 - naught101
    @naught101 你最终选择了什么?我正在寻找类似的解决方案。 - Serge Stroobandt

    10
    "

    Pandoc、GNU makesed 命令,再加上一些CSS,就可以完全自动化地从Markdown开始创建静态网站。

    Pandoc提供了三个命令行选项,可以提供页面之间的导航以及根据页面内的标题创建目录(TOC)。使用CSS,您可以使导航和TOC看起来和行为方式符合您的要求。"

    "
    -B FILE,--include-before-body=FILE 在文档正文开头(例如在HTML中的之后或LaTeX中的\begin{document}命令之后)原样包含FILE的内容。这可用于在HTML文档中包含导航栏或横幅。此选项可重复使用以包含多个文件。它们将按指定顺序包含。意味着--standalone。
    --toc,--table-of-contents 包括自动生成的目录。
    --toc-depth=NUMBER 指定要包含在目录中的章节级别数。默认值为3(这意味着将列出级别1、2和3标题)。
    实际上,我的个人网站是这样构建的。查看其makefile以获取更多详细信息。所有内容都是免费开放源代码许可,遵循GNU GPL版本3

    2
    额...那些目录选项与Markdown文件内的标题有关。我说的是跨多个文件的TOC,每个文件都是单独的页面。你的个人网站只有一个页面... - naught101
    @naught101 我已编辑了我的回答。页面之间的导航可以轻松地通过 --include-before-body=FILE 选项来处理。 - Serge Stroobandt
    不,你误解了。Sphinx-doc允许你将多个页面作为单独的文件编写,然后为每个页面生成一个HTML文件(侧边栏中带有TOC),以及一个完整的TOC HTML文件(没有.rst源文件,但它会自动生成)。这就是我所询问的内容。 - naught101
    @naught101,那么Sphinx-doc确实比原帖中提到的一些引擎(如Gouda、Rippledoc等)做得更多。 - Serge Stroobandt
    1
    on4aa:我是 OP。我看到问题缺乏明确性,已经进行了编辑。 - naught101

    3
    如果您不介意不使用Pandoc,那么mkdocs似乎可以满足您的需求。
    如果您一定要使用Pandoc-flavoured Markdown,那么您可以查看pdsite。我编写它是为了实现像mkdocs一样的网站生成功能,但支持更多输入格式(如emacs org-mode),并且不需要Python依赖项-您只需传入一组Markdown文件即可获得一个HTML网站(包括自动生成的多级导航链接)。它类似于Serge Stroobandt的方法,因为它只是一个shell脚本(但是它确实需要您安装tree)。不幸的是,它还没有搜索功能,尽管添加这个功能并不困难......

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