如何使用HTML作为Hakyll的输入

时间:2014-02-18 17:20:42

标签: haskell hakyll

我将Hakyll用于blog

我目前在写我的帖子 emacs org-mode然后将org-mode导出到 markdown。 然后,哈基尔将降价转换为HTML。

这工作正常,但我希望对HTML进行更精细的控制 被张贴。我宁愿做的是将org-mode导出为HTML 然后让Hakyll使用该HTML作为输入。

注意:我的博客与markdown输入工作正常,我只想使用 (生成组织模式)HTML作为输入。

Hakyll的opening page说“写你的 您喜欢的任何形式的内容“所以HTML输入确实有用(我 尝试了一些成功)。

Hakyll的 FAQ 说输入HTML时使用getResourceBody代替pandocCompiler

我还没想到的是当使用HTML作为输入时如何处理标题,标签和预告片。

典型的降价帖子是

---
title: Switching to Hakyll
tags: hakyll, haskell, pandoc, emacs, org-mode, markdown
---

I chose [Hakyll](http://jaspervdj.be/hakyll/) for blog software ...

<!-- MORE -->

I write posts in [Emacs](https://en.wikipedia.org/wiki/Emacs) ...

问题:

  1. 我在哪里/如何在HTML输入中添加/格式化标题和标签?
  2. 我用什么代码来处理标题/标签?

  3. 在哪里/如何在HTML输入中添加/格式化“预告片”标记?

  4. 我用什么代码来处理预告片?
  5. 示例很棒,或至少指向相关文档。

    更新

    根据@duplode的建议,当我用pandocCompiler替换getResourceBody时,它会正确处理内容和预告片。但标签没有看到。它们最终会出现在HTML输出中。

    HTML输入如下:

    .
    .
    .
    </head>
    <body>
    <div id="content">
    <h1 class="title">2013-06-30-test-post</h1>
    ---
    title: My first org-mode post
    tags: emacs, org-mode
    ---
    
    <p>
    Does it work?
    </p>
    
    <!-- MORE -->
    
    <p>
    This is the rest.
    </p>
    

2 个答案:

答案 0 :(得分:1)

它应该以完全相同的方式工作。元数据标题(即---之间的块)特定于Hakyll,而不依赖于markdown语法。其他功能也是如此。将pandocCompiler替换为getResourceBody时,唯一的效果是跳过pandoc标记转换步骤,因此处理中的其他任何内容都不需要更改。

答案 1 :(得分:0)

如果您希望将HTML用作模板,您应该查看applyAsTemplate

您还可以查看我的blog's source code示例。