我想使用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
。
答案 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
通过此操作,我认为您的问题可以得到完美解决。