Un plugin Jekyll pour le rendu de latex en cache côté serveur fascinant, avec la prise en charge des macros. Profitez du confort du latex et de la marque sans encombrer votre site avec du javascript gonflé. Ce projet est approuvé par Katex.org.
Jektex prend en charge à la fois la notation mathématique Kramdown intégrée et la nouvelle notation mathématique en latex uniquement.
Formule en ligne
Mettez la formule entre deux paires de panneaux dollar ( $$ ) à l'intérieur du paragraphe.
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. Formule d'affichage
Mettez une formule entre deux paires de panneaux dollar ( $$ ) et entourez-le de deux lignes vides.
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. Pourquoi Jektex n'utilise pas $ unique conventionnel pour les formules en ligne et le double $$ pour le mode d'affichage?
C'est ainsi que fonctionne Kramdown (l'analyseur Markdown de Jekyll), j'ai donc décidé de respecter cette convention. Cela rend ce plugin plus cohérent et universel. Voir ce problème pour plus de contexte.
Formule en ligne
Mettez la formule entre deux supports échappés ( ) . Sa position dans le texte n'a pas d'importance.
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. Formule d'affichage
Mettez la formule entre deux crochets carrés échappés [ ] . Sa position dans le texte n'a pas d'importance.
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. Il y a une construction en macro pour le logo Jektex. Vous pouvez l'utiliser comme jektex .
Jektex SI hautement configurable via votre fichier _config.yml .
Cache invalidante
Vous pouvez désactiver la mise en cache avec disable_disk_cache = true dans _config.yml . La mise en cache est activée par défaut. Vous pouvez trouver plus d'informations sur le site officiel de Jekyll.
Définition de l'emplacement du cache
Par défaut, le cache Jektex sera enregistré dans le répertoire .jekyll-cache . Il en résulte sa suppression lorsque vous appelez jekyll clean . Pour éviter la suppression du cache ou pour modifier l'emplacement du cache, vous pouvez spécifier cache_dir dans _config.yml :
jektex :
cache_dir : " .jektex-cache " Ignorer les fichiers
Par défaut, Jektex essaie de rendre le latex dans tous les fichiers rendus par Jekyll. Cela peut parfois être indésirable, par exemple lors du rendu d'un flux RSS avec des extraits contenant du latex. Jektex résout cela en utilisant l'option ignore :
jektex :
ignore : ["*.xml", "README.md", "_drafts/*" ] Vous pouvez utiliser les jokers conventionnels en utilisant * . Cet exemple de configuration ignore tous les fichiers .xml , README.md et tous les fichiers du répertoire _drafts .
Une autre façon d'ignorer les messages spécifiques est de définir l'attribut jektex en face de false :
---
title : " How Jektex works "
category : " Development "
jektex : false
layout : post
--- La définition de la balise jektex sur true ou non du tout entraînera le réglage des expressions de latex Jektex dans ce post.
Utilisation de macros
Vous pouvez définir les macros mondiales:
jektex :
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"] Et oui, vous devez échapper au contrecoup ( ) avec une autre réaction. Cela est dû à la spécification YAML.
Vous pouvez définir des macros avec des paramètres:
jektex :
macros :
- ["\vec", "\mathbf{#1}"]
- ["\addBar", "\bar{#1}"] Cela simule le comportement du latex newcommand .
Faire taire la sortie de Jektex
Jektex informe périodiquement l'utilisateur des équations rendues / mises en cache. Si cela n'est pas souhaité, vous pouvez définir l'option silent ( false par défaut).
jektex :
silent : true Exemples complets
Configuration recommandée:
jektex :
cache_dir : " .jektex-cache "
ignore : ["*.xml"]
silent : false
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"]Avoir aucune configuration est équivalent à ceci:
jektex :
cache_dir : " .jekyll-cache "
ignore : []
silent : false
macros : [] Ce plugin est disponible en Rubygem.
Utilisation de Bundler
Ajoutez Jektex à votre Gemfile :
group :jekyll_plugins do
gem "jektex"
end et exécuter bundle install
Sans bundler
Exécuter gem install jektex
Après l'installation
Ajoutez Jektex à votre liste de plugin dans votre fichier _config.yml
plugins :
- jektex Et n'oubliez pas d'ajouter katex.min.css à vous HTML Head:
< link rel =" stylesheet " href =" https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css " integrity =" sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ " crossorigin =" anonymous " >Il est beaucoup mieux pratiqué de télécharger le fichier CSS et de le charger directement en tant qu'actif à partir de votre serveur. Vous pouvez trouver plus d'informations sur le site Web de Katex.
N'hésitez pas à signaler tout bogue ou même à faire une demande de fonctionnalité dans les problèmes sur le référentiel officiel. Je suis également ouvert pour les demandes de traction.