jekyll插件无法在github上运行

时间:2013-12-04 07:21:20

标签: ruby github jekyll

我想使用here中的jekyll-plugins / weighted_pages.rb更改导航栏中的网页顺序。

这个插件在我的localhost上运行得非常好,但是github 我发现导航栏在github主机上是空的,看起来这个插件不起作用。
我该如何解决这个问题?

我在下面复制weighted_pages.rb代码:

# Generates a copy of site.pages as site.weighted_pages
# with pages sorted by weight attribute. Pages with no
# weight specified are placed after the pages with specified weight.

module Jekyll

  class WeightedPagesGenerator < Generator
    safe true

    def generate(site)
      site.config['weighted_pages'] = site.pages.sort_by { |a| 
        a.data['weight'] ? a.data['weight'] : site.pages.length }
    end

  end

end

weight属性添加到pages (like weight: 1)的前端,并在循环中使用site.weighted_pages代替site.pages

2 个答案:

答案 0 :(得分:4)

Github页面不支持插件。来自jekyll's documentation

  

GitHub Pages由Jekyll提供支持,但所有Pages网站都是使用--safe选项生成的,以便出于安全原因禁用自定义插件。不幸的是,这意味着如果你要部署到GitHub Pages,你的插件将无法运行。

同一文档页面还为您提供了一种解决方法:

  

您仍然可以使用GitHub页面发布您的站点,但您需要在本地转换站点并将生成的静态文件推送到GitHub存储库而不是Jekyll源文件。

答案 1 :(得分:0)

当前,Github页面不支持某些自定义插件。

如果您想使Jekyll网站像在本地一样运行,例如让自定义插件正常运行,这是一种真正方便的构建方式 Jekyll网站访问Github Pages。

jekyll-deploy-action-Gi一个Github Action,可为GitHub Pages方便地部署Jekyll网站。 https://github.com/jeffreytse/jekyll-deploy-action

通过此操作,我认为您的问题可以得到完美解决。