Markdown Viewer


154

Znalazłem plik sformatowany przy pomocy Markdown. Czy moglibyście zasugerować, jakiej przeglądarki mógłbym użyć do przeglądania tego typu plików? Mam nadzieję, że jeden bez GUI (jeśli to możliwe)

Aktualizacja Tak naprawdę szukałem przeglądarki, która mogłaby analizować format pliku przeceny, który nie wymaga żadnej konwersji. Ale coś bliskiego powinno być w porządku.


5
Plik przeceny można po prostu odczytać, gdy otworzysz go w edytorze, tak naprawdę nie potrzebujesz wymyślnych narzędzi, aby go odczytać. W jakim celu / w jakim formacie ma być?
kasterma

1
Istnieje wiele wersji „Markdown”. Technicznie, lateks, HTML są markdowns, jak to kursywa bold pogrubioną kursywą i USE linki ...
vonbrand

1
powtórka teraz na github zgodnie z zaleceniami @Fran
Dr Beco

15
@vonbrand LaTeX i HTML są oznaczyć się językami. Markdown jest specyficznym „językiem” formatującym tekst (choć masz rację, że istnieje wiele wariantów, w tym ten używany w witrynach Stack Exchange, takich jak ten). Nazwa Markdown to żart, ponieważ pozwala ci robić wiele rzeczy, które można zrobić za pomocą języka znaczników, bez faktycznego „zaznaczania” (tj. Dodawania tagów) do tekstu (w większości).
Laurence Gonsalves

Odpowiedzi:


37

Następująca strona internetowa udostępnia narzędzie, które przełoży znaczniki na HTML:

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

Po przekonwertowaniu pliku na HTML istnieje wiele narzędzi wiersza poleceń, których można użyć do wyświetlenia pliku. Korzystając z pliku testowego, który zawiera sformatowany tekst przeceny, stwierdziłem, że następujące działało ładnie.

$ 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 jest jednym z wielu narzędzi, których można użyć do wyświetlania tekstu sformatowanego w formacie HTML z wiersza poleceń. Inną opcją, jeśli chcesz nieco ładniejszego wyjścia byłoby użycie rysia :

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

Jeśli jesteś użytkownikiem emacsa, ktoś napisał tryb dla Markdown, który jest dostępny tutaj: http://jblevins.org/projects/markdown-mode/ . Zapewnia to ładne podświetlanie składni, co można zobaczyć na zrzucie ekranu na tej stronie.

Wszystkie te narzędzia powinny być dostępne dla Slackware.


8
W VIM można uzyskać podświetlanie składni, ręcznie ustawiając składnię na markdown, jeśli nie zostanie rozpoznana. :set syntax=mkd
Gert

1
Nigdy nie pomyślałbym o użyciu -stdini rysiu, naprawdę bardzo sprytnym i właśnie tego potrzebowałem.
NickO

1
Przetestowałem to i mogę sprawdzić, czy działa w systemie Linux, ale co ciekawe, strona podręcznika informuje, że taka funkcja dotyczy tylko systemu UNIX. -stdin read the startfile from standard input (UNIX only).
sherrellbc

97

Używanie pandoc i rysia bez tworzenia plików tymczasowych:

pandoc file.md | lynx -stdin

7
(uwaga: pandoc jest w haskell)
fche

10
Lub po prostupandoc -t plain file.md | less
Adriano P

7
następnie dodaj to do .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

Po pewnym majsterkowaniu zdecydowałem się na domyślny odczyt „README.md”, co zwykle robię: function mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} „| / usr / bin / less; }
bgvaughan

Jeśli masz rozwiązanie @ HDave defining function based on alias 'md', zrób to: Sprawdź, do czego to służy (np. Czy potrzebujesz / używasz? ): which md(Moje zostało ustawione na mkdir -p). Nie? Następnie dodać ten powyżej linii: unalias md. Otrzymał ten błąd podczas używania zshw systemie Ubuntu 18.
Swivel

44

Napisałem lekką przeglądarkę terminali w Pythonie, dla CLI lub jako lib:

Obsługuje np. Tabele, napomnienia i mnóstwo motywów kolorystycznych.

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

   wprowadź opis zdjęcia tutaj


