如何使用Jekyll本地插件?部署后插件失效问题求助
解决Jekyll本地插件被忽略的问题
这坑我之前刚踩过!你猜得没错,问题根源就是github-pages这个gem。
为什么会出现这个问题?
GitHub Pages为了安全和环境一致性,用github-pages gem锁定了Jekyll的版本以及允许使用的插件列表——所有不在官方列表里的自定义本地插件,都会被直接忽略。所以你本地用github-pages构建时,_plugins文件夹里的代码根本没被加载,自然会报Liquid未知标签的错误。
解决方案:改用纯Jekyll构建
如果你是自己部署到私有服务器,完全不需要依赖github-pages gem,直接用官方Jekyll就能解决问题:
修改Gemfile
把原来包含github-pages的部分替换成纯Jekyll,比如:source 'https://rubygems.org' group :jekyll_plugins do gem 'jekyll' # 如果你需要GitHub Pages自带的其他插件(比如jekyll-sitemap、jekyll-feed),要手动加在这里 # gem 'jekyll-sitemap' # gem 'jekyll-feed' end更新依赖
运行命令重新安装依赖:bundle install重新构建站点
用bundle exec来确保加载本地插件:bundle exec jekyll build这时候你的自定义标签应该能正常工作了,生成的
_site文件夹里已经包含了插件处理后的内容。部署到服务器
还是像之前一样,只上传_site文件夹到服务器就行,完全不影响运行。
额外提醒
如果之前你依赖github-pages自带的一些插件(比如自动生成站点地图),记得在Gemfile里手动添加这些插件,纯Jekyll不会默认包含它们哦。
内容的提问来源于stack exchange,提问作者jessi
相关产品推荐
相关产品推荐

