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網站上找到更多信息。
隨意報告任何錯誤,甚至可以在官方存儲庫中的問題中提出功能請求。我也開放了拉動請求。