Markdown Viewer


154

Ho trovato un file formattato con Markdown. Ragazzi, potreste suggerire quale visualizzatore potrei usare per visualizzare questo tipo di file? Speriamo che uno senza gui (se è possibile)

Aggiornamento In realtà stavo cercando un visualizzatore in grado di analizzare il formato del file markdown che non necessita di alcuna conversione. Ma qualcosa di simile dovrebbe essere ok.


5
Un file markdown può essere letto solo quando lo apri in un editor, non hai davvero bisogno di strumenti fantasiosi per leggerlo. Per cosa lo vuoi / in che formato vuoi che sia?
Kasterma,

1
Esistono molte versioni di "markdown". Tecnicamente, LaTeX, HTML sono ribassi, come è il corsivo grassetto corsivo grassetto e USO link ...
vonbrand

1
retext ora su github come raccomandato da @Fran
Dr Beco,

15
@vonbrand LaTeX e HTML sono marcare fino lingue. Markdown è un "linguaggio" specifico per la formattazione del testo (sebbene tu abbia ragione nel dire che ci sono diverse varianti, inclusa quella usata sui siti di Stack Exchange come questa). Il nome di Markdown è una barzelletta, in quanto ti consente di fare un sacco di cose che potrebbero essere fatte con un linguaggio di markup, senza effettivamente "contrassegnare" (cioè aggiungere tag) al tuo testo (per la maggior parte).
Laurence Gonsalves,

Risposte:


37

Il seguente sito Web fornisce uno strumento che tradurrà il markdown in HTML:

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

Una volta convertito il file in HTML, sono disponibili numerosi strumenti da riga di comando per visualizzare il file. Usando un file di prova che contiene un testo formattato per il markdown, ho trovato che il seguente funzionava bene.

$ 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 è uno dei molti strumenti che è possibile utilizzare per visualizzare il testo in formato HTML dalla riga di comando. Un'altra opzione, se si desidera un output leggermente migliore, sarebbe usare lynx :

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

Se sei un utente emacs, qualcuno ha scritto una modalità per il markdown che è disponibile qui: http://jblevins.org/projects/markdown-mode/ . Ciò fornisce una buona evidenziazione della sintassi, come si può vedere nello screenshot su quel sito Web.

Tutti questi strumenti dovrebbero essere disponibili per slackware.


8
In VIM puoi ottenere l'evidenziazione della sintassi impostando manualmente la sintassi su markdown se non viene riconosciuta. :set syntax=mkd
Gert,

1
Non avrei mai pensato di usare -stdine lince, davvero molto intelligente e proprio quello di cui avevo bisogno.
NickO

1
Ho provato questo e posso verificare che funzioni su Linux, ma è interessante notare che la pagina man informa che tale funzionalità si applica solo a UNIX. -stdin read the startfile from standard input (UNIX only).
Sherrellbc,

98

Utilizzo di pandoc e lynx senza creare file temporanei:

pandoc file.md | lynx -stdin

7
(nota: pandoc is in haskell)
fche

10
O semplicementepandoc -t plain file.md | less
Adriano P,

7
quindi aggiungi questo a .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave il

Dopo un po 'di armeggiamento, ho optato per questo, per impostazione predefinita alla lettura di "README.md", che è quello che sto facendo di solito: funzione mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / usr / bin / meno; }
bgvaughan,

Per la soluzione di @ HDave, se ottieni defining function based on alias 'md', fai questo: Controlla a cosa serve (ad esempio, hai bisogno / usalo ? ): which md(Il mio era impostato su mkdir -p). No? Poi aggiungere questo sopra la linea: unalias md. Ricevuto questo errore quando si utilizza zshsu Ubuntu 18.
Swivel

44

Ho scritto un visualizzatore di markdown terminale leggero in python, per CLI o come lib:

Supporta ad esempio tabelle, ammonizioni e tonnellate di temi di colore.

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

   inserisci qui la descrizione dell'immagine


