Markdown Viewer


154

Encontré un archivo formateado con Markdown. ¿Podrían sugerirme qué visor podría usar para ver este tipo de archivos? Con suerte uno sin gui (si es posible)

Actualización En realidad, estaba buscando un visor que pudiera analizar el formato de archivo de descuento que no necesita ninguna conversión. Pero algo cercano a eso debería estar bien.


55
Un archivo de rebaja solo se puede leer cuando lo abres en un editor, realmente no necesitas herramientas sofisticadas para leerlo. ¿Para qué lo quieres / en qué formato quieres que esté?
kasterma

1
Hay muchas versiones de "markdown". Técnicamente, LaTeX, HTML son rebajas, al igual que las cursivas negrita negrita cursiva y enlaces USE ...
vonbrand

1
retext ahora en github como @Fran recomienda
Dr Beco

15
@vonbrand LaTeX y HTML son marcar hasta idiomas. Markdown es un "idioma" específico de formato de texto (aunque tiene razón en que hay una serie de variantes, incluida la utilizada en sitios de Stack Exchange como este). El nombre de Markdown es una broma, ya que le permite hacer muchas de las cosas que podrían hacerse con un lenguaje de marcado, sin realmente "marcar" (es decir, agregar etiquetas) a su texto (en su mayor parte).
Laurence Gonsalves

Respuestas:


37

El siguiente sitio web proporciona una herramienta que traducirá Markdown a HTML:

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

Una vez que convierte el archivo a HTML, hay una serie de herramientas de línea de comandos para usar para ver el archivo. Usando un archivo de prueba que contiene texto con formato de descuento, encontré que lo siguiente funcionó muy bien.

$ 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 es una de las muchas herramientas que puede usar para ver texto con formato html desde la línea de comandos. Otra opción, si desea una salida ligeramente más agradable, sería usar lynx :

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

Si usted es un usuario de emacs, alguien ha escrito un modo de reducción que está disponible aquí: http://jblevins.org/projects/markdown-mode/ . Esto proporciona un buen resaltado de sintaxis como se puede ver en la captura de pantalla de ese sitio web.

Todas estas herramientas deberían estar disponibles para slackware.


8
En VIM, puede resaltar la sintaxis configurando manualmente la sintaxis para reducirla si no se reconoce. :set syntax=mkd
Gert

1
Nunca hubiera pensado usar -stdiny lince, muy inteligente de hecho y justo lo que necesitaba.
NickO

1
Probé esto y puedo verificar que funciona en Linux, pero curiosamente, la página del manual informa que tal característica se aplica solo a UNIX. -stdin read the startfile from standard input (UNIX only).
sherrellbc

98

Usando pandoc y lynx sin crear archivos temporales:

pandoc file.md | lynx -stdin

77
(nota: pandoc está en haskell)
fche

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

77
luego agregue esto a .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

Después de algunos retoques, me decidí por esto, por defecto para leer "README.md", que es lo que generalmente estoy haciendo: function mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / usr / bin / less; }
bgvaughan

Para la solución de @ HDave, si la obtiene defining function based on alias 'md', haga esto: Verifique para qué sirve (por ejemplo, ¿Lo necesita / lo usa? ): which md(El mío estaba configurado en mkdir -p). ¿No? A continuación, añadir esta encima de la línea: unalias md. Recibí este error cuando se usa zshen Ubuntu 18.
Swivel

44

Escribí un visor de marcado de terminal ligero en Python, para CLI o como lib:

Es compatible, por ejemplo, con tablas, advertencias y toneladas de temas de colores.

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

   ingrese la descripción de la imagen aquí


Realmente me gusta esto, pero me faltan algunas características básicas de usabilidad, como: no mostrar el tema de forma predeterminada cuando se ejecuta como una aplicación (Realmente no me importa qué tema se utiliza, déjame definir uno en mi alias y luego simplemente muestre la rebaja, por favor), justificando el texto del párrafo (no solicitando guiones avanzados aquí pero al menos ajuste de texto), y tampoco parece manejar los saltos de párrafo correctamente por alguna extraña razón. Es un muy buen comienzo y tiene muchas características útiles como el resaltado de sintaxis de código, pero básicamente no es utilizable en su estado actual, triste porque se acercó tanto.
Thomas

