Abzeichnen und mehrere Dateien einschließen
Gibt es eine markdown-Gabel, die es Ihnen ermöglicht Verweise auf andere Dateien, so etwas wie eine enthält die Datei? Konkret, ich möchte erstellen Sie eine separate markdown-Datei mit links, die ich nennen sich oft, aber nicht immer (nennen wir das B. md), dann, wenn ich einen link als Verweis in der md-Datei, die ich Schreibe (A. md), würde ich es mögen, ziehen Sie den link aus der anderen Datei (B. md) anstatt vom Ende der aktuellen Datei (A. md).
Kommentar zu dem Problem - Öffnen
Wenn Ihre Frage github bezogen markdown, könnten Sie werfen Sie einen Blick hier
Die Faustregel für Markdown ist, dass die Antwort auf "Kann" Markdown " ... "ist in der Regel Nicht praktisch, universell oder leicht'.
Es gibt eine offene Diskussion darüber, wie am besten, dies mit Pandoc über auf github.com/jgm/pandoc/issues/553 und auf der commonmark forum unter talk.commonmark.org/t/...
InformationsquelleAutor der Frage David LaSpina | 2011-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist Nein. Die lange Antwort ist ja. 🙂
Markdown wurde entwickelt, um Leuten zu erlauben, schreiben Sie einfachen, lesbaren text, der könnte sich einfach in eine einfache HTML-markup. Es nicht wirklich zu tun-layout. Zum Beispiel, es gibt keinen wirklichen Weg, um auszurichten, ein Bild nach rechts oder Links. Zu deiner Frage, es gibt keine markdown-Befehl, um einen einzelnen link von einer Datei zur anderen in einer beliebigen version von markdown (soweit ich weiß).
Dem am nächsten kommen könnte, um diese Funktionalität wird Pandoc. Pandoc können Sie Dateien Zusammenführen, als Teil der transformation, die es erlaubt Sie zu leicht machen, mehrere Dateien in einer einzigen Ausgabe. Zum Beispiel, wenn Sie schufen ein Buch, dann könnte man Kapitel wie:
Können Sie Zusammenführen, indem Sie das ausführen dieses Befehls im selben Verzeichnis:
Da pandoc wird merge alle Dateien vor der übersetzung, können Sie Ihre links in der letzten Datei wie folgt:
Damit einen Teil Ihrer
01_preface.md
könnte wie folgt Aussehen:Und ein Teil Ihrer
02_introduction.md
könnte wie folgt Aussehen:So lange, wie Sie Ihre Letzte Datei enthält die Zeile:
...der gleiche Befehl verwendet, bevor die Zusammenführung und Konvertierung während darunter, dass link während. So stellen Sie sicher, lassen Sie eine leere Zeile oder zwei am Anfang der Datei. Die pandoc-Dokumentation sagt, dass es fügt eine leere Zeile zwischen Dateien, die zusammengeführt werden, auf diese Weise, aber das hat nicht funktioniert für mich, ohne die leere Zeile.
InformationsquelleAutor der Antwort Aaron Massey
Ich würde einfach erwähnen, dass Sie verwenden können, die Katze Befehl verketten der input-Dateien, bevor Sie durch markdown das hat den gleichen Effekt wie das, was pandoc tut, um mehrere input-Dateien, die in.
funktioniert so ziemlich das gleiche wie die pandoc Beispiel oben für die Python-version von Markdown auf dem Mac.
InformationsquelleAutor der Antwort Marty Heyman
Können Sie tatsächlich mit der Markdown-Präprozessor (MarkdownPP). Läuft mit der hypothetischen Buch-Beispiel von der anderen Antworten, die Sie schaffen würde
.mdpp
Dateien für Ihre Kapitel. Die.mdpp
Dateien können dann mit der!INCLUDE "path/to/file.mdpp"
Richtlinie, die arbeitet rekursiv ersetzt die Richtlinie den Inhalt der referenzierten Datei in der endgültigen Ausgabe.Sie benötigen dann einen
index.mdpp
enthalten, dass die folgenden:Rendern Ihrem Buch führen Sie einfach den Präprozessor auf
index.mdpp
:Vergessen Sie nicht, Blick auf die
readme.mdpp
in der MarkdownPP repository für eine exposition von Präprozessor-Funktionen geeignet für größere dokumentationsprojekte.InformationsquelleAutor der Antwort ninegrid
Erst vor kurzem schrieb ich etwas wie dies in Knoten genannt markdown-gehören , ermöglicht die markdown-Dateien mit C-style-syntax, etwa so:
Ich glaube, das richtet schön mit der Frage, die Sie gefragt haben. Ich weiß, das ein altes, aber ich wollte es zu aktualisieren, mindestens.
Können Sie diese in jedem markdown-Datei, die Sie wünschen. Diese Datei kann auch mehr gehört und markdown-gehören machen Sie einen internen link und tun all die Arbeit für Sie.
Herunterladen können Sie es über
npm
InformationsquelleAutor der Antwort Sethen
Meine Lösung ist die Verwendung von m4. Es unterstützt auf den meisten Plattformen und ist im binutils-Paket.
Ersten zählen ein makro
changequote()
in der Datei ändern, die quoting-Zeichen, was Sie bevorzugen (die Standardeinstellung ist `). Das makro wird entfernt, wenn die Datei verarbeitet wird.Auf der Kommandozeile:
InformationsquelleAutor der Antwort Ben Hochstedler
In der Tat können Sie
\input{filename}
und\include{filename}
die latex-Befehle,direkt in
Pandoc
, denn es unterstützt nahezu allehtml
undlatex
syntax.Aber Vorsicht, die Datei enthalten, werden behandelt, als
latex
- Datei. Aber Sie können kompilieren Sie Ihremarkdown
zulatex
mitPandox
leicht.InformationsquelleAutor der Antwort Wung Hugh
Ich denke, dass wir besser die Einführung eines neuen file inclusion syntax (also nicht versauen mit
code-Blöcke, ich denke, die C-Stil-die Aufnahme ist Total falsch), und ich schrieb ein kleines tool, das in Perl, Benennung
cat.pl
,weil es funktioniert wie
cat
(cat a.txt b.txt c.txt
verschmelzen die dreiDateien), aber es vereint die Dateien in die Tiefe, nicht in der Breite. Wie zu benutzen?
Die syntax im detail:
@include <-=path=
%include <-=path=
Er ordnungsgemäß verarbeiten kann file inclusion Schleifen (wenn a.txt <- b.txt, b.txt <- a.txt dann, was erwarten Sie?).
Beispiel:
a.txt:
b.txt:
perl cat.pl a.txt > c.txt
, c.txt:Weitere Beispiele https://github.com/district10/cat/blob/master/tutorial_cat.pl_.md.
Schrieb ich auch eine Java-version hat eine identische Wirkung (nicht die gleichen, aber in der Nähe).
InformationsquelleAutor der Antwort dvorak4tzx
Ich benutze Gekennzeichnet 2 auf Mac OS X. Es unterstützt die folgende syntax, um andere Dateien.
Leider kann man nicht füttern, um pandoc, wie es nicht zu verstehen, die syntax. Jedoch, ein Drehbuch zu schreiben, um Streifen der syntax heraus zu konstruieren pandoc Befehlszeile ist einfach genug.
InformationsquelleAutor der Antwort paxos1977
Verwende ich eine
includes.txt
- Datei mit alle meine Dateien in der richtigen Reihenfolgedas führe ich pandoc wie diese:
pandoc -s $(cat includes.txt) --quiet -f markdown -t html5 --css pandoc.css -o index.html
Funktioniert wie ein Charme!
InformationsquelleAutor der Antwort Mike Mitterer
Asciidoc (http://www.methods.co.nz/asciidoc/) ist eigentlich ein Preisabschlag auf Steroiden. Insgesamt, Asciidoc, und Markdown wird sehr ähnlich Aussehen und es ist relativ leicht zu wechseln. Ein riesige profitieren von Asciidoc über markdown ist, dass es unterstützt beinhaltet bereits, für andere Asciidoc-Dateien, sondern auch für jedes format, das Sie möchten. Sie können sogar teilweise include-Dateien basierend auf Zeilennummern oder tags in Ihren Dateien enthalten.
Einschließlich anderer Dateien ist wirklich ein Lebensretter, wenn Sie schreiben, docs.
Können Sie zum Beispiel eine asciidoc-Datei mit solchem Inhalt:
und pflegen Sie Ihre Probe in
script.pl
Und ich bin sicher, Sie werden sich Wundern, ja, Github unterstützt auch asciidoc.
InformationsquelleAutor der Antwort Wilfried Kopp
Multimarkdown hat dies nativ. Er nennt es Datei transklusion:
ist alles was es braucht. Seltsame Namen, aber alle Boxen Zecken.
InformationsquelleAutor der Antwort eff