如何在Jekyll中从文件创建书签?



我有一个带有bookmarklet的旧项目,它有一些稍微技术性的说明,通过创建一个虚拟书签并替换位置字段来将JavaScript文件转换为bookmarklet。我想把它变成我的jekyll生成的博客上的书签,这样用户就可以简单地拖放链接到书签栏来安装它。

一个硬性要求是将JavaScript代码保存在单独的文件中(以便易于修改和限制),并且,如果可能的话,不必保持文件的两个版本同步。到目前为止,我所尝试的是:

[foo][1]
[1]:javascript:{% include foo.js %}

但这并不能逃避JavaScript代码,所以网页最终成为一个链接和<code>块的混乱。我还尝试了include foo.js | escape,这似乎是一个语法错误。

如何包含文件转义以使其可用作书签?

这样做是正确的,使用%20对空格*:

的JavaScript文件内容进行url编码。
[foo][1]
{% capture raw_bookmarklet %}{% include foo.js %}{% endcapture %}
[1]:javascript:{{ raw_bookmarklet | uri_escape }}

结果代码和页面。

*:url_encode将空格替换为+,导致语法错误。

最新更新