Markdown Viewer


154

Ich habe eine mit Markdown formatierte Datei gefunden. Könnten Sie Jungs vorschlagen, welchen Viewer ich zum Anzeigen dieser Art von Dateien verwenden könnte? Hoffentlich eins ohne gui (wenn es möglich ist)

Update Ich war auf der Suche nach einem Viewer, der das Markdown-Dateiformat analysieren kann, das keine Konvertierung benötigt. Aber etwas in der Nähe sollte in Ordnung sein.


5
Eine Markdown-Datei kann nur gelesen werden, wenn Sie sie in einem Editor öffnen. Sie benötigen keine ausgefallenen Tools, um sie zu lesen. Wofür möchtest du es haben / in welchem ​​Format soll es sein?
Kasterma

1
Es gibt viele Versionen von "Markdown". Technisch gesehen , LaTeX, HTML sind Abschläge, da die ist kursiv fett fett und kursiv und USE Links ...
vonbrand

1
retext jetzt auf Github als @Fran empfohlen
Dr. Beco

15
@vonbrand LaTeX und HTML sind markieren up Sprachen. Markdown ist eine bestimmte Textformatierungs- "Sprache" (obwohl Sie richtig sind, dass es eine Reihe von Varianten gibt, einschließlich der auf Stack Exchange-Sites wie dieser verwendeten). Der Name von Markdown ist ein Scherz, da Sie damit eine Menge Dinge tun können, die mit einer Markup-Sprache möglich sind, ohne Ihren Text (größtenteils) zu "markieren" (dh Tags hinzuzufügen).
Laurence Gonsalves

Antworten:


37

Die folgende Website bietet ein Tool, mit dem Markdowns in HTML übersetzt werden:

http://daringfireball.net/projects/markdown/

Sobald Sie die Datei in HTML konvertiert haben, stehen eine Reihe von Befehlszeilentools zum Anzeigen der Datei zur Verfügung. Unter Verwendung einer Testdatei, die markdown-formatierten Text enthält, fand ich, dass das Folgende gut funktioniert.

$ wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
$ unzip Markdown_1.0.1.zip
$ cd Markdown_1.0.1/
$ ./Markdown.pl ~/testfile.markdown | html2text

html2text ist eines von vielen Tools, mit denen Sie HTML-formatierten Text über die Befehlszeile anzeigen können. Eine andere Option, wenn Sie eine etwas schönere Ausgabe wünschen, ist die Verwendung von lynx :

$ ./Markdown.pl ~/testfile.markdown | lynx -stdin

Wenn Sie ein Emacs-Benutzer sind, hat jemand einen Abschriftenmodus geschrieben, der hier verfügbar ist: http://jblevins.org/projects/markdown-mode/ . Dies bietet eine schöne Hervorhebung der Syntax, wie im Screenshot auf dieser Website zu sehen ist.

Alle diese Tools sollten für Slackware verfügbar sein.


8
In VIM können Sie Syntaxhervorhebungen erhalten, indem Sie die Syntax manuell auf Markdown setzen, wenn sie nicht erkannt wird. :set syntax=mkd
Gert

1
Ich hätte nie gedacht, -stdinLuchs zu benutzen , sehr klug und genau das, was ich brauchte.
NickO

1
Ich habe dies getestet und kann überprüfen, ob es unter Linux funktioniert. Interessanterweise informiert die Manpage darüber, dass eine solche Funktion nur für UNIX gilt. -stdin read the startfile from standard input (UNIX only).
Sherrellbc

98

Verwenden von Pandoc und Lynx, ohne temporäre Dateien zu erstellen:

pandoc file.md | lynx -stdin

7
(Hinweis: Pandoc ist in Haskell)
Fche

10
Oder einfachpandoc -t plain file.md | less
Adriano P

7
Dann füge dies hinzu zu .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

Nach einigem Herumbasteln habe ich mich dazu entschlossen, standardmäßig "README.md" zu lesen, was ich normalerweise mache: function mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / usr / bin / less; }
bgvaughan

Wenn Sie die Lösung von @ HDave erhalten defining function based on alias 'md', gehen Sie wie folgt vor : Überprüfen Sie, wofür sie geeignet ist (z. B. Benötigen / verwenden Sie sie? ): which md(Meine wurde auf festgelegt mkdir -p). Nein? Dann fügen Sie diese über der Linie: unalias md. Erhielt diesen Fehler bei der Verwendung zshauf Ubuntu 18.
Swivel

