【问题标题】:generate jekyll posts from mp3 files从 mp3 文件生成 jekyll 帖子
【发布时间】:2014-03-02 17:21:01
【问题描述】:

tl;dr 我可以在 Jekyll 中使用 mp3 文件作为帖子吗?如果是,怎么做?

我在_posts 文件夹中有一个 mp3 文件列表,看起来像

_posts/
  2014-02-23_john-doe_jekyll-and-hyde.mp3
  2014-02-25_jane-doe_ruby-is-king.mp3
  2014-03-02_joseph-doe_lalala-the-song.mp3
  {{date}}_{{author}}_{{title}}.mp3
  ...

我希望 jekyll 为每个文件创建一个帖子,比如说

<h1>{{title}}</h1>
<p>by {{author}}, published on {{date}}</p>
<audio src="{{date}}_{{author}}_{{title}}.mp3" controls></audio>

作为一个伪模板。

我在Jekyll docs 中阅读了关于 generatorsconverters 的插件,据我所知,我需要编写一个自定义转换器来转换我的“标记”语言”(这是 mp3 的文件名)到 html 帖子。最主要的是

Jekyll 只会转换顶部有 YAML 标头的文件,即使对于您使用插件添加的转换器也是如此。

(二进制)mp3 文件显然存在问题 - 我无法在此处添加 YAML 标头。有什么办法可以规避吗?

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    我不知道是否有可能让 Jekyll 以某种方式“找到” MP3 文件(没有 YAML 标头)并像您的示例中那样转换文件名,所以我建议另一种方法:

    • 将 MP3 放入不同的文件夹(不在 _posts 中)。
    • 用您选择的语言编写一个小型命令行实用程序,循环遍历 MP3 文件夹中的所有文件,从 MP3 文件名中获取数据,并在 _posts 中生成具有所需名称和内容的 Markdown 文件文件夹。
    • 忽略源代码管理中的_posts 文件夹
    • 要使用单个命令构建您的站点,请编写一个 shell 脚本,该脚本首先调用您的命令行实用程序,然后调用 jekyll build

    当然,如果你这样做,你就不能使用 GitHub Pages(除非你在你的机器上运行命令行实用程序并将 _posts 文件夹提交到源代码管理) .

    但 IMO 问题在于使用正确的工具来完成正确的工作:
    也许在 Jekyll 中以某种方式可以做到这一切,但与用你最熟悉的语言做这件事相比,这可能要付出更多的努力。

    【讨论】:

    • 我想到了整个故事,因为 Jekyll 就像我希望的那样简单。但你是对的,这实际上是一个“正确的工具正确的工作”问题。这并不能真正回答问题(因此,在我看来,将其标记为“已接受”会误导来自 google 的人),但我会遵循您的方法并在其他地方实施。
    猜你喜欢
    • 2015-08-17
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多