[Command-Line] Gibt es ein Befehlszeilenprogramm zum Rendern von GitHub aromatisiertem Markdown?



Answers

Ich habe keine schnelle und einfache Methode für GitHub-aromed Markdown gefunden, aber ich habe eine etwas allgemeinere Version gefunden - Pandoc . Es konvertiert von / zu einer Reihe von Formaten, einschließlich Markdown, Rest, HTML und andere.

Ich habe auch ein Makefile , um alle .md-Dateien in .html zu konvertieren (zum großen Teil in das Beispiel bei Writing, Markdown und Pandoc ):

# 'Makefile'
MARKDOWN = pandoc --from markdown_github --to html --standalone
all: $(patsubst %.md,%.html,$(wildcard *.md)) Makefile

clean:
    rm -f $(patsubst %.md,%.html,$(wildcard *.md))
    rm -f *.bak *~

%.html: %.md
    $(MARKDOWN) $< --output $@
Question

Ich frage mich, ob es ein Befehlszeilendienstprogramm gibt, um eine mit GitHub aromatisierte Markdown- Datei aufzunehmen und sie in HTML zu rendern.

Ich verwende ein GitHub-Wiki, um Website-Inhalte zu erstellen. Ich habe das Repository auf meinem Server geklont und möchte es dann in normales HTML umwandeln. Es ist mir wichtig, dass auf GitHub genau so aussieht, wie es auf meiner Website aussehen soll. Ich würde auch gerne die umzäunten Blöcke mit ~~~ , also würde ich lieber nicht nur die Standard-Markdown-Syntax verwenden.

Ich habe ein wenig in die JavaScript-Live-Vorschau geschaut, da ich dachte, ich könnte sie in Node.js einbinden, aber sie sagen, dass sie veraltet ist. Ich habe mir das Redcarpet-Repository angeschaut, aber es sieht nicht so aus, als hätte es eine Befehlszeilenschnittstelle.

Ich habe jedoch meine eigene Lösung gerollt, da hier keine Lösung eindeutig besser ist als die anderen, überlasse ich die Frage ohne eine ausgewählte Antwort.




Basierend auf Jim Lims Antwort installierte ich den GitHub Markdown-Edelstein. Dazu gehörte ein Skript namens gfm, das einen Dateinamen in die Befehlszeile aufnimmt und den entsprechenden HTML-Code in die Standardausgabe schreibt. Ich habe das leicht modifiziert, um die Datei auf Diskette zu speichern und dann den Standardbrowser mit Launchy zu öffnen:

#!/usr/bin/env ruby

HELP = <<-help
  Usage: gfm [--readme | --plaintext] [<file>]
  Convert a GitHub-Flavored Markdown file to HTML and write to standard output.
  With no <file> or when <file> is '-', read Markdown source text from standard input.
  With `--readme`, the files are parsed like README.md files in GitHub.com. By default,
  the files are parsed with all the GFM extensions.
help

if ARGV.include?('--help')
  puts HELP
  exit 0
end

root = File.expand_path('../../', __FILE__)
$:.unshift File.expand_path('lib', root)

require 'github/markdown'
require 'tempfile'
require 'launchy'

mode = :gfm
mode = :markdown if ARGV.delete('--readme')
mode = :plaintext if ARGV.delete('--plaintext')

outputFilePath = File.join(Dir.tmpdir, File.basename(ARGF.path))  + ".html"

File.open(outputFilePath, "w") do |outputFile |
    outputFile.write(GitHub::Markdown.to_html(ARGF.read, mode))
end

outputFileUri = 'file:///' + outputFilePath

Launchy.open(outputFileUri)



Es gibt ein wirklich nettes und einfaches Tool zum Durchsuchen von GFM Markdown-Dokumenten:

GFMS - Github Aromatisierter Markdown Server

Es ist einfach und leicht (keine Konfiguration erforderlich) HTTP-Server können Sie in einem beliebigen Verzeichnis mit Markdown-Dateien starten, um sie zu durchsuchen.

Eigenschaften:

  • Vollständige GFM Markdown-Unterstützung
  • Quellcode-Syntax-Hervorhebung
  • Durchsuchen von Dateien und Verzeichnissen
  • Gut aussehende Ausgabe (und konfigurierbare CSS Stylesheets)
  • Als PDF exportieren



pip3 install --user markdown
python3 -m markdown readme.md > readme.html

Es behandelt keine GitHub-Erweiterungen, aber es ist besser als nichts. Ich glaube, dass Sie das Modul erweitern können, um die Additionen von GitHub zu behandeln.




Späte Hinzufügung, aber showdownjs hat ein CLI Werkzeug, das Sie verwenden können, um MD zu HTML zu analysieren.




Ich benutze Pandoc mit der Option --from=gfm so:

$ pandoc markdown-sample.md   --from=gfm -t html -o markdown-sample.html









Verbesserung der @ Barry-Stae-Lösung. Stecke dieses Snippet in ~ / .bashrc

function mdviewer(){
  pandoc $* | lynx -stdin
}

Dann können wir die Datei schnell über die Befehlszeile anzeigen. Funktioniert auch gut über SSH / Telnet-Sitzungen.

mdviewer README.md



Um eine README.md-Datei im Terminal zu lesen, verwende ich:

pandoc README.md | lynx -stdin

Pandoc gibt es im HTML-Format aus, das Lynx in Ihrem Terminal rendert.

Es funktioniert super: Es füllt mein Terminal, Shortcuts sind unten gezeigt, ich kann blättern und die Links funktionieren! Es gibt zwar nur eine Schriftgröße, aber die Farben + Einrückung + Ausrichtung machen das wett.

Installation:

sudo apt-get install pandoc lynx



Ich habe ein Tool erstellt, das der Vorschau-Funktion von Atom ähnlich ist, aber als eigenständige Anwendung. Nicht sicher, ob das das ist, wonach Sie suchen, aber es könnte hilfreich sein. - https://github.com/yoshuawuyts/vmd




Ich habe vor kurzem gemacht, was Sie wollen, weil ich Dokumentation aus Markdown-Dateien generieren musste und der GitHub-Stil ziemlich nett ist. Versuch es. Es ist in Node.js geschrieben.

gfm






Links