44

Ich habe einen leichten Terminal Markdown Viewer in Python, für CLI oder als lib geschrieben:

Es unterstützt zB Tabellen, Ermahnungen und jede Menge Farbthemen.

Usage:
mdv [-t THEME] [-T C_THEME] [-x] [-l] [-L] [-c COLS] [-f FROM] [-m] [-M   DIR] [-H] [-A] [MDFILE]

Options:
MDFILE    : Path to markdown file
-t THEME  : Key within the color ansi_table.json. 'random' accepted.
-T C_THEME: Theme for code highlight. If not set: Use THEME.
-l        : Light background (not yet supported)
-L        : Display links
-x        : Do not try guess code lexer (guessing is a bit slow)
-f FROM   : Display FROM given substring of the file.
-m        : Monitor file for changes and redisplay FROM given substring
-M DIR    : Monitor directory for markdown file changes
-c COLS   : Fix columns to this (default: your terminal width)
-A        : Strip all ansi (no colors then)
-H        : Print html version

   Bildbeschreibung hier eingeben


Ich mag das wirklich, aber es fehlen einige grundlegende Usability-Funktionen, wie zum Beispiel: Das Thema wird nicht standardmäßig angezeigt, wenn es als App ausgeführt wird (es ist mir wirklich egal, welches Thema verwendet wird, lass mich eines in meinem Alias ​​definieren und dann Zeigen Sie einfach die Markierung an (bitte), begründen Sie den Absatztext (fragen Sie hier nicht nach einer erweiterten Silbentrennung, sondern zumindest nach einem Zeilenumbruch), und aus irgendeinem Grund scheint es auch nicht richtig mit Absatzumbrüchen umzugehen. Es ist ein wirklich guter Anfang und hat viele nützliche Funktionen wie die Hervorhebung der Codesyntax, ist aber im Grunde genommen in seinem aktuellen Zustand nicht verwendbar, traurig, weil es so nahe gekommen ist.
Thomas

Hallo danke! Übrigens: Nach nur ungefähr 10 Jahren habe ich diese Probleme behoben. Wenn Sie immer noch interessiert sind, werfen Sie einen Blick auf GH und geben Sie uns Feedback.
Rote Pille

Hey, was ist mit dieser Python 3-Version?
Lucas Soares

wird tun, sobald Py3 bereit für POSIX ist thoughtstreams.io/ncoghlan_dev/…
Red Pill

Schade, dass es immer noch keinen hellen Hintergrund unterstützt. (installiert mit pipwie in Readme vorgeschlagen)
Ruslan

42

Hinweis : Kredite an @ Joe Antwort in Stack - Überlauf.


Sie können Grip verwenden , wodurch der Markdown genau wie GitHub gerendert wird (es wird die GitHub-Markdown-API verwendet ).

Installiere es mit pip:

pip install grip

So rendern Sie eine Datei example.md:

grip -b example.md

Wie das aussieht:

Bildbeschreibung hier eingeben


1
Arch Linux Benutzer: Grip ist ein anderes Paket. Mach pip install gripstattdessen.
Ave

Klappt wunderbar. Ich empfehle das.
some_guy632

30

Ist ein GUI-Programm, aber ich finde es nützlich für diese Aufgabe ReText , das ist ein Editor für Markdown und reStructuredText mit einem Vorschaumodus:

ReText-Screenshot

Wenn Sie jedoch die Datei von ReText von einem Terminal aus sehen müssen, besteht eine Möglichkeit darin, die Datei von marddown nach html zu konvertieren pandocund die html-Kopie in lynxfolgender Sprache anzuzeigen :

pandoc file.mkd > file.html ; lynx file.html

Bearbeiten

Für * nix-Systeme stehen einige weitere kostenlose Markdown-Editoren mit Vorschau zur Verfügung. Einige in offiziellen Repositories, andere nicht, und jedes mit seinen eigenen Stärken und Schwächen, aber als geeignete Zuschauer möchte ich diese hervorheben:

  • Typora : Es befindet sich noch in der Beta-Phase, ist aber in der Zwischenzeit kostenlos (es ist nicht klar, wie die stabile Version lizenziert wird). Obwohl es nicht FOSS ist, eignet es sich perfekt als Markdown-Viewer, da es standardmäßig fast wie ein WYSIWYG-Editor ("Live-Vorschau-Modus") mit einem Gliederungsfenster (Inhaltsverzeichnis) funktioniert, das für große Dateien sehr praktisch ist. Der "Quellcode-Modus" verfügt über Syntax-Hervorhebungen, einschließlich größerer Schriftarten für Überschriften und Kursivschrift für Hervorhebungen. Und nicht nur nach HTML, ODT und PDF exportieren. Kann über pandocIntegration auch in verschiedene Formate importieren und exportieren .

  • Ghostwriter : Nur HTML-Vorschau (nicht bearbeitbar), aber auch ein schönes Gliederungsfenster und Syntax-Highlight. Ohne Importoptionen, aber mit Pandoc und anderen Prozessoren (MultiMarkdown, Discount oder cmark) in verschiedene Formate exportieren und über hunspell/ eine Live-Rechtschreibprüfung durchführen myspell.

  • MdCharm : Ähnlich wie Retext, unterstützt jedoch Markdown (Markdown extra) und MultiMarkdown. Zeigen Sie auch ein Gliederungsfenster (ToC) an.

Für R MarkdownBenutzer sollte ich auch editR erwähnen . Ist kein Programm, sondern ein R-Paket zum Bearbeiten / HTML-Vorschau von R-Markdown in einem Browser. R Commander und RStudio ermöglichen auch eine einfache Vorschau in HTML, PDF oder Word.


Ich benutze ausschließlich Retext. Es hat mich noch nicht im Stich gelassen, aber dann habe ich es nicht so ausgiebig benutzt wie einige andere. Ich benutze es ausschließlich, um Probleme in Github (das leider Markdown verwendet) zu machen und habe keine GUI dafür.
Shirish

Danke für den Tipp Fran, genau das, wonach ich gesucht habe. Das einzige, was mir bisher aufgefallen ist, dass ReText fehlt, ist eine Aktualisierungs- oder "Load-on-Change" -Funktion, mit der Sie es in Verbindung mit anderen Editoren verwenden können.
Asche

Sehr schöner Tipp. Auch hier zu empfehlen: softwarerecs.stackexchange.com/a/17740 Das Repository wurde in github geändert: github.com/retext-project/retext
Dr Beco

12

Für diejenigen, die w3m (vi style bindings) bevorzugen:

pandoc file.md | w3m -T text/html

Ich habe es in ein Skript geschrieben, mdview.sh, und das in meinen Pfad eingefügt:

#!/bin/sh
pandoc "$1" | w3m -T text/html

Die mit Abstand beste Version ohne GUI: Rendering behält die Terminalfarben bei und sieht aus wie ein einfacher lessBefehl mit Farbgebung.
Ulysse BN


4

Es gibt auch Discount, David Parsons 'C-Implementierung von John Grubers Markdown-Text in HTML-Sprache. Discount besteht aus mehreren Kommandozeilen - Tools , einschließlich markdown, mkd2html, makepage, mktagsund theme.

http://www.pell.portland.or.us/~orc/Code/discount/

Zusätzlich gibt es eine Implementierung von Markdown in C unter Verwendung einer PEG-Grammatik.

https://github.com/jgm/peg-markdown

Unter Mac OS X können Sie sich auch qlmarkdowneinen QuickLook-Generator für Markdown-Dateien ansehen .


3

Ich weiß, Sie sagten, Sie hätten eine Nicht-GUI-Anwendung bevorzugt, aber ich arbeite derzeit an einer GUI-Anwendung namens DownMarker, die dies tut. Sie können die Quelle in einem Mercurial - Repository finden hier . Hier finden Sie eine eigenständige ausführbare Datei, die mit Mono oder .NET ausgeführt werden kann .

Vorbehalt: Es ist noch lange nicht fertig und wird nur gelegentlich unter Linux / Mono getestet. Der letzte Test, den ich gemacht habe, war auf Mono 2.6. Wenn Sie es selbst erstellen möchten, benötigen Sie eine aktuelle Version von mercurial, um das Repository zu klonen, und MonoDevelop, um die Anwendung zu kompilieren.


1
Auf meinem Windows 7-Computer werden 64-Bit-Dateien geöffnet, das MD-Dokument wird jedoch nicht gerendert, sondern nur die Quelle angezeigt. Trotzdem ist es erstaunlich, dass eine Mono-Anwendung gerade ohne Absturz auf meinem Computer lief. :)
GmonC