Mi piace davvero questo, ma mancano alcune funzioni di base sull'usabilità, come ad esempio: non visualizzare il tema per impostazione predefinita quando eseguito come un'app (non mi interessa davvero quale tema viene utilizzato, permettetemi di definirne uno nel mio alias e quindi visualizza il markdown per favore), giustificando il testo del paragrafo (non chiedendo la sillabazione avanzata qui ma almeno un ritorno a capo), e inoltre non sembra gestire correttamente le interruzioni di paragrafo per qualche strana ragione. È davvero un buon inizio e ha molte funzioni utili come l'evidenziazione della sintassi del codice, ma fondamentalmente non è utilizzabile nel suo stato attuale, triste perché è arrivato così vicino.
Thomas,

Ciao grazie! A proposito: dopo solo 10 anni circa, ho risolto quelle cose ob. Se sei ancora interessante per te, dai un'occhiata ai problemi di feedback su GH.
Red Pill

Ehi, che dire di quella versione di Python 3?
Lucas Soares,

farà non appena Py3 è pronto per POSIX thoughtstreams.io/ncoghlan_dev/…
Red Pill

Peccato che non supporti ancora lo sfondo chiaro. (installato pipcome suggerito in Readme)
Ruslan,

42

Nota : crediti alla risposta di @ Joe in Stack Overflow.


Puoi usare Grip , che rende il Markdown esattamente come farebbe GitHub (usa l' API markdown GitHub ).

Installalo con pip:

pip install grip

Per eseguire il rendering di un file example.md:

grip -b example.md

Come appare:

inserisci qui la descrizione dell'immagine


1
Utenti di Arch Linux: Grip è un pacchetto diverso. Fare pip install gripinvece.
Ave,

Funziona come un fascino. Lo consiglio questo.
some_guy632

30

È un programma GUI, ma trovo utile per questa attività ReText , ovvero un editor per Markdown e reStructuredText con una modalità di anteprima:

Schermata di nuovo testo

Tuttavia, se hai bisogno di vedere il file di ReText da un terminale, un'opzione potrebbe essere convertire il marddown in HTML con pandoce vedere la copia HTML in lynx:

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

modificare

Ci sono alcuni altri editor di markdown gratuiti con l'anteprima disponibile per i sistemi * nix. Alcuni nei repository ufficiali, altri no, e ciascuno con i propri punti di forza e di debolezza, ma come spettatori adatti vorrei evidenziarli:

  • Typora : è ancora in fase beta, ma nel frattempo è gratuito (non è chiaro come verrà concesso in licenza la versione stabile). Sebbene non sia FOSS, è perfetto come visualizzatore di markdown perché funziona di default quasi come un editor WYSIWYG ("modalità di anteprima live") con un pannello Struttura (sommario) che è molto conveniente per file di grandi dimensioni. La "modalità codice sorgente" ha l'evidenziazione della sintassi, inclusi caratteri più grandi per titoli e corsivo per l'enfasi. E non solo esportazione in HTML, ODT e PDF. Inoltre può import-export in diversi formati tramite l' pandocintegrazione.

  • Ghostwriter : solo anteprima HTML (non modificabile) ma ha anche un bel pannello di struttura ed evidenziazione della sintassi. Senza opzioni di importazione, ma esporta in diversi formati con processori pandoc e altri (MultiMarkdown, Discount o cmark) e fai un controllo ortografico attivo tramite hunspell/ myspell.

  • MdCharm : simile a Retext, ma supporta markdown (markdown extra) e MultiMarkdown. Mostra anche un pannello di contorno (ToC).

Per gli R Markdownutenti, dovrei menzionare anche editR . Non è un programma, ma un pacchetto R per modificare l'anteprima / html di R Markdown in un browser. R Commander e RStudio consentono anche un'anteprima semplice in HTML, PDF o Word.


Uso esclusivamente retext. Non mi ha ancora deluso, ma poi non l'ho usato ampiamente come alcuni altri. Lo uso esclusivamente per creare problemi in github (che purtroppo utilizza markdown) e non ha una GUI per questo.
shirish

Grazie per la punta Fran, esattamente quello che stavo cercando. L'unica cosa che ho notato finora che ReText è mancante è una funzione di aggiornamento o "caricamento in modifica" in modo da poterla utilizzare insieme ad altri editor.
Ash,

Consiglio molto bello. Consigliato anche qui: softwarerecs.stackexchange.com/a/17740 Il repository è stato modificato in github: github.com/retext-project/retext
Dr Beco,

12

Per coloro che preferiscono w3m (attacchi stile vi):

pandoc file.md | w3m -T text/html

L'ho messo in uno script, mdview.sh, e l'ho messo nel mio percorso:

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

Di gran lunga la migliore versione senza interfaccia grafica: il rendering mantiene i colori dei terminali e sembra un semplice lesscomando con colorazione.
Ulysse BN,


4

C'è anche Discount, l'implementazione C di David Parsons del testo Markdown di John Gruber in linguaggio html. Sconto compone di diversi strumenti da riga di comando, tra cui markdown, mkd2html, makepage, mktagse theme.

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

Inoltre, c'è un'implementazione del markdown in C, usando una grammatica PEG.

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

Su Mac OS X puoi anche dare un'occhiata a qlmarkdownun generatore QuickLook per i file Markdown.


3

So che hai detto che preferivi un'applicazione non GUI, ma attualmente sto lavorando a un'applicazione GUI chiamata DownMarker che lo fa. Puoi trovare la fonte in un repository mercuriale qui . È possibile trovare uno stand-alone eseguibile per l'esecuzione con mono o .NET qui .

Avvertenza: è tutt'altro che finito e solo occasionalmente testato su Linux / Mono. L'ultimo test che ho fatto è stato su Mono 2.6. Se vuoi costruirlo da solo, avrai bisogno di una versione recente di mercurial per clonare il repository e MonoDevelop per compilare l'applicazione.


1
Si apre nella mia macchina Windows 7 a 64 bit, ma non rende il documento md, mostra solo l'origine. Tuttavia, è sorprendente che un'applicazione mono sia stata eseguita senza crash nella mia macchina. :)
GmonC,


