GitHub页面无法识别我的Liquid标签

时间:2019-02-03 02:35:13

标签: jekyll github-pages katex

我使用Jekyll 3.8.5并在GitHub上建立了一个博客。我还使用了Jekyll-Katex 0.3.0这个Jekyll插件,可以通过KaTeX轻松进行服务器端数学渲染。在我的本地计算机上一切正常。但是当我将其推送到GitHub时,我得到了这样的信息:``您的网站在构建时遇到了问题:_posts / 2019-01-22-ECDSA-and-Bitcoin-I.md中第11行的标签Katexmm不是公认的Liquid标签。”

“ Katexmm”是liquid tag of Jekyll-Katex,所以我检查了依赖性。 Jekyll-Katex 0.3.0 requires Jekyll ~> 3.8GitHub Pages uses Jekyll 3.7.4。我想这就是问题所在。

我该怎么办? 还有一件事:我想使用“ katexmm”,请不要建议我使用Jekyll 3.7.4而不是3.8.5。 预先感谢。

我遵循了ashmaroli的建议,但仍然没有用。我尝试了Nelify并“部署失败”:

11:31:01 AM: Build ready to start
11:31:03 AM: build-image version: 84aca9ba39e0ee86ba194760fbfc51a808f62543
11:31:04 AM: buildbot version: 57d44fd1631cc3fff8b38fbaf88d3d04f946418a
11:31:04 AM: Fetching cached dependencies
11:31:04 AM: Starting to download cache of 254.7KB
11:31:04 AM: Finished downloading cache in 147.184771ms
11:31:04 AM: Starting to extract cache
11:31:04 AM: Failed to fetch cache, continuing with build
11:31:04 AM: Starting to prepare the repo for build
11:31:04 AM: No cached dependencies found. Cloning fresh repo
11:31:04 AM: git clone https://github.com/Jun-Wang-2018/Blog
11:31:05 AM: Preparing Git Reference refs/heads/gh-pages
11:31:06 AM: Starting build script
11:31:06 AM: Installing dependencies
11:31:08 AM: Downloading and installing node v8.15.0...
11:31:08 AM: Downloading https://nodejs.org/dist/v8.15.0/node-v8.15.0-linux-x64.tar.xz...
11:31:08 AM:      0.0%
11:31:08 AM: 
######
11:31:08 AM:                    8.4%
11:31:08 AM: 
#############################################
11:31:08 AM: ###                          66.8%
11:31:08 AM: 
######################################
11:31:08 AM: ################################## 100.0%
11:31:08 AM: Computing checksum with sha256sum
11:31:08 AM: Checksums matched!
11:31:11 AM: Now using node v8.15.0 (npm v6.4.1)
11:31:12 AM: Attempting ruby version 2.3.6, read from environment
11:31:13 AM: Using ruby version 2.3.6
11:31:15 AM: Using PHP version 5.6
11:31:15 AM: Started restoring cached ruby gems
11:31:15 AM: Finished restoring cached ruby gems
11:31:15 AM: Installing gem bundle
11:31:15 AM: You must use Bundler 2 or greater with this lockfile.
11:31:15 AM: Error during gem install
11:31:15 AM: Error running command: Build script returned non-zero exit code: 1
11:31:15 AM: Failing build: Failed to build site
11:31:15 AM: failed during stage 'building site': Build script returned non-zero exit code: 1
11:31:15 AM: Finished processing build request in 11.629358799s

我尝试了Cloudcannon,“ Jekyll构建失败”:

Syncing raw files... done
Checking existing local bundle state... failed
Loading gem cache... 
Checking gem cache (bundle_cache/A16MrNFnrU9wWPnsPr5G8PkR_kBFEHG0ytrPjGtZ7mQ.zip)... no cache

$ export JEKYLL_ENV="production"

$ ruby -v

ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

$ bundle -v

Bundler version 1.16.6

$ bundle config --global jobs 4

Configured concurrent installs!

$ bundle install

Using local cacheable path...
You must use Bundler 2 or greater with this lockfile.

2 个答案:

答案 0 :(得分:0)

由于GitHub Pages仅支持有限的一组Ruby Gems(https://pages.github.com/versions/),因此建议的方法是在本地构建并将目标文件夹(默认为./_site)的内容推送到远程服务器托管。
但是,这需要a bit of work to set up,因为您已经设置了要从master分支构建的存储库。

相对容易的方法是完全放弃GitHub Pages,以供NetlifyCloudcannon等第三方播放器使用,具体取决于您的用例。

Netlify部署陷阱

  • jekyll-katex-0.3.0至少需要Ruby版本2.5.1。因此,您必须将Netlify配置为使用该版本。最简单的方法是定义一个值设置为RUBY_VERSION的环境变量2.5.1
  • 另一个陷阱是捆绑器版本。 Netlify似乎没有使用/安装Bundler-2.0。所以,要么
    • 使用较早版本的Bundler在本地生成Gemfile.lock,或者
    • 从存储库中删除现有的Gemfile.lock。 (将Gemfile.lock添加到.gitignore文件中将阻止将其提交回来。)
  • Netlify似乎无法与baseurl配置配合使用。您必须将其设置为空字符串或null

答案 1 :(得分:0)

我的问题终于解决了。 我使用了另一个静态生成器Hexo,其主题为“ Next”,并且非常适合KaTeX。

My site snapshot

My site

解决问题的两个主要步骤:

步骤1.安装Hexo,并将我的网站部署到GitHub

第2步。嵌入KaTex

每个步骤都有一些细节。我写了两篇文章: Step 1Step 2