jekyll插件,用于燃烧的服务器端缓存的乳胶渲染,并支持宏。享受乳胶的舒适和降价,而不会用肿的JavaScript弄乱您的网站。该项目得到katex.org的认可。
Jektex支持内置的kramdown数学符号和较新的仅乳胶数学符号。
内联公式
在段落内放置两对美元标志( $$
)之间的公式。
Lorem ipsum dolor sit amet, consectetur $$ e^{i theta }= cos ( theta )+i sin ( theta ) $$
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
显示公式
在两对美元标志( $$
)之间放置公式,并用两条空线包围。
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
$$ left [ frac {- hbar ^2}{2 mu } nabla ^ 2 + V( mathbf {r},t) right ] Psi ( mathbf {r},t) $$
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat.
为什么jektex不使用常规单$
用于内联公式,而Double $$
用于显示模式?
这就是Kramdown(Jekyll的Markdown Parser)的工作方式,因此我决定尊重这一约定。它使该插件更加一致和通用。有关更多上下文,请参阅此问题。
内联公式
在两个逃脱的支架(
)
之间放置公式。它在文本中的位置并不重要。
Lorem ipsum dolor sit amet, consectetur ( e^{i theta }= cos ( theta )+i sin ( theta ) )
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
显示公式
在两个逃脱的方括号[
]
之间放置公式。它在文本中的位置并不重要。
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
[ left [ frac {- hbar ^2}{2 mu } nabla ^2 + V( mathbf {r},t) right ] Psi ( mathbf {r},t) ]
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat.
jektex徽标的宏中有一个构建。您可以将其用作jektex
。
Jektex Si可以通过您的_config.yml
文件高度配置。
禁用缓存
您可以在_config.yml
中使用disable_disk_cache = true
禁用缓存。默认情况下启用了缓存。您可以在Jekyll的官方网站上找到更多信息。
设置缓存位置
默认情况下,Jektex Cache将保存在.jekyll-cache
目录中。当您调用jekyll clean
时,这会导致其删除。为了防止缓存删除或更改缓存位置,您可以在_config.yml
中指定cache_dir
:
jektex :
cache_dir : " .jektex-cache "
忽略文件
默认情况下,Jektex试图在Jekyll呈现的所有文件中渲染乳胶。有时这是不希望的,例如,在使用包含乳胶的摘录呈现RSS提要时。 Jektex通过使用ignore
选项来解决此问题:
jektex :
ignore : ["*.xml", "README.md", "_drafts/*" ]
您可以使用*
使用常规的外卡。此示例配置忽略了所有.xml
文件, README.md
和_drafts
目录中的所有文件。
忽略特定帖子的另一种方法是将jektex
属性设置为false
:
---
title : " How Jektex works "
category : " Development "
jektex : false
layout : post
---
将jektex
标签设置为true
或根本不设置,将导致jektex在该帖子中呈现乳胶表达式。
使用宏
您可以定义全球宏:
jektex :
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"]
是的,您必须带着另一个反弹逃避反弹( )。这是由于YAML规范。
您可以用参数定义宏:
jektex :
macros :
- ["\vec", "\mathbf{#1}"]
- ["\addBar", "\bar{#1}"]
这模拟了乳胶newcommand
的行为。
沉默的Jektex输出
Jektex会定期通知用户渲染/缓存方程。如果不需要,则可以设置silent
选项( false
情况下)。
jektex :
silent : true
完整的例子
推荐的配置:
jektex :
cache_dir : " .jektex-cache "
ignore : ["*.xml"]
silent : false
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"]
没有配置等效于此:
jektex :
cache_dir : " .jekyll-cache "
ignore : []
silent : false
macros : []
该插件可作为RubyGem使用。
使用Bundler
将Jektex添加到您的Gemfile
:
group :jekyll_plugins do
gem "jektex"
end
并运行bundle install
没有捆绑者
运行gem install jektex
安装后
在_config.yml
文件中将jektex添加到您的插件列表中
plugins :
- jektex
而且不要忘记将katex.min.css
添加到您的html头:
< link rel =" stylesheet " href =" https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css " integrity =" sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ " crossorigin =" anonymous " >
下载CSS文件并将其直接从服务器中加载为资产是更好的练习。您可以在Katex网站上找到更多信息。
随意报告任何错误,甚至可以在官方存储库中的问题中提出功能请求。我也开放了拉动请求。