Gostaria de saber se existe um utilitário de linha de comando para pegar um arquivo Markdown com sabor do GitHub e renderizá-lo em HTML.
Estou usando um wiki do GitHub para criar conteúdo do site. Eu clonei o repositório no meu servidor e gostaria de processá-lo em HTML comum. É importante para mim que o que aparece no GitHub seja exatamente como ele deve aparecer no meu site. Eu também gostaria muito de usar os blocos cercados ~~~
, então prefiro não usar apenas a sintaxe padrão do Markdown.
Eu olhei um pouco para a visualização ao vivo do JavaScript pensando que poderia conectá-lo ao Node.js, mas eles dizem que está obsoleto. Eu olhei para o repositório redcarpet, mas ele não parece ter uma interface de linha de comando.
Eu rolei minha própria solução, no entanto, como nenhuma solução aqui é claramente melhor que as outras, deixarei a pergunta sem uma resposta selecionada.
fonte
--out
argumento para manipular para renderizar em um arquivo HTML em vez do navegador, isso seria aceitável?--export
opção, que renderiza o GFM e seus estilos em um único arquivo. Isso responde a pergunta?Respostas:
Escrevi uma pequena CLI em Python e adicionei suporte a GFM. Chama-se Grip (Visualização instantânea do Github Readme) .
Instale-o com:
E para usá-lo, basta:
Em seguida, visite
localhost:5000
para visualizar oreadme.md
arquivo nesse local.Você também pode especificar seu próprio arquivo:
E mude a porta:
E, é claro, processe especificamente o GitHub-Flavored Markdown, opcionalmente com o contexto do repositório:
Recursos notáveis:
stdin
e exporte parastdout
adicionado ao 3.0Espero que isso ajude alguém aqui. Confira .
fonte
grip
funciona imediatamente.Não encontrei um método rápido e fácil para o Markdown com sabor do GitHub, mas encontrei uma versão um pouco mais genérica - Pandoc . Ele converte de / para vários formatos, incluindo Markdown, Rest, HTML e outros.
Também desenvolvi um
Makefile
para converter todos os arquivos .md para .html (em grande parte para o exemplo de Redação, Markdown e Pandoc ):fonte
<pre/>
tag de várias linhas na sua fonte GFM, o Pandoc colocará<br/>
tags nas quebras de linha, enquanto o renderizador do GitHub, no entanto tira o espaço em branco à esquerda, parece deixar o conteúdo em paz.brew install pandoc
gfm
nem os demarkdown_github
entrada processam corretamente coisas como blocos de código.Talvez isso possa ajudar:
Não existe documentação, mas obtive-a na documentação do gollum . Olhando para rubydoc.info , parece que você pode usar:
no seu código Ruby. Você pode agrupar isso facilmente em um script para transformá-lo em um utilitário de linha de comando:
Execute-o com
./render.rb path/to/my/markdown/file.md
. Observe que isso não é seguro para uso em produção sem higienização.fonte
Ele não lida com extensões do GitHub, mas é melhor que nada. Eu acredito que você pode estender o módulo para lidar com as adições ao GitHub.
fonte
Provavelmente não é o que você deseja, mas desde que você mencionou o Node.js.: não encontrei uma boa ferramenta para visualizar a documentação do GitHub Flavored Markdown na unidade local antes de enviá-los para o GitHub, então hoje eu criei um, com base no Node.js.: https : //github.com/ypocat/gfms
Portanto, talvez você possa reutilizar o showdown.js para o seu Wiki, se sua pergunta ainda for real. Caso contrário, talvez outras pessoas que enfrentam o mesmo problema que eu encontrem (exatamente como eu) essa pergunta e essa resposta.
fonte
Para ler um arquivo README.md no terminal, eu uso:
O Pandoc gera no formato HTML, que o Lynx processa no seu terminal.
Funciona muito bem: preenche meu terminal, os atalhos são mostrados abaixo, eu posso rolar e os links funcionam! Porém, existe apenas um tamanho de fonte, mas as cores + indentação + alinhamento compensam isso.
Instalação:
fonte
pandoc readme.md -o readme.md.html
e abrir o arquivo resultante.function md { pandoc $@ | lynx -stdin }
O GitHub tem uma API Markdown que você pode usar.
fonte
jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' < README.md | curl --data @- https://api.github.com/markdown > README.html
grip
... Você escolheu. : PUse marcado . Ele suporta o GitHub Flavored Markdown, pode ser usado como um módulo Node.js. e na linha de comando.
Um exemplo seria:
fonte
^D
?Isso é principalmente uma resposta à resposta de @ barry-staes para usar o Pandoc . O Homebrew também o tem, se você estiver em um Mac:
Pandoc suporta GFM como um formato de entrada através do
markdown_github
nome.Saída para arquivo
Abrir no Lynx
Abra no navegador padrão no OS X
Integração TextMate
Você sempre pode canalizar a seleção atual ou o documento atual para uma das opções acima, como a maioria dos editores permite. Você também pode configurar facilmente o ambiente para
pandoc
substituir o processador Markdown padrão usado pelo pacote Markdown .Primeiro, crie um script de shell com o seguinte conteúdo (eu vou chamá-lo
ghmarkdown
):Você pode definir a
TM_MARKDOWN
variável (em Preferências → Variáveis) como/path/to/ghmarkdown
e ela substituirá o processador Markdown padrão.fonte
Criei uma ferramenta semelhante à funcionalidade de visualização prévia do Atom, mas como um aplicativo independente. Não tenho certeza se é isso que você está procurando, mas pode ser útil. - https://github.com/yoshuawuyts/vmd
fonte
pandoc
combrowser
funciona bem para mim.Uso:
cat README.md | pandoc -f markdown_github | browser
Instalação (supondo que você esteja usando o Mac OSX):
$ brew install pandoc
$ brew install browser
Ou no Debian / Ubuntu:
apt-get install pandoc browser
fonte
apt-get isntall pandoc
vai fazer, não há necessidade de usar coisas locais inseguras, como cerveja.Consulte também https://softwareengineering.stackexchange.com/a/128721/24257 .
O script Ruby, que usa Redcarpet , será "utilitário de linha de comando", se você tiver Ruby local
fonte
Com base neste comentário , escrevi uma linha para acessar a API do Github Markdown usando
curl
ejq
.Cole esta função bash na linha de comando ou no seu
~/.bash_profile
:E então, para ver o HTML renderizado no navegador executado:
Substitua
open "$HTMLFILE"
porlynx "$HTMLFILE"
se precisar de uma solução terminal pura.fonte
O GitHub (desde) desenvolveu um bom editor de texto modular chamado Atom (baseado no Chromium e usa módulos Node.js. para pacotes).
Um pacote pré-instalado padrão O Markdown Preview permite exibir sua visualização em uma guia separada usando Ctrl+ Shift+ M.
Eu não testei sua sintaxe completa, mas como é proveniente do GitHub, ficaria muito surpreso se a sintaxe da visualização fosse diferente da deles (blocos protegidos usando
~~~
trabalho).Agora, embora não seja tecnicamente baseado em linha de comando, ele usa o Node.js e gera um renderizador baseado em DOM , o que pode ajudar qualquer um que tente renderizar HTML baseado em sintaxe do GitHub em um servidor da Web baseado em Node.js. / README.md offline.
fonte
Minha solução final foi usar o Python Markdown . Eu rolei minha própria extensão que consertava os blocos da cerca.
fonte
Existe uma ferramenta realmente agradável e simples para navegar nos documentos GFM Markdown:
GFMS - Servidor de Markdown com sabor do Github
É um servidor HTTP simples e leve (sem necessidade de configuração). Você pode iniciar em qualquer diretório que contenha arquivos de descontos para procurá-los.
Recursos:
fonte
Eu consegui usar um script Ruby de uma linha para esse fim (embora tivesse que ir em um arquivo separado). Primeiro, execute estes comandos uma vez em cada máquina cliente onde você enviará documentos a partir de:
Em seguida, instale este script na sua imagem do cliente e chame-o
render-readme-for-javadoc.rb
:Por fim, invoque-o assim:
ETA: Isso não o ajudará com o Markdown StackOverflow, que parece estar falhando nesta resposta.
fonte
Eu uso o Pandoc com a opção
--from=gfm
para o GitHub Flavored Markdown assim:fonte
pandoc: Unknown reader: gfm
. Indo para 2.2.1 corrige isso.sudo apt install pandoc
?Melhorando a solução da @ barry-stae. Coloque este trecho em ~ / .bashrc
Em seguida, podemos visualizar rapidamente o arquivo na linha de comando. Também funciona bem em sessões SSH / Telnet.
fonte
Adição tardia, mas showdownjs possui uma ferramenta CLI que você pode usar para analisar MD para HTML.
fonte
Encontrei um site que fará isso por você: http://tmpvar.com/markdown.html . Cole no seu Markdown e ele será exibido para você. Parece funcionar muito bem!
No entanto, ele não parece lidar com a opção de destaque de sintaxe do código; isto é, o
~~~ruby
recurso não funciona. Apenas imprime 'rubi'.fonte
Para melhorar as respostas @ barry-stae e @Sandeep para usuários regulares de elinks, você adicionaria o seguinte ao .bashrc:
Não se esqueça de instalar o pandoc (e elinks).
fonte
Com base na resposta de Jim Lim , instalei a gema GitHub Markdown. Isso incluía um script chamado gfm que pega um nome de arquivo na linha de comando e grava o HTML equivalente na saída padrão. Modifiquei isso um pouco para salvar o arquivo em disco e abrir o navegador padrão com o launchy:
fonte
ruby,
pepino etc.) pareçam ser reconhecidas como cercas (porque são renderizadas em texto de largura fixa), não há realce de sintaxe. Alguma idéia do porquê?Uma abordagem 'rápida e suja' é fazer o download das páginas HTML do wiki usando o
wget
utilitário, em vez de cloná-lo. Por exemplo, foi assim que baixei o wiki do Hystrix no GitHub (estou usando o Ubuntu Linux):A primeira chamada fará o download da página de entrada do wiki e de todas as suas dependências. O segundo chamará todas as subpáginas nele. Você pode navegar agora pelo wiki abrindo
Netflix/Hystrix/wiki.1.html
.Observe que as duas chamadas para
wget
são necessárias. Se você acabou de executar o segundo, perderá algumas dependências necessárias para mostrar as páginas corretamente.fonte
Recentemente fiz o que você quer, porque precisava gerar documentação a partir de arquivos Markdown e o estilo GitHub é muito bom. Tente. Está escrito em Node.js.
gfm
fonte