ruby – Jekyll:如何在GitHub页面中使用自定义插件

事实证明,由于 security concerns,自定义ruby插件在GitHub页面上不起作用.

我正在尝试将插件(this one)添加到我的Jekyll项目的_plugins文件夹中,但是当我将其部署到GitHub时,它会被忽略.

问题:有没有办法解决这个问题?有没有人找到解决方案?

注意:显然我可以在本地生成html文件并将它们提交到我的存储库.但这不是我想要的.

解决方法

没有插件

阅读时间脚本不需要插件.我创建了一个脚本集合,可以在不使用插件的情况下添加.你可以找到它们here. A reading time script就是其中之一.

在这里您可以找到代码

{% capture words %}
{{ content | number_of_words | minus: 180 }}
{% endcapture %}
{% unless words contains '-' %}
{{ words | plus: 180 | divided_by: 180 | append: ' minutes to read' }}
{% endunless %}

请注意,此代码仅包含Liquid而不包含Ruby.因此,它可以在您的布局或包含(没有插件)中使用.

优化脚本

假设你有这样的东西:

<p>lorem ipsum</p>
<p>lorem ipsum</p>
<code>lorem ipsum</code>
<p>lorem ipsum</p>
<code>lorem ipsum</code>
<p>lorem ipsum</p>

然后你可以删除上面的代码块,如下所示:

{% assign preprocessed_content=post.content | replace: '<p>','__p__' %}
{% assign preprocessed_content=preprocessed_content | replace: '</p>','__/p__' %}
{% assign truncated_content=preprocessed_content | strip_html %}
{% assign cleaned_content=truncated_content | replace: '__p__','<p>' %}
{% assign cleaned_content=cleaned_content | replace: '__/p__','</p>' %}

当然,这可以扩展到支持更多标签.

无论如何使用插件

如果您真的想要使用插件,可以让本地计算机或CloudCannon构建您的站点并将结果推送到Github Pages.另见:https://learn.cloudcannon.com/jekyll/using-jekyll-plugins/

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...