3

In einigen Kommentaren wurde nach der Möglichkeit der Verwendung eines Browser-Add-On gefragt oder darauf hingewiesen. Ich mag diesen Ansatz, weil ich Markdown-Dateien in jedem Linux-Texteditor (von Nano über VIM bis Kate) bearbeiten und die Dateien in Firefox (dem Browser meiner Wahl) anzeigen kann.

Ich habe dieses Firefox-Add-On einfach installiert und es funktionierte sofort unter Kubuntu 12.04 und Firefox 33.0. Keine Anpassungen erforderlich.

Markdown Viewer :: Add-ons für Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(Ich mag auch ReText, aber ich würde es vorziehen, wenn etwas wie ReText als Plugin für Kate implementiert wird. ReText verfügt nicht über genügend Funktionen, um mit ausgereiften Editoren wie Kate mithalten zu können.)


Die Frage stellte sich für einen Betrachter ohne GUI, aber ich persönlich mag diese Lösung wirklich.
Sauerburger

3

Ein IMHO stark unterschätzter Kommandozeilen-Markdown-Viewer ist das Markdown-CLI .

Installation

npm install markdown-cli --global

Verwendungszweck

markdown-cli <file>

Eigenschaften

Wahrscheinlich ist
mir nicht viel aufgefallen, da es keine Dokumentation gibt ... Aber soweit ich anhand einiger Beispiel-Markdown-Dateien herausfinden konnte, haben mich einige Dinge überzeugt:

  • Besserer Umgang mit schlecht formatierten Dateien (ähnlich wie bei Atom, Github usw.; z. B. wenn vor Listen Leerzeilen fehlen)
  • Stabiler mit Formatierung in Überschriften oder Listen (Fettdruck in Listen unterbricht Unterlisten in einigen anderen Viewern)
  • richtige Tabellenformatierung
  • Syntax-Hervorhebung
  • Löst Fußnoten-Links auf, um den Link anstelle der Fußnotennummer anzuzeigen (nicht jeder möchte dies möglicherweise)

