Me pregunto si hay una utilidad de línea de comandos para tomar un archivo Markdown con sabor a GitHub y renderizarlo en HTML.
Estoy usando un wiki de GitHub para crear contenido del sitio web. He clonado el repositorio en mi servidor y luego me gustaría procesarlo en HTML normal. Es importante para mí que lo que aparece en GitHub es exactamente cómo debería verse para mi sitio web. También me gustaría usar los bloques cercados ~~~
, así que prefiero no usar solo la sintaxis estándar de Markdown.
He examinado un poco la vista previa en vivo de JavaScript pensando que podría conectarla a Node.js, pero dicen que está en desuso. He mirado el repositorio de redcarpet, pero no parece que tenga una interfaz de línea de comandos.
Sin embargo, desarrollé mi propia solución, dado que ninguna solución aquí es claramente mejor que las demás, dejaré la pregunta sin una respuesta seleccionada.
fuente
--out
argumento para agarrar para renderizar a un archivo HTML en lugar del navegador, ¿sería aceptable?--export
opción, que representa GFM y sus estilos en un solo archivo. ¿Responde esto la pregunta?Respuestas:
Escribí una pequeña CLI en Python y agregué soporte GFM. Se llama Grip (Github Readme Instant Preview) .
Instalarlo con:
Y para usarlo, simplemente:
Luego visite
localhost:5000
para ver elreadme.md
archivo en esa ubicación.También puede especificar su propio archivo:
Y cambiar de puerto:
Y, por supuesto, renderice específicamente Markit con sabor a GitHub, opcionalmente con contexto de repositorio:
Características notables:
stdin
y exportar astdout
agregado en 3.0Espero que esto ayude a alguien aquí. Compruébelo usted mismo .
fuente
grip
funciona directamente de la caja.No he encontrado un método rápido y fácil para Markdown con sabor a GitHub, pero he encontrado una versión un poco más genérica: Pandoc . Convierte de / a varios formatos, incluidos Markdown, Rest, HTML y otros.
También he desarrollado un
Makefile
para convertir todos los archivos .md a .html (en gran parte al ejemplo en Writing, Markdown y Pandoc ):fuente
<pre/>
etiqueta de varias líneas en su fuente GFM, Pandoc colocará<br/>
etiquetas para los saltos de línea, mientras que el renderizador de GitHub, elimina los espacios en blanco principales, de lo contrario parece dejar solo el contenido.brew install pandoc
gfm
ni elmarkdown_github
formato de entrada representan correctamente elementos como bloques de código.Quizás esto pueda ayudar:
No existe documentación, pero la obtuve de la documentación de Gollum . Mirando rubydoc.info , parece que puedes usar:
en tu código Ruby. Puede ajustarlo fácilmente en un script para convertirlo en una utilidad de línea de comandos:
Ejecútalo con
./render.rb path/to/my/markdown/file.md
. Tenga en cuenta que esto no es seguro para su uso en producción sin desinfección.fuente
No maneja extensiones de GitHub, pero es mejor que nada. Creo que puede extender el módulo para manejar las adiciones de GitHub.
fuente
Probablemente no sea lo que desea, pero como mencionó Node.js: no pude encontrar una buena herramienta para obtener una vista previa de la documentación de GitHub Flavored Markdown en mi disco local antes de enviarlos a GitHub, así que hoy creé uno, basado en Node.js: https : //github.com/ypocat/gfms
Entonces, tal vez pueda reutilizar el showdown.js para su Wiki, si su pregunta aún es real. Si no, tal vez otras personas que enfrentan el mismo problema que yo encontrarán (tal como lo hice) esta pregunta y esta respuesta.
fuente
Para leer un archivo README.md en el terminal que uso:
Pandoc lo genera en formato HTML, que Lynx representa en su terminal.
Funciona muy bien: llena mi terminal, los accesos directos se muestran a continuación, puedo desplazarme y los enlaces funcionan. Sin embargo, solo hay un tamaño de fuente, pero los colores + sangría + alineación lo compensan.
Instalación:
fuente
pandoc readme.md -o readme.md.html
y abrir el archivo resultante.function md { pandoc $@ | lynx -stdin }
GitHub tiene una API de Markdown que puedes usar.
fuente
jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' < README.md | curl --data @- https://api.github.com/markdown > README.html
grip
... Tú elegiste. : PUso marcado . Es compatible con GitHub Flavored Markdown, se puede utilizar como un módulo Node.js y desde la línea de comandos.
Un ejemplo sería:
fuente
^D
?Esto es principalmente un seguimiento de la respuesta de @ barry-staes para usar Pandoc . Homebrew también lo tiene, si estás en una Mac:
Pandoc admite GFM como formato de entrada a través del
markdown_github
nombre.Salida a archivo
Abierto en Lynx
Abrir en el navegador predeterminado en OS X
Integración TextMate
Siempre puede canalizar la selección actual o el documento actual a uno de los anteriores, como la mayoría de los editores le permiten hacer. También puede configurar fácilmente el entorno para que
pandoc
reemplace el procesador Markdown predeterminado utilizado por el paquete Markdown .Primero, cree un script de shell con los siguientes contenidos (lo llamaré
ghmarkdown
):Luego puede establecer la
TM_MARKDOWN
variable (en Preferencias → Variables) en/path/to/ghmarkdown
, y reemplazará el procesador Markdown predeterminado.fuente
Creé una herramienta similar a la funcionalidad de Vista previa de Atom, pero como una aplicación independiente. No estoy seguro de si esto es lo que está buscando, pero podría ser útil. - https://github.com/yoshuawuyts/vmd
fuente
pandoc
Conbrowser
funciona bien para mí.Uso:
cat README.md | pandoc -f markdown_github | browser
Instalación (suponiendo que esté utilizando Mac OSX):
$ brew install pandoc
$ brew install browser
O en Debian / Ubuntu:
apt-get install pandoc browser
fuente
apt-get isntall pandoc
servirá, no es necesario usar cosas locales inseguras como la cerveza.Consulte también https://softwareengineering.stackexchange.com/a/128721/24257 .
Ruby-script, que usa Redcarpet , será "utilidad de línea de comando", si tiene Ruby local
fuente
Sobre la base de este comentario , escribí una línea para golpear la API de Github Markdown usando
curl
yjq
.Pegue esta función bash en la línea de comando o en su
~/.bash_profile
:Y luego, para ver el HTML renderizado ejecutado en el navegador:
Reemplace
open "$HTMLFILE"
conlynx "$HTMLFILE"
si necesita una solución terminal pura.fuente
GitHub ha desarrollado (desde entonces) un buen editor de texto modular llamado Atom (basado en Chromium y utiliza módulos Node.js para paquetes).
Un paquete preinstalado predeterminado Markdown Preview le permite mostrar su vista previa en una pestaña separada usando Ctrl+ Shift+ M.
No he probado su sintaxis completa, pero dado que proviene de GitHub, me sorprendería mucho si la sintaxis de la vista previa fuera diferente de la suya (bloques vallados que utilizan
~~~
trabajo).Ahora, aunque técnicamente no está basado en la línea de comandos, usa Node.js y se envía a un renderizador basado en DOM , lo que podría ayudar a cualquiera que intente renderizar HTML basado en sintaxis GitHub en un servidor web basado en Node.js, o simplemente editarlo / his README.md sin conexión.
fuente
Mi solución final fue usar Python Markdown . Hice rodar mi propia extensión que reparó los bloques de la cerca.
fuente
Existe una herramienta realmente agradable y simple para explorar documentos de GFM Markdown:
GFMS - Servidor de rebajas con sabor a Github
Es un servidor HTTP simple y liviano (no se necesita configuración) que puede iniciar en cualquier directorio que contenga archivos de descuento para examinarlos.
caracteristicas:
fuente
Logré usar un script Ruby de una línea para ese propósito (aunque tenía que ir en un archivo separado). Primero, ejecute estos comandos una vez en cada máquina cliente desde la que enviará documentos:
A continuación, instale este script en su imagen de cliente y llámelo
render-readme-for-javadoc.rb
:Finalmente, invocarlo así:
ETA: Esto no te ayudará con StackOverflow-taste Markdown, que parece estar fallando en esta respuesta.
fuente
Uso Pandoc con la opción
--from=gfm
de GitHub Flavored Markdown de esta manera:fuente
pandoc: Unknown reader: gfm
. Ir a 2.2.1 soluciona esto.sudo apt install pandoc
?Mejorando la solución de @ barry-stae. Pegue este fragmento en ~ / .bashrc
Luego podemos ver rápidamente el archivo desde la línea de comandos. También funciona bien en sesiones SSH / Telnet.
fuente
Adición tardía, pero showdownjs tiene una herramienta CLI que puede usar para analizar MD a HTML.
fuente
Encontré un sitio web que hará esto por usted: http://tmpvar.com/markdown.html . Pegue su Markdown y lo mostrará por usted. ¡Parece funcionar bien!
Sin embargo, no parece manejar la opción de resaltado de sintaxis para el código; es decir, la
~~~ruby
función no funciona. Simplemente imprime 'ruby'.fuente
Mejorando las respuestas de @ barry-stae y @Sandeep para usuarios habituales de enlaces, agregaría lo siguiente a .bashrc:
No olvides instalar pandoc (y enlaces).
fuente
Basado en la respuesta de Jim Lim , instalé la gema GitHub Markdown. Eso incluía un script llamado gfm que toma un nombre de archivo en la línea de comando y escribe el HTML equivalente en la salida estándar. Lo modifiqué un poco para guardar el archivo en el disco y luego abrir el navegador estándar con launchy:
fuente
ruby,
pepino, etc.) parecen reconocerse como cercas (porque se representan en texto de ancho fijo), no hay resaltado de sintaxis. ¿Alguna idea de por qué?Un enfoque 'rápido y sucio' es descargar las páginas HTML wiki usando la
wget
utilidad, en lugar de clonarlo. Por ejemplo, así es como descargué el wiki de Hystrix desde GitHub (estoy usando Ubuntu Linux):La primera llamada descargará la página de entrada wiki y todas sus dependencias. El segundo llamará a todas las subpáginas en él. Puede navegar ahora la wiki abriendo
Netflix/Hystrix/wiki.1.html
.Tenga en cuenta que ambas llamadas a
wget
son necesarias. Si solo ejecuta el segundo, perderá algunas dependencias necesarias para mostrar las páginas correctamente.fuente
Recientemente hice lo que quería, porque necesitaba generar documentación a partir de archivos Markdown y el estilo GitHub es bastante agradable. Intentalo. Está escrito en Node.js.
gfm
fuente