Naprawdę podoba mi się to, ale brakuje mu kilku podstawowych funkcji użyteczności, takich jak: domyślnie brak wyświetlania motywu podczas uruchamiania jako aplikacja (naprawdę nie dbam o to, który motyw jest używany, pozwól mi zdefiniować go w swoim aliasie, a następnie po prostu wyświetlaj zaznaczenie), uzasadniając tekst akapitu (nie prosząc tutaj o zaawansowany dzielenie wyrazów, ale przynajmniej zawijanie słów), a także nie wydaje się poprawnie obsługiwać podziału akapitu z jakiegoś dziwnego powodu. To naprawdę dobry początek i ma wiele przydatnych funkcji, takich jak podświetlanie składni kodu, ale w zasadzie nie jest użyteczny w obecnym stanie, smutne, ponieważ był tak blisko.
Thomas

Cześć, dzięki! Btw: po zaledwie 10 latach naprawiłem te rzeczy. Jeśli nadal Cię interesujesz, zajrzyj na stronę GH i sprawdź informacje zwrotne.
Red Pill

Hej, a co z tą wersją Python 3?
Lucas Soares,

zrobi jak najszybciej Py3 jest gotowy do POSIX thoughtstreams.io/ncoghlan_dev/...
Red Pill

Szkoda, że ​​nadal nie obsługuje jasnego tła. (zainstalowany pipzgodnie z sugestią
Ruslan

42

Uwaga : podziękowania dla odpowiedzi @ Joe w przepełnieniu stosu.


Możesz użyć Grip , który renderuje Markdown dokładnie tak, jak zrobiłby to GitHub (używa API markdown GitHub ).

Zainstaluj z pip:

pip install grip

Aby wyrenderować plik example.md:

grip -b example.md

Jak to wygląda:

wprowadź opis zdjęcia tutaj


1
Użytkownicy Arch Arch: Grip to inny pakiet. Rób pip install gripzamiast tego.
Ave

Działa jak marzenie. Polecam to.
some_guy632

30

Jest to program GUI, ale uważam, że przydatny jest do tego zadania ReText , czyli edytor dla Markdown i reStructuredText z trybem podglądu:

Zrzut ekranu ReText

Jednak jeśli potrzebujesz zobaczyć plik ReText z terminala, jedną z opcji może być konwersja marddown do html za pomocą pandoci zobacz kopię html w lynx:

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

Edytować

Istnieje jeszcze kilka darmowych edytorów przecen z podglądem dla systemów * nix. Niektórzy w oficjalnych repozytoriach, inni nie, a każdy z nich ma swoje mocne i słabe strony, ale jako odpowiedni widz chciałbym podkreślić:

  • Typora : Nadal jest w fazie beta, ale tymczasem jest darmowy (nie jest jasne, w jaki sposób będzie licencjonowana stabilna wersja). Chociaż nie jest to FOSS, doskonale sprawdza się jako przeglądarka znaczników, ponieważ domyślnie działa prawie jak edytor WYSIWYG („tryb podglądu na żywo”) z panelem konspektu (spis treści), który jest bardzo wygodny dla dużych plików. „Tryb kodu źródłowego” ma podświetlanie składni, w tym większe czcionki dla nagłówków i kursywę dla wyróżnienia. I nie tylko eksport do HTML, ODT i PDF. Można również importować-eksportować do kilku formatów poprzez pandocintegrację.

  • Ghostwriter : tylko podgląd HTML (nieedytowalny), ale także ładny panel konspektu i podświetlanie składni. Bez opcji importowania, ale eksportuj do kilku formatów z pandoc i innymi procesorami (MultiMarkdown, Discount lub cmark) i sprawdzaj pisownię na żywo przez hunspell/ myspell.

  • MdCharm : podobny do Retext, ale obsługuje markdown (dodatkowe markdown) i MultiMarkdown. Pokaż także panel konspektu (ToC).

W przypadku R Markdownużytkowników powinienem również wspomnieć o editR . To nie jest program, ale pakiet R do edycji / podgląd HTML R Markdown w przeglądarce. R Commander i RStudio umożliwiają także łatwy podgląd w HTML, PDF lub Word.


Używam wyłącznie tekstu. Jeszcze mnie to nie zawiodło, ale potem nie użyłem go tak szeroko, jak niektórzy inni. Używam go wyłącznie do robienia problemów w githubie (który niestety wykorzystuje markdown) i nie ma dla niego GUI.
shirish

Dzięki za napiwek Fran, dokładnie to, czego szukałem. Jedyną rzeczą, jaką zauważyłem do tej pory ReText, jest funkcja odświeżania lub „wczytaj przy zmianie”, dzięki czemu można jej używać w połączeniu z innymi edytorami.
Ash

Bardzo fajna wskazówka. Polecamy także tutaj: softwarerecs.stackexchange.com/a/17740 Repozytorium zmieniono na github: github.com/retext-project/retext
Dr Beco

12

Dla tych, którzy preferują wiązania w3m (vi):

pandoc file.md | w3m -T text/html

Umieszczam go w skrypcie mdview.sh i umieszczam na swojej ścieżce:

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

Zdecydowanie najlepsza wersja bez GUI: rendering zachowuje kolory terminali i wygląda jak proste lesspolecenie z kolorem.
Ulysse BN



3

Wiem, że powiedziałeś, że wolisz aplikację inną niż GUI, ale obecnie pracuję nad aplikacją GUI o nazwie DownMarker, która to robi. Możesz znaleźć źródło w repozytorium rtęci tutaj . Można znaleźć samodzielny plik wykonywalny, aby uruchomić z mono lub .NET tutaj .

Uwaga: Jest daleki od ukończenia i tylko sporadycznie testowany na systemie Linux / mono. Ostatni test, który zrobiłem, był na Mono 2.6. Jeśli chcesz go zbudować samodzielnie, będziesz potrzebować najnowszej wersji mercurial do sklonowania repozytorium, a MonoDevelop do skompilowania aplikacji.


1
Otwiera się w moim komputerze z systemem Windows 7 64 bity, ale nie renderuje dokumentu MD, pokazuje tylko źródło. Niemniej jednak niesamowite jest to, że aplikacja mono uruchomiła się bez awarii na moim komputerze. :)
GmonC