Bildschirmfoto

example.png

Nachteile

Ich habe die folgenden Probleme erkannt

  • Codeblöcke werden abgeflacht (alle führenden Leerzeichen verschwinden)
  • Vor Listen werden zwei leere Zeilen angezeigt

3

Derzeit wird mdpin Arch Linux und Termux auf Android ein Markdown-Präsentationstool verwendet.

Bild

Verwendungszweck

$ mdp {file}.md

Glatter Alias

md() {
  fileName=${1:-"README.md"}
  mdp "$fileName"
}

2

Angenommen, Sie möchten sehen, wie der HTML-Code aussieht: Verwenden Sie einen Webbrowser (mit einem Addon) als Viewer.

Für Google Chrome gibt es beispielsweise TextDown, mit dem Sie Dateien direkt im Browser bearbeiten und eine Live-Vorschau anzeigen können .

Nach dem Hinzufügen müssen Sie auch zu chrome: // chrome / extensions / gehen und "Zugriff auf Datei-URLs erlauben" aktivieren, damit Sie lokale Dateien öffnen können. Eine Warnung: Wenn Sie speichern (Umschalt-Strg-S), speichert TextDown nicht in der Datei, die Sie geöffnet haben, sondern in Ihrem Download-Ordner.


Es gibt auch diese Erweiterung für Firefox, mit der Sie dann arbeiten können .
Wilf

2

Ich schlage vor, einen Blick auf Atom zu werfen . Es ist ein ausgezeichneter Texteditor mit eingebauter Markdown-Vorschau. Normalerweise verwende ich den Markdown-Vorschaumodus nicht, da er schwerwiegende Fehler aufweist - Zeilenumbrüche (sofern sie nicht paarweise auftreten und auf <p>den Inhalt eines Tags hinweisen ) werden in der Vorschau beibehalten. Der Syntax-Hervorhebungsmodus ist jedoch so gut (da Markdown so optimiert ist, dass es für den Menschen lesbar ist und Atoms Farbgebung ausgezeichnet ist), dass ich Markdown-Dateien normalerweise im Quellansichtsmodus lese.


2

Readonly Vim mit Markdown-Hervorhebung und Faltung

