Моя метка Liquid не распознается страницами GitHub

Я использовал Jekyll 3.8.5 и создал блог на GitHub. Я также использовал Jekyll-Katex 0.3.0, плагин Jekyll для простого математического рендеринга на стороне сервера через KaTeX. Все отлично работает на моей локальной машине. Но когда я отправил его на GitHub, я получил следующее: "У вашего сайта проблемы со сборкой: тег Katexmm в строке 11 в _posts/2019-01-22-ECDSA-and-Bitcoin-I.md не является распознанным тегом Liquid ".

"Katexmm" - это жидкий тег Jekyll-Katex, поэтому я проверил зависимости. Jekyll-Katex 0.3.0 требует Jekyll ~> 3.8, в то время как GitHub Pages использует Jekyll 3.7.4. Я думаю, что это проблема.

Что мне делать? Еще одна вещь: я хочу использовать "katexmm", пожалуйста, не предлагайте мне использовать Jekyll 3.7.4 вместо 3.8.5. Заранее спасибо.

Я последовал совету Ашмароли, но все еще не работает. Я попытался 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 ответа

Решение

Моя проблема решена, НАКОНЕЦ. Я использовал другой статический генератор Hexo с потрясающей темой "Next", и он прекрасно работает с KaTeX.

Снимок моего сайта

Мой сайт

Два основных шага для решения проблемы:

Шаг 1. Установите Hexo и разверните мой сайт на GitHub

Шаг 2. Вставить KaTex

Есть некоторые детали в каждом шаге. Я написал два поста: Шаг 1, Шаг 2.

Поскольку GitHub Pages поддерживает только ограниченный набор Ruby Gems ( https://pages.github.com/versions/), рекомендуемый способ - создать локально и передать содержимое вашей целевой папки (./_site по умолчанию) на ваш пульт для хостинга.
Однако для этого необходимо немного поработать, поскольку у вас уже есть хранилище, настроенное для сборки из master ветка.

Относительно более простым способом было бы полностью отказаться от GitHub Pages для стороннего игрока, такого как Netlify, Cloudcannon и т. Д., В зависимости от вашего варианта использования.

Netlify Deploy Gotchas

  • jekyll-katex-0.3.0 требуется хотя бы версия Ruby 2.5.1, Итак, вам нужно настроить Netlify для использования этой версии. Самый простой способ - определить переменную среды RUBY_VERSION со значением, установленным на 2.5.1
  • Еще одна проблема - версия Bundler.NETlify, кажется, не использует / устанавливает Bundler-2.0, Так что либо
    • генерировать Gemfile.lock локально, используя более старую версию Bundler, или
    • Удалить существующий Gemfile.lock из хранилища. (Добавление Gemfile.lock в .gitignore файл будет препятствовать тому, чтобы это было передано назад).
  • Netlify, похоже, не работает с baseurl Конфиг, как и ожидалось. Вам придется установить его на пустую строку или null
Другие вопросы по тегам