¡Hola Gracias! Por cierto: después de solo 10 años más o menos, arreglé esas cosas ob. Si aún es interesante para usted, eche un vistazo y envíe sus comentarios sobre GH.
Red Pill

Oye, ¿qué hay de esa versión de Python 3?
Lucas Soares

lo hará tan pronto como Py3 esté listo para POSIX thoughtstreams.io/ncoghlan_dev/…
Red Pill el

Lástima que todavía no admite fondo claro. (instalado pipcomo se sugiere en el archivo Léame)
Ruslan

42

Nota : créditos a la respuesta de @ Joe en Stack Overflow.


Puede usar Grip , que representa el Markdown exactamente como lo haría GitHub (usa la API de Markit GitHub ).

Instalarlo con pip:

pip install grip

Para renderizar un archivo example.md:

grip -b example.md

Cómo se ve esto:

ingrese la descripción de la imagen aquí


1
Usuarios de Arch Linux: Grip es un paquete diferente. Hazlo en su pip install griplugar.
Ave

Funciona de maravilla. Recomiendo esto
some_guy632

30

Es un programa GUI, pero encuentro útil para esta tarea ReText , que es un editor para Markdown y reStructuredText con un modo de vista previa:

Captura de pantalla de ReText

Sin embargo, si necesita ver el archivo de ReText desde un terminal, una opción podría ser convertir el marddown a html pandocy ver la copia html en lynx:

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

Editar

Hay unos cuantos editores de descuento gratuitos con vista previa disponibles para los sistemas * nix. Algunos en repositorios oficiales, otros no, y cada uno con sus propias fortalezas y debilidades, pero como espectadores adecuados me gustaría destacar estos:

  • Typora : todavía está en fase beta, pero mientras tanto es gratis (no está claro cómo se licenciará la versión estable). Aunque no es FOSS, es perfecto como visor de rebajas porque funciona de manera predeterminada casi como un editor WYSIWYG ("modo de vista previa en vivo") con un panel de esquema (tabla de contenido) que es muy conveniente para archivos grandes. El "modo de código fuente" tiene resaltado de sintaxis, incluyendo fuentes más grandes para encabezados y cursiva para enfatizar. Y no solo exporta a HTML, ODT y PDF. También puede importar-exportar a varios formatos a través de la pandocintegración.

  • Ghostwriter : Vista previa HTML solamente (no editable) pero también tiene un buen panel de esquema y resaltado de sintaxis. Sin opciones de importación, pero exporte a varios formatos con pandoc y otros procesadores (MultiMarkdown, Discount o cmark) y tenga un corrector ortográfico en vivo a través de hunspell/ myspell.

  • MdCharm : Similar a Retext, pero admite Markdown (Markdown extra) y MultiMarkdown. Mostrar también un panel de esquema (ToC).

Para los R Markdownusuarios, debo mencionar también editR . No es un programa, sino un paquete R para editar / vista previa html de R Markdown en un navegador. R Commander y RStudio también permiten una vista previa fácil en HTML, PDF o Word.


Yo uso retext exclusivamente. Todavía no me ha fallado, pero tampoco lo he usado tanto como otros. Lo uso exclusivamente para crear problemas en github (que lamentablemente usa markdown) y no tiene GUI para ello.
Shirish

Gracias por el consejo Fran, exactamente lo que estaba buscando. Lo único que he notado que ReText falta hasta ahora es una función de actualización o "cargar al cambiar" para que pueda usarlo junto con otros editores.
Ash

Muy buen consejo. También recomendado aquí: softwarerecs.stackexchange.com/a/17740 El repositorio ha cambiado a github: github.com/retext-project/retext
Dr Beco

12

Para aquellos que prefieren w3m (enlaces de estilo vi):

