Kernpunkte
Dieser Artikel -Autor Chris Ward erkl?rt, wie Markdown -Dateien mit Pandoc und Latex für den Open -Source -Board -Spiel -Chip -Shop in PDFs konvertiert werden. Spielkomponenten werden mit Markdown geschrieben und die Spielwebsite wird auch von diesen Dateien generiert.
pandoc (ein Open -Source -Markup -Conversion -Tool) und Latex (eine Dokumenterkl?rung und ein Layout -System) werden verwendet, um PDFs aus Markdown -Dateien zu generieren. Trotz ihrer leistungsstarken Funktionen k?nnen sie mehrere PDFs nicht auf einer einzelnen Seite kombinieren. Daher verwendet Ward das Befehlszeilen -Tool PDFJAM, um diese Anforderung zu erfüllen.
Der Autor bietet eine detaillierte Anleitung zur Installation der erforderlichen Abh?ngigkeiten (Markdown, Jekyll, Pandoc, Latex, PDFJAM) und führt allm?hlich den Erstellungsprozess ein, einschlie?lich der Generierung von PDFs aus Markdown, Erstellen von Latex -Dateien und Verwendung von PDFJAM, um Karten zu übertragen, um Karten zu übertragen Kombinieren Sie auf einer Seite.
Der ideale Workflow des Autors besteht darin, eine PDF -Datei zu generieren, w?hrend der Besucher sie anfordert. Mit diesem Ansatz kann die PDF -Kartenversion auch von der HTML -Seite unterscheiden, ohne komplexe CSS -Regeln zu verwenden.
Wenn Sie einige meiner Beitr?ge auf SitePoint oder anderswo gelesen haben, wissen Sie wahrscheinlich, dass ich an einem Brettspiel arbeite. Mit diesem Spiel namens Chip Shop k?nnen Sie in den 1980er Jahren eine Computerfirma betreiben.
Als Teil des Projekts habe ich versucht, das gesamte Spiel so weit wie m?glich zu er?ffnen. Nach einigen Versuchen habe ich beschlossen, Markdown als grundlegendes Framework für die meisten Spielkomponenten (insbesondere Karten und Anweisungen) zu verwenden.
Da die Spielwebsite Jekyll verwendet, wird die Spielwebsite aus der Markdown -Datei generiert. Ich werde eine Premium-Pre-Box-und selbstgedruckte Version des Spiels erstellen, für die ich eine PDF aus einer Markdown-Datei generieren muss.
Ziel
Mein idealer Workflow ist es, PDF -Dateien beim Generieren der Website zu generieren, nicht wenn der Besucher sie anfordert. Dies schlie?t die Option mit WKHTMLTOPDF aus, die ich normalerweise für die PDF -Erzeugung verwende, da sie PDF aus generiertem HTML generiert. Ein weiterer Grund ist, dass ich m?chte, dass die PDF -Kartenversion von der HTML -Seite anders aussieht, und Jekyll fehlt jede Art von "Ansichtsmodus" -Funktionalit?t, um dies zu erreichen, ohne komplexe CSS -Regeln zu verwenden.
Die Karten-Markdown-Vorlagendatei von Chip Shop Game enth?lt viele Markdown-Vorinformationsfelder für Spielmechanik, nicht alle Felder werden auf jeder Karte verwendet. Zum einfachen Drucken muss ich die Karten so oft wie m?glich auf die A4 -Seite setzen - in diesem Fall ein 3 × 3 -Gitter. Letztendlich muss die Seite auf beiden Seiten gedruckt werden, aber ich habe das noch nicht implementiert.
pandoc und latex
Jede Web -Suche, die PDF -L?sungen aus Markdown generiert, führt Sie auf dem Pfad von Pandoc. Pandoc ist ein Open Source Swiss Army -Messermesser -Umwandlungswerkzeug, das eine Vielzahl von Eingangs- und Ausgangsmarkierungsformaten unterstützt.Um PDFs mit Pandoc zu generieren, ist Latex erforderlich. Latex stammt aus der wissenschaftlichen Forschungsgemeinschaft und ist ein Dokumenterkl?rungs- und Layout -System. In Kombination mit Pandoc und Latex k?nnen wir Variablen verwenden, um PDFs aus einer Reihe von Markdown-Dateien zu generieren und die Markdown-Vorinformation zu unterstützen.
Trotz der leistungsstarken Pandoc und Latex kann ich keine M?glichkeit finden, mehrere PDFs (Karten) auf einer einzelnen Seite zu kombinieren, insbesondere wenn ich Variablen in einer Markdown -Datei verwendet habe. Nach viel Nachforschungen habe ich mich für PDFJAM entschieden, ein einfaches Befehlszeilen -Tool für diesen Bedarf.
Abh?ngigkeiten
installierenMarkdown
Sie ben?tigen keine zus?tzliche Markdown -Software, abgesehen davon, dass es m?glicherweise einen Editor ben?tigt. Es gibt viele Redakteure, und ich schlage vor, Sie lesen einige SitePoint -Artikel, um Ihre Wahl zu treffen.
Jekyll
Ich werde weiterhin Jekyll verwenden, um den Build -Prozess in den Beispielen meines Spiels zu veranschaulichen. Wenn Sie jedoch keine Website ben?tigen, ist dies kein notwendiger Bestandteil der PDF -Generation.
pandoc
Auf meinem Mac habe ich Pandoc mit Homebrew installiert, aber alle Betriebssysteme haben entsprechende Optionen.
latex
Es gibt viele W?rter über die beste M?glichkeit, Latex zu installieren, abh?ngig von Ihren Anforderungen oder wie Sie es verwenden m?chten. Die vollst?ndige Installation seiner gemeinsamen Werkzeuge und Bibliotheken kann nahe 2 GB liegen, aber für die meisten Zwecke ist eine Mindestinstallation ausreichend. Lesen Sie die Download -Seite des Projekts, um die Option zu finden, die für Sie am besten funktioniert.
In diesem Tutorial werden wir die Xelatex -Engine verwenden, da ich benutzerdefinierte Schriftarten verwende. Sie k?nnen jedoch jeden Motor ausw?hlen, der die spezifischen Funktionen bietet, die Sie ben?tigen.
pdfjam
Abh?ngig davon, wie Sie Latex installieren, haben Sie m?glicherweise PDFJAM installiert. (Geben Sie den PDFJAM in das Terminal ein.) Wenn Sie ihn nicht installiert haben, suchen Sie hier nach Installationsdetails.
Bauprozess
Nach einiger überlegungen führe ich ein Bash -Skript aus, das lokal ausgeführt wird, die derzeit die beste Wahl zu sein. Es gibt einen besseren Weg, aber es funktioniert, und ich kann den Prozess sp?ter verbessern und ihn in ein kontinuierliches Integrationssystem oder Git -Haken übertragen.
Bash -Skripte auf GitHub anzeigen.
führen wir dieses Skript jetzt Schritt für Schritt vor.
Einstellungen
bundle install bundle update rm -dfr _site rm -dfr pod
Diese Befehle stellen sicher, dass die von Jekyll zum Erstellen einer Website erforderlichen Ruby -Abh?ngigkeiten auf dem neuesten Stand sind, und wir haben alle vorhandenen Website- und Druckordner gel?scht.
Erstellen Sie eine Website
jekyll build mkdir -p pod/pdf/cards
Als n?chstes erstellen wir die Website und erstellen einen Ordner für die gedruckte Version der Karte.
PDF aus Markdown
generierenErstellen wir einen Ordner, der jede Markdown -Datei PDF -Version enth?lt:
for filename in _cards/*.md; do echo $filename pandoc --from=markdown+yaml_metadata_block --template _layouts/cards.latex -o pod/pdf/cards/"$(basename "$filename" .md)".pdf --latex-engine=xelatex $filename done
Dieses Skript übernimmt jede Markdown-Datei im Verzeichnis _cards und stellt sicher, dass das Feld Markdown-Vorinformationen beobachtet wird. Verwenden der Cards.latex -Vorlage (die wir sp?ter abdecken werden) der korrekte Latexmotor gibt einen PDF mit dem entsprechenden Namen aus.
Latex -Datei
Der gr??te Teil der Magie, Kartendateien aus Pandoc zu generieren, findet in Latexvorlagen statt.
Latexvorlagen auf GitHub anzeigen.
Latex ist neu für mich, aber es ist nicht zu kompliziert. Ich werde erkl?ren, was ich aus der Standard -Latex -Datei (befindet sich in pandoc_install_dir/data/templates/default.latex) ge?ndert habe, damit die Karte ordnungsgem?? funktioniert. Ich empfehle Sharelatex.com für die Vorschau bei der Bearbeitung von Latexdateien.
bundle install bundle update rm -dfr _site rm -dfr pod
Wir ben?tigen eine bestimmte Seitengr??e und verwenden die Spalten, um die Kosten und die Punktzahl der Karte sp?ter anzuzeigen. Wir verwenden Grafiken und benutzerdefinierte Schriftarten, daher ben?tigen wir diese Pakete.
Wir versuchen, ein klares und pr?gnantes einfaches Layout zu erstellen. So implementieren wir es:
jekyll build mkdir -p pod/pdf/cards
Ich denke, ein Gro?teil der oben genannten ist für jeden, der verwendet wird, um zu codieren oder zu markieren, recht leicht zu verstehen. Wir erstellen Elemente der Karte, richten sie aus, setzen die Schriftgr??e ein und prüfen, ob Werte vorhanden sind, und geben Sie sie dann aus, damit die Karte nicht mit leeren Feldern endet.
Wir ?ndern die Gr??e des Bildes zu einer bestimmten Gr??e und zentrieren Sie es. Die Kosten- und Bewertungswerte sind in zwei Spalten angeordnet, mit dem Befehl starten {tabular} festgelegt, und die Anzahl der Spalten wird unter Verwendung der Anzahl von l festgelegt.
Karten auf einer Seite kombinieren
Wir verwenden PDFJAM, um eine gro?e PDF -Datei mit jeder einzelnen PDF -Karte zu erstellen:
for filename in _cards/*.md; do echo $filename pandoc --from=markdown+yaml_metadata_block --template _layouts/cards.latex -o pod/pdf/cards/"$(basename "$filename" .md)".pdf --latex-engine=xelatex $filename done
Verwenden Sie diesen Befehl, wir geben Folgendes an:
- Die Seitenorientierung sollte immer vertikal sein
- Jedes einzelne PDF sollte ausgearbeitet werden
- Gittergr??e
- Dateiname Suffix
- Dateiname
pdfjam kann einen Fehler geben, wenn Sie nicht in das Arbeitsverzeichnis ausgeben. Daher verschiebe ich die Datei dorthin, wo ich sie tats?chlich m?chte (hoffentlich wird sie in Zukunft gel?st). Hier k?nnen wir auch eine einzige PDF -Datei l?schen, wenn wir sie nicht ben?tigen.
Das ist es - wir haben eine druckbare PDF von Websites und Spielkarten.
Skript ausführen
Ich benutze ./build.sh
, um das Build -Skript auszuführen. Da es viele Bilder und PDF -Verarbeitung gibt, dauert es ungef?hr fünf bis zehn Minuten. Dann habe ich ein separates Skript, um diese Ordner auf dem Webserver bereitzustellen.
N?chste Schritte
Dieser Prozess habe eine Weile gebraucht, um es richtig zu machen, aber es ist jetzt gut genug, um den Prozess und das Layout nach dem Spieltest weiter zu verbessern.
Ich hoffe, Sie finden meine Forschung und Experimente für Ihr Projekt nützlich. Wenn Sie Kommentare oder Vorschl?ge haben, lassen Sie es mich bitte wissen.
FAQs (FAQs) zum Erstellen von PDFs aus Markdown mit Pandoc und Latex
Wie installiere ich Pandoc und Latex in meinem System?
Um PANDOC zu installieren, k?nnen Sie es auf der offiziellen Website verwenden ( http://www.miracleart.cn/link/8f1dd6e7a88b9cf615c146330c591ba9 .
Kann ich das Erscheinungsbild von PDFs mit Pandoc und Latex anpassen?
Ja, Sie k?nnen Latexvorlagen verwenden, um das Erscheinungsbild des PDF anzupassen. Pandoc verwendet die Standardvorlage, um PDFs zu generieren. Sie k?nnen jedoch Ihre eigenen Vorlagen mit der Option --template
angeben. Sie k?nnen Ihre eigenen Vorlagen erstellen oder eine der vielen online verfügbaren Vorlagen verwenden, z.
Wie konvertieren Sie Markdown -Dateien mit Pandoc und Latex in PDF?
Um eine Markdown -Datei in ein PDF umzuwandeln, k?nnen Sie den folgenden Befehl in einer Terminal- oder Eingabeaufforderung verwenden: pandoc yourfile.md -o yourfile.pdf
. Ersetzen Sie yourfile.md
durch den Namen Ihrer Markdown -Datei und yourfile.pdf
durch den gewünschten Namen Ihrer PDF -Datei. Dieser Befehl fordert PANDOC mit, um Markdown -Dateien mithilfe der Standard -Latex -Vorlage in PDF umzuwandeln.
(Der Rest des FAQ -Inhalts entspricht dem Originaltext, der hier weggelassen wird, um Duplizierung zu vermeiden)
Das obige ist der detaillierte Inhalt vonErstellen Sie PDFs aus Markdown mit Pandoc und Latex. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

In einer Welt, in der Online-Vertrauen nicht verhandelbar ist, sind SSL-Zertifikate für jede Website von wesentlicher Bedeutung geworden. Die Marktgr??e der SSL-Zertifizierung wurde im Jahr 2024 mit 5,6 Milliarden USD bewertet und w?chst immer noch stark.

Ein Zahlungsgateway ist ein entscheidender Bestandteil des Zahlungsprozesses, mit dem Unternehmen Zahlungen online akzeptieren k?nnen. Es fungiert als Brücke zwischen dem Kunden und dem H?ndler, über die Zahlung von Zahlungsinformationen und Erleichterung von Transaktionen. Für

In einem weiteren Rückschlag für eine Dom?ne, in der wir glaubten, dass Menschen immer Maschinen übertreffen würden, schlagen Forscher jetzt vor, dass KI Emotionen besser versteht als wir. Die Forscher haben entdeckt, dass künstliche Intelligenz eine demonstriert

Ein neues Modell für künstliche Intelligenz (KI) hat gezeigt, dass die F?higkeit, wichtige Wetterereignisse schneller und mit gr??erer Pr?zision vorherzusagen als einige der am h?ufigsten verwendeten globalen Vorhersagesysteme

Ob es ihm gef?llt oder nicht, künstliche Intelligenz ist Teil des t?glichen Lebens geworden. Viele Ger?te-einschlie?lich elektrischer Rasierer und Zahnbürsten-sind KI-betrieben.

Künstliche Intelligenz (KI) begann als Streben, das menschliche Gehirn zu simulieren. Inzwischen ist es in der Lage, die Rolle des menschlichen Gehirns im t?glichen Leben zu ver?ndern? Die industrielle Revolution hat die Abh?ngigkeit von manueller Arbeit verringert. Als jemand, der den Applikat untersucht

Je pr?zise wir versuchen, KI -Modelle zu funktionieren, desto gr??er werden ihre Kohlenstoffemissionen - mit bestimmten Aufforderungen, die bis zu 50 -mal mehr Kohlendioxid erzeugen als andere, laut einer kürzlich durchgeführten Studie.

Je fortgeschrittener künstlicher Intelligenz (KI) wird, desto mehr "halluzinieren" und liefern falsche oder ungenaue Informationen.
