¿Existe una utilidad de línea de comandos para renderizar Markdown con sabor a GitHub?
Me pregunto si existe una utilidad de línea de comandos para tomar un archivo Markdown con sabor a GitHub y representarlo en HTML.
Estoy usando una wiki de GitHub para crear contenido de sitio web. Cloné el repositorio en mi servidor y luego me gustaría procesarlo en HTML normal. Para mí es importante que lo que aparece en GitHub sea exactamente como debería verse en mi sitio web. También me gustaría mucho usar los bloques cercados con ~~~
, por lo que prefiero no usar solo la sintaxis estándar de Markdown.
Miré un poco la vista previa en vivo de JavaScript pensando que podría conectarlo a Node.js, pero dicen que está obsoleto. He mirado el repositorio de redcarpet, pero no parece que tenga una interfaz de línea de comandos.
Implementé mi propia solución, sin embargo, dado que ninguna solución aquí es claramente mejor que las demás, dejaré la pregunta sin una respuesta seleccionada.
Escribí una pequeña CLI en Python y agregué compatibilidad con GFM. Se llama Grip (Vista previa instantánea del Léame de Github) .
Instálalo con:
$ pip install grip
Y para usarlo, simplemente:
$ grip
Luego visite localhost:5000
para ver el readme.md
archivo en esa ubicación.
También puede especificar su propio archivo:
$ grip CHANGES.md
Y cambiar de puerto:
$ grip 8080
Y, por supuesto, renderice específicamente Markdown con sabor a GitHub, opcionalmente con contexto de repositorio:
$ grip --gfm --context=username/repo issue.md
Características notables:
- Representa páginas para que aparezcan exactamente como en GitHub
- Bloques cercados
- API de Python
- Navegar entre archivos vinculados (¡gracias, vladwing !) agregado en 2.0
- Exportar a un solo archivo (¡gracias, iliggio !) agregado en 2.0
- Nuevo: Leer
stdin
y exportar astdout
agregado en 3.0
Échale un vistazo .
No encontré un método rápido y fácil para Markdown con sabor a GitHub, pero encontré una versión un poco más genérica: Pandoc . Convierte desde/hacia varios formatos, incluidos Markdown, Rest, HTML y otros.
También desarrollé una herramienta Makefile
para convertir todos los archivos .md a .html (en gran parte según el ejemplo en Writing, Markdown y Pandoc ):
# 'Makefile'
MARKDOWN = pandoc --from gfm --to html --standalone
all: $(patsubst %.md,%.html,$(wildcard *.md)) Makefile
clean:
rm -f $(patsubst %.md,%.html,$(wildcard *.md))
rm -f *.bak *~
%.html: %.md
$(MARKDOWN) $< --output $@