pandoc file.md | w3m -T text/html

Lo puse en un script, mdview.sh, y lo puse en mi camino:

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

Con mucho, la mejor versión sin una interfaz gráfica de usuario: la representación mantiene los colores del terminal y parece un simple lesscomando con colores.
Ulysse BN


4

También hay Discount, la implementación C de David Parsons del texto Markdown de John Gruber al lenguaje html. Descuento se compone de varias herramientas de línea de comandos, incluyendo markdown, mkd2html, makepage, mktagsy theme.

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

Además, hay una implementación de Markdown en C, usando una gramática PEG.

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

En Mac OS X también puede echar un vistazo a qlmarkdownun generador QuickLook para archivos Markdown.


3

Sé que dijiste que preferías una aplicación sin GUI, pero actualmente estoy trabajando en una aplicación GUI llamada DownMarker que hace esto. Puede encontrar la fuente en un repositorio mercurial aquí . Puede encontrar un ejecutable independiente para ejecutar con mono o .NET aquí .

Advertencia: está lejos de terminar y solo ocasionalmente se prueba en Linux / Mono. La última prueba que hice fue en Mono 2.6. Si desea construirlo usted mismo, necesitará una versión reciente de mercurial para clonar el repositorio y MonoDevelop para compilar la aplicación.


1
Se abre en mi máquina con Windows 7 de 64 bits, pero no muestra el documento md, solo muestra la fuente. Sin embargo, es sorprendente que una aplicación mono se haya ejecutado sin fallas en mi máquina. :)
GmonC


3

Un par de comentarios preguntaron o mencionaron la posibilidad de usar un complemento de navegador. Me gusta este enfoque porque puedo editar archivos de descuento en cualquier editor de texto de Linux (de nano a vim a Kate) y ver los archivos en Firefox (mi navegador de elección).

Simplemente instalé este complemento de Firefox y funcionó de fábrica en Kubuntu 12.04 y Firefox 33.0. No se requieren ajustes.

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

(También me gusta ReText, pero preferiría ver algo como ReText implementado como un complemento para Kate. ReText carece de demasiadas funciones para competir con editores maduros como Kate).


La pregunta pedía un espectador sin interfaz gráfica de usuario, pero personalmente me gusta mucho esta solución.
Sauerburger

3

Un IMHO muy subestimado visor de marcado de línea de comando es el markdown-cli .

Instalación

npm install markdown-cli --global

Uso

markdown-cli <file>

Caracteristicas

Probablemente no se haya notado mucho, porque se pierde toda la documentación ...
Pero, por lo que pude averiguar con algunos ejemplos de archivos de descuento, algunas cosas me convencieron:

  • maneja los archivos mal formateados mucho mejor (de manera similar a atom, github, etc., por ejemplo, cuando faltan líneas en blanco antes de las listas)
  • más estable con el formato en encabezados o listas (el texto en negrita en las listas rompe las sublistas en otros visores)
  • formato de tabla adecuado
  • resaltado de sintaxis
  • resuelve enlaces de notas al pie para mostrar el enlace en lugar del número de la nota al pie (no todos pueden querer esto)

Captura de pantalla

ejemplo.png

Inconvenientes

Me he dado cuenta de los siguientes problemas

  • los bloques de código se aplanan (todos los espacios iniciales desaparecen)
  • aparecen dos líneas en blanco antes de las listas

3

Actualmente se usa mdpen Arch Linux y Termux en Android, una herramienta de presentación de rebajas.

imagen

Uso

$ mdp {file}.md

Alias ​​pulido

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

2

Suponiendo que desea ver cómo se ve el html: use un navegador web (con un complemento) como visor.

Por ejemplo, para Google Chrome hay TextDown que también le permite editar archivos directamente en el navegador y ver una vista previa en vivo.

Después de agregarlo, también debe ir a chrome: // chrome / extensiones / y marcar "permitir acceso a URL de archivos" para que pueda abrir archivos locales. Sin embargo, una advertencia: si guarda (shift-ctrl-s) TextDown no guarda en el archivo que abrió sino en su carpeta de descargas.


