4

我使用Hakyll作为我的博客

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

这工作正常,但我希望对发布的 HTML 进行更细粒度的控制。我宁愿将 org-mode 导出为 HTML,然后让 Hakyll 使用该 HTML 作为输入。

注意:我的博客在 markdown 输入上运行良好,我只想使用(org-mode 生成的)HTML 作为输入。

Hakyll 的打开页面上写着“以您喜欢的任何格式编写您的内容”,因此 HTML 输入确实有效(我尝试了一些成功)。

Hakyll 的 常见问题解答说在输入 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. 我用什么代码来处理预告片?

例子会很好,或者至少是指向相关文档的指针。

更新

正如@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>
4

2 回答 2

2

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

于 2014-02-18T23:58:52.540 回答
0

如果你想使用你的 HTML 作为模板,你应该看看applyAsTemplate

您还可以查看我博客的源代码以获取示例。

于 2014-02-19T02:05:47.833 回答