如何在GitHub Pages的README.md代码块中保留GitHub Actions变量?
解决GitHub Pages中GitHub Actions变量消失的问题
问题根源
GitHub Pages默认使用Jekyll渲染静态站点,而${{ }}是Liquid模板引擎的语法标记。Jekyll会尝试解析这些标记并替换为对应的值,但由于Pages环境中没有GitHub Actions的上下文变量,最终会被替换为空,导致变量消失。而GitHub仓库的README页面不处理Liquid语法,所以能正常显示。
解决方案
方案1:使用Jekyll Raw标签(推荐)
在包含GitHub Actions变量的代码块前后添加{% raw %}和{% endraw %}标签,让Jekyll跳过解析这段内容:
- GitHub Pages会完整保留代码块中的
${{ }}语法; - GitHub仓库的README视图会自动忽略这些Liquid控制标签,用户看到和复制的都是正常代码。
示例代码:
{% raw %}
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Output repo info run: echo "Repo: ${{ github.repository }}"
{% endraw %}
方案2:使用HTML实体替换$符号
将代码块中的$替换为HTML实体$,这样Jekyll不会识别为Liquid变量,同时渲染后会显示为正常的$。不过部分浏览器在复制时可能会复制实体代码而非$,可靠性略低。
示例代码:
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Output repo info run: echo "Repo: ${{ github.repository }}"
内容的提问来源于stack exchange,提问作者mhucka
相关产品推荐
相关产品推荐