3

Kilka komentarzy dotyczyło lub wspomniało o możliwości korzystania z dodatku do przeglądarki. Podoba mi się to podejście, ponieważ mogę edytować pliki przecen w dowolnym edytorze tekstów Linuksa (od nano przez vim do Kate) i przeglądać pliki w przeglądarce Firefox (moja wybrana przeglądarka).

Po prostu zainstalowałem ten dodatek do Firefoksa i działał on od razu z pudełka na Kubuntu 12.04 i Firefox 33.0. Nie wymaga żadnych poprawek.

Markdown Viewer :: Dodatki dla Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(Lubię też ReText, ale wolałbym, aby ReText był implementowany jako wtyczka dla Kate. ReText nie ma zbyt wielu funkcji, aby konkurować z dojrzałymi edytorami, takimi jak Kate.)


Pytanie zadałem widzowi bez GUI, ale osobiście bardzo podoba mi się to rozwiązanie.
sauerburger


2

Zakładając, że chcesz zobaczyć, jak wygląda HTML: Użyj przeglądarki internetowej (z dodatkiem) jako przeglądarki.

Na przykład dla Google Chrome istnieje TextDown, który pozwala również edytować pliki bezpośrednio w przeglądarce i wyświetlać podgląd na żywo.

Po dodaniu musisz także przejść do chrome: // chrome / extensions / i zaznaczyć „zezwól na dostęp do adresów URL plików”, aby móc otwierać lokalne pliki. Ostrzeżenie: jeśli zapiszesz (shift-ctrl-s) TextDown nie zapisze pliku, który otworzyłeś, ale folder folderów do pobrania.


Istnieje również to rozszerzenie do przeglądarki Firefox, które można następnie uruchomić, wykonując to .
Wilf

2

Proponuję rzucić okiem na Atom . Jest to doskonały edytor tekstu z wbudowanym podglądem przecen. Zwykle nie używam trybu podglądu przecen, ponieważ ma on poważny błąd - podziały wierszy (chyba że występują w parach, co oznacza <p>zawartość znacznika) są zachowywane w podglądzie. Ale tryb podświetlania składni jest tak dobry (ponieważ Markdown jest zoptymalizowany, aby był czytelny dla człowieka, a kolorystyka Atomu jest doskonała), że zwykle kończę czytanie plików Markdown w trybie widoku źródłowego.


2

Znacząco niedocenianą przeglądarką Markdown w wierszu poleceń jest markdown-cli .

Instalacja

npm install markdown-cli --global

Stosowanie

markdown-cli <file>

cechy

