- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有几天我在我的静态 Jekyll 网站上尝试使用 KaTeX 而不是 MathJax。我尝试了很多在互联网上找到的建议但没有成功。最后一个是jekyll-katex插入。我遵循了自述文件中的所有步骤。
这是我当前的 Gemfile
:
source "https://rubygems.org"
gem "jekyll", "~> 3.8.3"
gem "minima", "~> 2.0"
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
gem 'jekyll-katex', "~> 0.2"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0" if Gem.win_platform?
这是我当前的 _config.yml
中的相关部分:
markdown: kramdown
theme: minima
plugins:
- jekyll-feed
- jekyll-katex
当我运行 bundle exec jekyll serve
时,我收到此错误:
bundler: failed to load command: jekyll (/usr/local/bin/jekyll)
Bundler::GemRequireError: There was an error while trying to load the gem 'jekyll-katex'.
Gem Load Error is: undefined method `[]' for nil:NilClass
Backtrace for gem load error is:
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll-katex/configuration.rb:22:in `js_path'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll/tags/katex.rb:14:in `<class:Katex>'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll/tags/katex.rb:12:in `<module:Tags>'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll/tags/katex.rb:7:in `<module:Jekyll>'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll/tags/katex.rb:6:in `<top (required)>'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll-katex.rb:7:in `require'
/var/lib/gems/2.5.0/gems/jekyll-katex-0.2.0/lib/jekyll-katex.rb:7:in `<top (required)>'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:81:in `require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:81:in `block (2 levels) in require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:76:in `each'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:65:in `each'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:65:in `require'
/usr/local/lib/site_ruby/2.5.0/bundler.rb:114:in `require'
/var/lib/gems/2.5.0/gems/jekyll-3.8.3/lib/jekyll/plugin_manager.rb:51:in `require_from_bundler'
/var/lib/gems/2.5.0/gems/jekyll-3.8.3/exe/jekyll:11:in `<top (required)>'
/usr/local/bin/jekyll:23:in `load'
/usr/local/bin/jekyll:23:in `<top (required)>'
/usr/local/lib/site_ruby/2.5.0/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/site_ruby/2.5.0/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/site_ruby/2.5.0/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/site_ruby/2.5.0/bundler/cli.rb:424:in `exec'
/usr/local/lib/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/site_ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/usr/local/lib/site_ruby/2.5.0/bundler/cli.rb:27:in `dispatch'
/usr/local/lib/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/usr/local/lib/site_ruby/2.5.0/bundler/cli.rb:18:in `start'
/usr/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:30:in `block in <top (required)>'
/usr/local/lib/site_ruby/2.5.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
/usr/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:22:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Bundler Error Backtrace:
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:84:in `rescue in block (2 levels) in require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:80:in `block (2 levels) in require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:76:in `each'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:65:in `each'
/usr/local/lib/site_ruby/2.5.0/bundler/runtime.rb:65:in `require'
/usr/local/lib/site_ruby/2.5.0/bundler.rb:114:in `require'
/var/lib/gems/2.5.0/gems/jekyll-3.8.3/lib/jekyll/plugin_manager.rb:51:in `require_from_bundler'
/var/lib/gems/2.5.0/gems/jekyll-3.8.3/exe/jekyll:11:in `<top (required)>'
/usr/local/bin/jekyll:23:in `load'
/usr/local/bin/jekyll:23:in `<top (required)>'
感谢任何帮助。
最佳答案
自 OP 提出这个问题以来已经有一段时间了,但是经过一整天的尝试和错误,从各种来源将 KaTeX 集成到我的 Jekyll 静态站点(还有我使用 GitHub 页面的额外限制),从 this blog post 开始的步骤让它为我工作。我决定在下面复制它,因为它回答了问题,其他用户可能会发现它有用,而且因为该博客不容易找到(它被埋在 jekyll-katex
GitHub 存储库的问题部分中,无法通过谷歌搜索访问):
使用 Jekyll 自动渲染 KaTeX,它与 GitHub 页面一起工作。
_config.yml
文件中:kramdown:
math_engine: katex
<head>
中的 _includes/head.html
标签内添加以下代码片段,注意缩进: <!--KaTeX-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js" integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js" integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
// ...options...
});
});
</script>
所以 _includes/head.html
看起来像:
<head>
...
<!--KaTeX-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js" integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js" integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
// ...options...
});
});
</script>
</head>
.md
博客文章中使用 KaTeX,请插入 katex: True
。例如:---
layout: post
title: KaTeX with Jekyll
katex: True
---
inline: $$f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi$$
display mode (centered):
$$f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi$$
$$
标志内的所有内容现在都将显示为 KaTeX。关于rubygems - 在 Jekyll 上运行 KaTeX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50890702/
bundle exec jekyll serve Traceback (most recent call last): 4: from /Users/Suwan_Long/.rvm/gems/
我对 jekyll 之间的关系感到困惑和 jekyll bootstrap .我想创建一个博客,但我不确定要使用哪个网站来提供教程等等。 最佳答案 Jekyll 是主要的东西。它是将您的 Markdo
我正在重写我的博客以使用 Jekyll。 Jekyll 使用 Liquid 模板语言,因此学习如何自定义变得更加困难。 我有很多 .md 文件(markdown),每个帖子一个。对于我在前面的以下内容
在 jekyll 中是否有等同于 laravel 的 @section('') block ?我想做的是创建一个模板,可以压缩多个 jekyll 页面之间共享的 html。例如: 默认布局
我想为我的 jekyll 博客主页上的每篇文章添加一个赞按钮 我没有找到任何插件。我不想要任何连接到公司/产品页面点赞的 Facebook 点赞按钮。 我想要一个独立于任何社交平台且仅与帖子相关的点赞
在我的网站上,会有两种类型的帖子:blog和 portfolio .我希望每个类别都有一个页面,只显示该类别的帖子。 在 Jekyll 中实现这一目标的最佳方法是什么?我已经做了一些功课,但我正在努力
我正在使用 Jekyll。帖子和页面有什么区别?据我所知: 它们都可以包含 YAML 前端内容,以及 一个帖子有一个日期和一个永久链接,但一个页面没有。 还有更多不同吗? 最佳答案 以下是差异 帖子文
我在一个 jekyll 帖子上有以下标题,其中一个作者“usman”生成 this文章。我想要类似“作者:usman,someone_else”这样的同事也可以为这篇文章做出贡献。这可能吗?我将如何设
我看官方文档的时候,只提到了{% highlight python %}语法: https://jekyllrb.com/docs/templates/ 但是我更喜欢使用反引号代码块来突出 Markd
是否可以拥有多语言 jekyll 网站而无需维护单独的 _post 文件? 我知道可以通过 _posts/2014-02-27-post.md 实现它和 _posts/pt/2014-02-27-po
我正在尝试使用 jekyll 来创建网站。我正在使用 jekyll-bootstrap。 默认配置有页面存档,其中所有帖子都按帖子日期的年份和月份分组列出。目前,月份以英文显示。我看过代码,这是一段摘
我正在尝试从我的网站创建帖子的存档页面。我希望能够以这种格式为每个月的帖子列表提供一个页面: www.mywebsite.com/2016/11 将显示 2016 年 11 月的所有帖子。 我可以为我
我正在尝试从我的网站创建帖子的存档页面。我希望能够以这种格式为每个月的帖子列表提供一个页面: www.mywebsite.com/2016/11 将显示 2016 年 11 月的所有帖子。 我可以为我
为了只显示 4 个帖子,我使用了以下代码段: {% for post in site.categories.mycategory limit:4 %} {{ post.content }} {%
我要添加collections到我的 Jekyll 网站。在我的 _config.yml 文件中,我设置了 output: true: collections: faq: output:
目前我在静态网站上工作,所以我使用 jekyll 来生成它。为了拥有漂亮的结构和精美的 URL,我使用永久链接。 permalink: /impressum/ 例如,impressum.html 被呈
我希望我的 Jekyll 站点上的所有帖子和页面都具有相同的链接结构:example.com/my-title ,无论我用来存储文件的目录结构如何。 查看 documentation看来我应该能够通过
有什么办法可以做这样的事情吗? {% if file.basename contains {{basename}} %} 我看到的所有示例都明确使用了一个值,如下所示: {% if file.base
关注 Jekyll Collections documentation ,我在_config.yml中写了如下代码 _config.yml collections: - popular_posts 所
我正在尝试计算和列出 Jekyll 中名为 _note 的集合中的标签。我认为,我非常接近解决它,但我对标签的实际计数有点困惑(列出唯一标签工作正常)并且可以用第二双眼睛查看液体标记看看我错过了什么。
我是一名优秀的程序员,十分优秀!