Da Vim Markdown hervorgehoben und hochgeklappt und ausgeführt wird, besteht die einfachste Lösung darin, vimentweder im Nur-Lese-Modus vim -Roder (zumindest unter Ubuntu) eleganter zu evozieren :

$ view filename.md

Fügen Sie Folgendes ganz unten in Ihre .vimrcDatei ein und viewverhalten Sie sich genauso wie lessbeim Hervorheben der bevorzugten Syntax (nicht nur für Markdowns!) Und beim Falten:

" less behaviour for view
" https://unix.stackexchange.com/a/314184/39845

" http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager
function! LessBehaviour()
    if (!&modifiable || &ro)
        set nonumber
        set nospell
        set laststatus=0    " Status line
        set cmdheight=1
        set guioptions=aiMr    " No menu bar, nor tool bar
        noremap u <C-u>
        noremap d <C-d>
        noremap q :q<CR>
    endif
endfunction

" https://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
    au!
    au VimEnter * :call LessBehaviour() 
augroup END

Es gibt auch eine strengere less.shSchrift. Auf meinem System kommt es mit verpackt vim. Um es zu finden, benutze:

$ find /usr/share/vim -name less.sh

Im Gegensatz zu dem oben aufgelisteten Skript funktioniert das Falten damit jedoch nicht less.sh.




0

Eine einfache Lösung für die meisten Situationen: Kopieren Sie den Markdown in einen Viewer in der "Cloud". Hier sind zwei Möglichkeiten:

  1. Dillinger.io
  2. Dingus

Nichts zu installieren! Plattform überqueren! Cross-Browser! Immer verfügbar!

Nachteile: Kann bei großen Dateien zu Problemen mit der Sicherheit von Standard-Cloud-Anwendungen führen.


0

Dies ist ein Alias, der eine Funktion kapselt:

alias mdless='_mdless() { if [ -n "$1" ] ; then if [ -f "$1" ] ; then cat <(echo ".TH $1 7 `date --iso-8601` Dr.Beco Markdown") <(pandoc -t man $1) | groff -K utf8 -t -T utf8 -man 2>/dev/null | less ; fi ; fi ;}; _mdless '

Erläuterung

  • alias mdless='...' : Erstellt einen Alias ​​für mdless
  • _mdless() {...}; : Erstellt eine temporäre Funktion, die anschließend aufgerufen wird
  • _mdless : am Ende nenne es (die Funktion oben)

In der Funktion:

  • if [ -n "$1" ] ; then : Wenn das erste Argument nicht null ist, dann ...
  • if [ -f "$1" ] ; then : auch, wenn die Datei existiert und regelmäßig ist, dann ...
  • cat arg1 arg2 | groff...: cat sendet diese beiden Argumente verkettet an groff; Die Argumente sind:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): Startet die Datei und groffwird als Kopf- und Fußzeile verstanden. Dies ersetzt den leeren Header ab -sSchlüssel pandoc.
    • arg2:: <(pandoc -t man $1)Die Datei selbst, gefiltert nach pandoc, gibt den manStil der Datei aus$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: Weiterleiten der resultierenden verketteten Datei an groff:
    • -K utf8groffversteht so den eingabedateicode
    • -t So werden die Tabellen in der Datei korrekt angezeigt
    • -T utf8 so wird es im richtigen Format ausgegeben
    • -manDaher wird das MACRO- Paket verwendet, um die Datei im manFormat auszugeben
    • 2>/dev/null um fehler zu ignorieren (schließlich ist es eine rohe datei, die von hand in mann transformiert wird, es ist uns egal, solange wir die datei in einem nicht allzu hässlichen format sehen können).
  • | less: schließlich zeigt die Datei, mit der sie paginiert wird less(ich habe versucht, diese Pipe durch Verwenden groffervon zu vermeiden groff, aber sie grofferist nicht so robust wie lessund einige Dateien hängen sie oder werden überhaupt nicht angezeigt. Lassen Sie sie also durch eine weitere Pipe gehen , was zum Teufel!

Fügen Sie es Ihrem ~/.bash_aliases(oder ähnlichem) hinzu



0

Am schmerzlosesten ist es für mich, mdless gem von Ruby zu verwenden.

  1. Installieren Sie Ruby

    sudo apt-get install ruby

  2. Installieren Sie mdless

    sudo gem install mdless

  3. Datei über mdless öffnen

    mdless filename.md


1
mdlesswurde bereits als Antwort gegeben.
Scott
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.