También existe esta extensión para Firefox, que luego se puede conseguir trabajo siguiendo este .
Wilf

2

Sugiero echar un vistazo a Atom . Es un excelente editor de texto con vista previa de rebajas incorporada. Por lo general, no uso el modo de vista previa de rebajas, ya que tiene un error grave: los saltos de línea (a menos que vengan en pares, lo que indica <p>el contenido de una etiqueta) se conservan en la vista previa. Pero el modo de resaltado de sintaxis es tan bueno (ya que Markdown está optimizado para ser legible por humanos y la coloración de Atom es excelente) que generalmente termino leyendo archivos de marcado en modo de vista de origen.


2

Readimly Vim con Markdown resaltado y plegado

Con Vim Markdown resaltando y plegando y ejecutando, la solución más sencilla es evocar vimen el modo de solo lectura con vim -R, o (al menos en Ubuntu) con más elegancia:

$ view filename.md

Agregue lo siguiente al final de su .vimrcarchivo y viewse comportará de la misma manera que lesscon el beneficio adicional de su resaltado de sintaxis favorito (¡no solo para rebajas!) Y plegado:

" 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

Existe también un less.shguión más riguroso . En mi sistema, viene empaquetado con vim. Para encontrarlo, use:

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

Sin embargo, al contrario del guión mencionado anteriormente, el plegado no funcionará con esto less.sh.




0

Una solución fácil para la mayoría de las situaciones: copie / pegue la rebaja en un visor en la "nube". Aquí hay dos opciones:

  1. Dillinger.io
  2. Dingus

¡Nada que instalar! ¡Plataforma cruzada! ¡Navegador cruzado! ¡Siempre disponible!

Desventajas: podría ser una molestia para archivos grandes, problemas estándar de seguridad de aplicaciones en la nube.


0

Este es un alias que encapsula una función:

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 '

Explicación

  • alias mdless='...' : crea un alias para mdless
  • _mdless() {...}; : crea una función temporal que se llamará después
  • _mdless : al final, llámalo (la función anterior)

Dentro de la función:

  • if [ -n "$1" ] ; then : si el primer argumento no es nulo, entonces ...
  • if [ -f "$1" ] ; then : también, si el archivo existe y es regular, entonces ...
  • cat arg1 arg2 | groff...: cat envía estos dos argumentos concatenados a groff; los argumentos son:
    • arg1: <(echo ".TH $1 7fecha --iso-8601 Dr.Beco Markdown"): algo que inicia el archivo y grofflo entenderá como las notas de encabezado y pie de página. Esto sustituye el encabezado vacío de la -stecla en pandoc.
    • arg2:: <(pandoc -t man $1)el archivo en sí, filtrado por pandoc, dando salida al manestilo del archivo$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: canalizando el archivo concatenado resultante a groff:
    • -K utf8entonces groffentiende el código del archivo de entrada
    • -t para que muestre correctamente las tablas en el archivo
    • -T utf8 para que salga en el formato correcto
    • -manentonces usa el paquete MACRO para generar el archivo en manformato
    • 2>/dev/null para ignorar los errores (después de todo, es un archivo sin procesar que se está transformando en el hombre a mano, no nos importan los errores siempre que podamos ver el archivo en un formato no tan feo).
  • | less: finalmente, muestra el archivo paginándolo con less(he intentado evitar esta tubería usando en grofferlugar de groff, pero grofferno es tan robusto como lessy algunos archivos lo cuelgan o no se muestran en absoluto. Entonces, déjelo pasar por una tubería más , ¡que demonios!

Añádelo a tu ~/.bash_aliases(o igual)



0

La forma más indolora para mí es usar gema sin mdless de Ruby.

  1. Instalar ruby

    sudo apt-get install ruby

  2. Instalar mdless

    sudo gem install mdless

  3. Abrir archivo a través de mdless

    mdless filename.md


1
mdlessya se ha dado como respuesta.
Scott
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.