3

Un paio di commenti hanno chiesto o menzionato la possibilità di utilizzare un componente aggiuntivo del browser. Mi piace questo approccio perché posso modificare i file di markdown in qualsiasi editor di testo Linux (da nano a Vim a Kate) e visualizzare i file in Firefox (il mio browser preferito).

Ho semplicemente installato questo componente aggiuntivo per Firefox e ha funzionato immediatamente su Kubuntu 12.04 e Firefox 33.0. Non sono necessarie modifiche.

Markdown Viewer :: Componenti aggiuntivi per Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(Mi piace anche ReText, ma preferirei vedere qualcosa come ReText implementato come plugin per Kate. ReText non ha troppe funzionalità per competere con editor maturi come Kate.)


La domanda ha richiesto uno spettatore senza interfaccia grafica, ma personalmente mi piace molto questa soluzione.
sauerburger,

3

Un visualizzatore di markdown della riga di comando IMHO fortemente sottovalutato è il markdown-cli .

Installazione

npm install markdown-cli --global

uso

markdown-cli <file>

Caratteristiche

Probabilmente non ho notato molto, perché manca qualsiasi documentazione ...
Ma per quanto ho potuto capire da alcuni file di markdown di esempio, alcune cose che mi hanno convinto:

  • gestisce molto meglio i file mal formattati (analogamente a atom, github, ecc .; ad es. quando mancano le righe vuote prima degli elenchi)
  • più stabile con la formattazione nelle intestazioni o negli elenchi (il testo in grassetto negli elenchi interrompe gli elenchi in alcuni altri visualizzatori)
  • corretta formattazione della tabella
  • evidenziazione della sintassi
  • risolve i collegamenti delle note a piè di pagina per mostrare il collegamento anziché il numero della nota a piè di pagina (non tutti potrebbero volerlo)

Immagine dello schermo

example.png

svantaggi

Ho realizzato i seguenti problemi

  • i blocchi di codice sono appiattiti (scompaiono tutti gli spazi iniziali)
  • vengono visualizzate due righe vuote prima degli elenchi

3

Attualmente in uso mdpin Arch Linux e Termux su Android, uno strumento di presentazione markdown .

Immagine

uso

$ mdp {file}.md

Alias ​​lucido

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

2

Supponendo di voler vedere come appare l'html: utilizzare un browser Web (con un componente aggiuntivo) come visualizzatore.

Ad esempio, per Google Chrome c'è TextDown che ti consente anche di modificare i file direttamente nel browser e vedere un'anteprima dal vivo.

