Einige Hinweise, bevor Sie eine der folgenden Optionen ausprobieren
Die Option 0erhöht die Erstellungszeiten auch mit --incrementalund die Option 1sollte 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 kramdowndem Markdown-Interpreter getestet und mathjax: truein der Projektdatei festgelegt _config.yml. Siehe die Antwort von Step 2of Soham Bhattacharyya und ihr Vorwort sowie die ersten beiden Codeblöcke von Caramdir für die Anleitung für diese Bits.
Option 0herunterladen 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/unpackedin 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
gitTracking 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.jswo als Produktionsumgebung (GitHub) latest.jsdie 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 spans kein Fehler , ohne dass es dort immer noch Probleme mit der gerenderten Ausgabe gibt.
- Fügen Sie diese neuesten Dateien zum
gitTracking 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 1nur latest.jszur Verwendung eines CDN (Content Delivery Network)
Siehe Option 0Schritt1.
Erstellen Sie einen Verzeichnispfad für JavaScripts von Drittanbietern und kopieren Sie ihn MathJax/unpacked/latest.jsdort
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 0Schritt5.
Fügen Sie diese drei Dateien zum gitTracking 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 0Schritt 7.zum lokalen Erstellen
Für jede der Optionen
Bei der Bereitstellung auf einem privaten Server müssen Sie möglicherweise auch in baseurlder _config.ymlDatei Ihres Projekts definieren , insbesondere wenn Sie das username.tld/project-nameURL-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.