如何将音频嵌入Jekyll博客?

时间:2020-09-02 08:48:16

标签: audio jekyll wav

我正在杰基尔(Jekyll)下写博客。

我想在一个帖子中嵌入一个简单的音频播放器,以使读者可以播放简短的.wav文件。

these instructions之后,我下载了 open-embed.html 文件,将其保存在我的 _includes 文件夹下,并修改了 default.html < / strong>根据建议布局文档。

现在我已经执行了上述步骤并将音频文件保存到 assets / audio / ,如何从我的帖子中播放它?

2 个答案:

答案 0 :(得分:1)

.mp3open-embed.html中所有出现的.wav替换为</script>。或者,在结束.mp3标记之前添加以下JavaScript函数,以防将来可能需要使用 function wav_embed() { var p = document.getElementsByTagName('p'); for (var i = 0; i < p.length; i++) { if (p[i].innerHTML.indexOf('.wav') !== -1) { var str = p[i].innerHTML.split('?'); if (str.length == 1) str[1] = ''; var str1 = str[1]; str1 = str1.replace('&', '').replace('&', ''); str1 = str1.replace('autoplay=1', '').replace('autoplay=0', ''); str1 = str1.replace('loop=1', '').replace('loop=0', ''); str1 = str1.replace('controls=0', '').replace('controls=1', ''); if ( str[0].lastIndexOf('.wav', str[0].length - 4) === str[0].length - 4 && str1.length == 0 ) { if (str[1].indexOf('autoplay=1') !== -1) var autoplay = 1; else var autoplay = 0; if (str[1].indexOf('loop=1') !== -1) var loop = 1; else var loop = 0; if (str[1].indexOf('controls=0') !== -1) var controls = 0; else var controls = 1; var newInnerHTML = '<audio'; if (autoplay == 1) newInnerHTML += ' autoplay'; if (loop == 1) newInnerHTML += ' loop'; if (controls == 1) newInnerHTML += ' controls'; newInnerHTML += '><source src="' + str[0] + '" type="audio/mpeg">Your browser does not support the audio element.</audio>'; p[i].innerHTML = newInnerHTML; } } } } wav_embed(); 文件。

{% include open-embed.html %}

请记住在帖子模板中或特定帖子文件的末尾包含Some text. ../../assets/audio/file.wav Some more text. (如果您不经常包含音频文件,则可能会加快创建速度,我不知道)。 / p>

在发布减价文件中,链接到要播放的文件(必须作为单独的段落):

python -m pyocd list

我不确定为什么必须回到两个目录才能访问资产,因为我不必对包含的图像进行处理。如果您有任何问题,请使用网络浏览器开发人员工具检查网络上是否存在资源。

答案 1 :(得分:1)

我不建议使用open-embed.html来完成诸如嵌入音频之类的简单任务。

只是提供一种不同的方法来完成相同的任务。

您可以轻松地创建自己的部分为

# _include/embed-audio.html
<audio controls>
  <source src="{{ include.src }}" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

# Use in the post as
{% include embed-audio.html src="/assets/audio/<audio-source-name>.wav" %}