Einige Hinweise, bevor Sie eine der folgenden Optionen ausprobieren
Die Option 0
erhöht die Erstellungszeiten auch mit --incremental
und die Option 1
sollte wahrscheinlich in den meisten Fällen verwendet werden Fällen Dies und der zusätzliche Speicherplatz sind jedoch möglicherweise die Kosten wert, wenn Sie in einem Netzwerk mit Clients bereitstellen, die möglicherweise keinen Zugriff auf CDNs haben.
Beide Optionen wurden auf einem privaten Server mit kramdown
dem Markdown-Interpreter getestet und mathjax: true
in der Projektdatei festgelegt _config.yml
. Siehe die Antwort von Step 2
of Soham Bhattacharyya und ihr Vorwort sowie die ersten beiden Codeblöcke von Caramdir für die Anleitung für diese Bits.
Option 0
herunterladen und kopieren Sie die entpackte Quelle nachproject-name
- Laden Sie die Quelle herunter
cd ~
mkdir -p git/hub && cd git/hub
git clone --depth 1 https://github.com/mathjax/MathJax.git
- Erstellen Sie einen Verzeichnispfad in Ihrem Projekt und kopieren Sie Dateien von
MathJax/unpacked
in diesen Pfad
cd ~
mkdir -p git/lan/project-name/assets/JS_3rd_Party/MathJax
cp -r git/hub/MathJax/unpacked/* git/lan/project-name/assets/JS_3rd_Party/MathJax/
- Fügen Sie die Quelle zum
git
Tracking hinzu
cd git/lan/project-name/
git add assets/JS_3rd_Party/MathJax
git commit -m 'Added MathJax.js unpacked source to git tracking'
- Schreiben Sie eine Include-Datei
tee ./_includes/MathJax.html 1>/dev/null <<EOF
{%- if jekyll.environment == 'production' and site.mathjax == true -%}
<script type="text/javascript" src="{{'/assets/javascripts/JS_3rd_Party/latest.js?config=TeX-AMS-MML_HTMLorMML' | relative_url}}"></script>
{%- elsif jekyll.environment != 'production' and site.mathjax == true -%}
<script type="text/javascript" src="{{'/assets/javascripts/JS_3rd_Party/MathJax.js?config=TeX-AMS-MML_HTMLorMML' | relative_url}}"></script>
{%- endif -%}
EOF
Private Server-Builds werden dort verwendet, MathJax.js
wo als Produktionsumgebung (GitHub) latest.js
die obige Liquid if
... elsif
... endif
-Anweisung verwendet wird.
- Schreiben Sie einen Beitrag, um ihn zu testen
tee ./_posts/$(date +'%Y-%d-%m')-math-tests.markdown 1>/dev/null <<EOF
---
layout: post
title: "Math Tests"
date: $(date +'%Y-%d-%m %H:%M:%S %z')
categories: math
---
{%- include MathJax.html -%}
<span>
for $x,y,z \in \{1, 2,\dots 9\}$
</span>
<span>
$$
\sum_{i=1}^n X_n
$$
</span>
EOF
Ich habe es nicht ohne <span>
s versucht, weil der Vorschlag von cboettig den Trick völlig zu tun scheint . Außerdem ist diese zusätzliche neue Zeile in span
s kein Fehler , ohne dass es dort immer noch Probleme mit der gerenderten Ausgabe gibt.
- Fügen Sie diese neuesten Dateien zum
git
Tracking hinzu
git add _posts/$(date +'%Y-%d-')math-tests.markdown
git add _includes/MathJax.html
- Lokal erstellen oder Push-and-Build auf einem Remote-Server
bundle exec jekyll build --destination /tmp/www/project-name --config _config.yml --incremental
Optionskopie 1
nur latest.js
zur Verwendung eines CDN (Content Delivery Network)
Siehe Option 0
Schritt1.
Erstellen Sie einen Verzeichnispfad für JavaScripts von Drittanbietern und kopieren Sie ihn MathJax/unpacked/latest.js
dort
cd ~
mkdir -p git/lan/project-name/assets/JS_3rd_Party/MathJax
cp git/hub/MathJax/unpacked/latest.js git/lan/project-name/assets/JS_3rd_Party/MathJax/
- Schreiben Sie eine Include-Datei
cd git/lan/project-name
tee ./_includes/MathJax.html 1>/dev/null <<EOF
<script type="text/javascript" src="{{'/assets/javascripts/JS_3rd_Party/latest.js?config=TeX-AMS-MML_HTMLorMML' | relative_url}}"></script>
EOF
Siehe Option 0
Schritt5.
Fügen Sie diese drei Dateien zum git
Tracking hinzu
git add _includes/MathJax.html
git add _posts/$(date +'%Y-%d-')math-tests.markdown
git add assets/JS_3rd_Party/MathJax
git commit -m 'Added `MathJax.html`, `latest.js`, and a test post to git tracking'
- Siehe
Option 0
Schritt 7.
zum lokalen Erstellen
Für jede der Optionen
Bei der Bereitstellung auf einem privaten Server müssen Sie möglicherweise auch in baseurl
der _config.yml
Datei Ihres Projekts definieren , insbesondere wenn Sie das username.tld/project-name
URL-Schema emulieren , das GitHub auf Ihrem privaten Server verwendet.
Bei der Bereitstellung auf einem privaten Server und auf GitHub ist es möglicherweise besser, eine separate Konfigurationsdatei zu verwenden und beim Erstellen von Problemen --config _config.yml,_config_baseurl.yml
, z.
tee ./_config_baseurl.yml 1>/dev/null <<EOF
baseurl: "project-name"
EOF
bundle exec jekyll build --destination /tmp/www/project-name --config _config.yml,_config_baseurl.yml --incremental
Hoffe, das hilft beim Laden von Assets über ein Include.