Dopo averlo aggiunto, devi anche andare su chrome: // chrome / extensions / e selezionare "consenti l'accesso agli URL dei file" in modo da poter aprire i file locali. Un avvertimento però: se si salva (shift-ctrl-s) TextDown non salva nel file aperto ma nella cartella dei download.


Esiste anche questa estensione per Firefox, che puoi quindi lavorare seguendo questa .
Wilf,

2

Suggerisco di dare un'occhiata ad Atom . È un eccellente editor di testo con anteprima markdown integrata. Di solito non uso la modalità di anteprima del markdown in quanto presenta un grave bug: le interruzioni di riga (a meno che non vengano in coppie che indicano <p>il contenuto di un tag) vengono conservate nell'anteprima. Ma la modalità di evidenziazione della sintassi è così buona (poiché Markdown è ottimizzato per essere leggibile dall'uomo e la colorazione di Atom è eccellente) che di solito finisco per leggere i file di markdown nella modalità di visualizzazione sorgente.


2

Vim di sola lettura con evidenziazione e piegatura di Markdown

Con Vim Markdown che evidenzia e piega e si avvia, la soluzione più semplice è quella di evocare vimin modalità di sola lettura con uno vim -Ro (almeno su Ubuntu) in modo più elegante:

$ view filename.md

Aggiungi quanto segue in fondo al tuo .vimrcfile e viewsi comporterà come lesscon l'ulteriore vantaggio della tua evidenziazione della sintassi preferita (non solo per il markdown!) E la piegatura:

" 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

Esiste anche una less.shsceneggiatura più rigorosa . Sul mio sistema, viene fornito con vim. Per trovarlo, utilizzare:

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

Tuttavia, contrariamente allo script sopra elencato, la piegatura non funzionerà con questo less.sh.




0

Una soluzione semplice per la maggior parte delle situazioni: copia / incolla il markdown in un visualizzatore nel "cloud". Ecco due opzioni:

  1. Dillinger.io
  2. dingus

Niente da installare! Piattaforma incrociata! Cross browser! Sempre disponibile!

Svantaggi: potrebbe essere una seccatura per file di grandi dimensioni, problemi di sicurezza delle applicazioni cloud standard.


0

Questo è un alias che incapsula una funzione:

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 '

Spiegazione

  • alias mdless='...' : crea un alias per mdless
  • _mdless() {...}; : crea una funzione temporanea da chiamare in seguito
  • _mdless : alla fine, chiamalo (la funzione sopra)

All'interno della funzione:

  • if [ -n "$1" ] ; then : se il primo argomento non è nullo allora ...
  • if [ -f "$1" ] ; then : inoltre, se il file esiste ed è regolare quindi ...
  • cat arg1 arg2 | groff...: cat invia questi due argomenti concatenati a groff; gli argomenti sono:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): qualcosa che avvia il file e groffcomprenderà le note di intestazione e piè di pagina. Questo sostituisce l'intestazione vuota dalla -schiave in poi pandoc.
    • arg2:: <(pandoc -t man $1)il file stesso, filtrato da pandoc, genera lo manstile del file$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: reindirizza il file concatenato risultante a groff:
    • -K utf8quindi groffcomprende il codice del file di input
    • -t quindi visualizza correttamente le tabelle nel file
    • -T utf8 quindi emette nel formato corretto
    • -manquindi utilizza il pacchetto MACRO per generare il file in manformato
    • 2>/dev/null per ignorare gli errori (dopo tutto, è un file raw che viene trasformato in man a mano, non ci importa degli errori finché possiamo vedere il file in un formato non tanto brutto).
  • | less: infine, mostra il file che lo impagina con less(ho provato a evitare questa pipe usando grofferinvece di groff, ma groffernon è così robusto come lesse alcuni file lo bloccano o non lo mostrano affatto. Quindi, lascialo passare attraverso un'altra pipe , che diamine!

Aggiungilo al tuo ~/.bash_aliases(o allo stesso modo)



0

Il modo più indolore per me è usare la gemma mdless di Ruby.

  1. Installa il rubino

    sudo apt-get install ruby

  2. Installa mdless

    sudo gem install mdless

  3. Apri il file tramite mdless

    mdless filename.md


1
mdlessè già stata data una risposta.
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.