使用Grape-Academic-Theme时GitHub仓库Liquid语法错误求助
解决GitHub Pages构建Grape-Academic-Theme时的Liquid标签错误
问题原因
GitHub Pages默认仅支持Jekyll官方白名单内的插件,而{% nocite %}和{% bibliography %}是第三方插件jekyll-scholar提供的Liquid标签,不在官方支持列表中,因此构建时会触发语法错误。
解决方案
方案1:本地构建静态文件后推送
- 在本地项目的
Gemfile中添加jekyll-scholar依赖:gem 'jekyll-scholar' - 执行
bundle install安装依赖 - 运行
jekyll build生成完整的静态网站到_site目录 - 将
_site目录下的所有文件推送到GitHub仓库的gh-pages分支(或在仓库设置中指定该分支作为Pages部署源)
方案2:用GitHub Actions自定义构建流程
- 在项目根目录创建
.github/workflows/pages.yml文件,内容如下:name: Deploy GitHub Pages on: push: branches: [ main ] # 替换为你的主分支名 jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.2' # 选择兼容的Ruby版本 bundler-cache: true # 缓存依赖 - name: Build site run: bundle exec jekyll build - name: Deploy to Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./_site - 提交并推送该配置文件,GitHub会自动执行构建并部署到Pages
方案3:移除插件依赖,手动添加内容
- 如果你不需要自动生成参考文献,可以直接修改
_layouts/hub.html,删掉{% if page.citekey %}块里的插件标签,替换为手动编写的HTML链接或参考文献内容:{% if page.citekey %} <!-- 这里替换为你手动编写的参考文献HTML --> <ol class="link-list"> <!-- 示例链接 --> <li><a href="你的文献链接">文献标题</a></li> </ol> {% else %} <ol class="link-list"> {% include hubadditionallinks.html %} </ol> {% endif %}
内容的提问来源于stack exchange,提问作者freewill0819
相关产品推荐
相关产品推荐