Prawdopodobnie nie zauważyłem wiele, ponieważ brakuje jakiejkolwiek dokumentacji ...
Ale o ile mogłem dowiedzieć się na podstawie przykładowych plików przecen, pewne rzeczy, które mnie przekonały:

  • znacznie lepiej radzi sobie z źle sformatowanymi plikami (podobnie jak atom, github itp., np. gdy przed listami brakuje pustych linii)
  • bardziej stabilny z formatowaniem w nagłówkach lub listach (pogrubiony tekst na listach łamie listy podrzędne w niektórych innych przeglądarkach)
  • właściwe formatowanie tabeli
  • podświetlanie składni
  • rozwiązuje odsyłacze przypisów, aby wyświetlały odsyłacz zamiast numeru przypisu (nie wszyscy mogą tego chcieć)

Zrzut ekranu

przyklad.png

Wady

Uświadomiłem sobie następujące problemy

  • bloki kodu są spłaszczone (znikają wszystkie wiodące spacje)
  • dwie puste linie pojawiają się przed listami

2

Tylko do odczytu Vim z podświetlaniem i składaniem Markdown

Dzięki podświetlaniu, składaniu i uruchamianiu Vim Markdown najprostszym rozwiązaniem jest wywołanie vimw trybie tylko do odczytu z jednym vim -Rlub (przynajmniej w Ubuntu) bardziej elegancko:

$ view filename.md

Dodaj poniższe na samym dole .vimrcpliku i viewbędzie się zachowywać tak samo, jak lessw przypadku dodatkowej korzyści z podświetlania ulubionej składni (nie tylko dla markdown!) I składania:

" 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

Istnieje również bardziej rygorystyczny less.shskrypt. W moim systemie jest dostarczany z pakietem vim. Aby go znaleźć, użyj:

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

Jednak w przeciwieństwie do powyższego skryptu, składanie nie będzie z tym działać less.sh.




0

Proste rozwiązanie dla większości sytuacji: skopiuj / wklej znacznik do przeglądarki w „chmurze”. Oto dwie opcje:

  1. Dillinger.io
  2. Dingus

Nic do zainstalowania! Cross platform! Wiele przeglądarek! Zawsze dostępne!

Wady: mogą być kłopotliwe dla dużych plików, standardowe problemy z bezpieczeństwem aplikacji w chmurze.


0

To jest alias, który zawiera funkcję:

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 '

Wyjaśnienie

  • alias mdless='...' : tworzy alias dla mdless
  • _mdless() {...}; : tworzy funkcję tymczasową do późniejszego wywołania
  • _mdless : na końcu wywołaj go (funkcja powyżej)

Wewnątrz funkcji:

  • if [ -n "$1" ] ; then : jeśli pierwszy argument nie jest pusty, to ...
  • if [ -f "$1" ] ; then : również, jeśli plik istnieje i jest prawidłowy, to ...
  • cat arg1 arg2 | groff...: cat wysyła te dwa argumenty połączone do groffa; argumenty są następujące:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): coś, co uruchamia plik i groffzrozumie jako uwagi nagłówka i stopki. To zastępuje pusty nagłówek z -sklucza na pandoc.
    • arg2:: <(pandoc -t man $1)sam plik, filtrowany przez pandoc, wyprowadzający manstyl pliku$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: przesyłanie potokowego wynikowego skonkatenowanego pliku do groff:
    • -K utf8więc groffrozumie kod pliku wejściowego
    • -t więc wyświetla poprawnie tabele w pliku
    • -T utf8 więc wypisuje w prawidłowym formacie
    • -manwięc używa pakietu MAKRO , aby wyprowadzić plik w manformacie
    • 2>/dev/null aby zignorować błędy (w końcu to nieprzetworzony plik przetwarzany ręcznie w człowieku, nie dbamy o błędy, o ile widzimy plik w niezbyt brzydkim formacie).
  • | less: w końcu pokazuje plik z podziałem na strony less(starałem się uniknąć tego potoku, używając go grofferzamiast groff, ale groffernie jest tak solidny, jak lessi niektóre pliki go zawieszają lub w ogóle nie pokazują. Więc pozwól mu przejść przez jeszcze jeden potok , Co za cholera!

Dodaj to do swojego ~/.bash_aliases(lub podobnego)



0

Najbardziej bezbolesnym sposobem dla mnie jest użycie klejnotu mdless od Ruby.

  1. Zainstaluj ruby

    sudo apt-get install ruby

  2. Zainstaluj mdless

    sudo gem install mdless

  3. Otwórz plik przez mdless

    mdless filename.md


1
mdlesszostał już podany jako odpowiedź.
Scott
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.