Saya bertanya-tanya apakah ada utilitas baris perintah untuk mengambil file Markdown beraroma GitHub dan merendernya ke HTML.
Saya menggunakan wiki GitHub untuk membuat konten situs web. Saya telah mengkloning repositori di server saya dan kemudian ingin memprosesnya menjadi HTML biasa. Penting bagi saya bahwa apa yang muncul di GitHub adalah bagaimana seharusnya mencari situs web saya. Saya juga sangat suka menggunakan blok berpagar ~~~
, jadi saya lebih suka tidak menggunakan sintaks Markdown standar saja.
Saya telah melihat sedikit ke preview JavaScript hidup berpikir saya bisa menghubungkannya ke Node.js, tetapi mereka mengatakan itu sudah usang. Saya telah melihat repositori redcarpet, tetapi sepertinya tidak memiliki antarmuka baris perintah.
Saya menggulung solusi saya sendiri, karena tidak ada solusi di sini yang jelas lebih baik daripada yang lain, saya akan meninggalkan pertanyaan tanpa jawaban yang dipilih.
sumber
--out
argumen untuk menangani membuat file HTML bukan browser, apakah itu dapat diterima?--export
opsi, yang menjadikan GFM dan gayanya menjadi satu file. Apakah ini menjawab pertanyaan?Jawaban:
Saya menulis CLI kecil dengan Python dan menambahkan dukungan GFM. Ini disebut Grip (Github Readme Instant Preview) .
Instal dengan:
Dan untuk menggunakannya, cukup:
Kemudian kunjungi
localhost:5000
untuk melihatreadme.md
file di lokasi itu.Anda juga dapat menentukan file Anda sendiri:
Dan ganti port:
Dan tentu saja, secara khusus membuat GitHub-Flavoured Markdown, opsional dengan konteks repositori:
Fitur-fitur penting:
stdin
dan ekspor untukstdout
ditambahkan dalam 3.0Semoga ini bisa membantu seseorang di sini. Lihat itu .
sumber
grip
bekerja tepat di luar kotak.Saya belum menemukan metode cepat dan mudah untuk Markdown rasa GitHub, tetapi saya telah menemukan versi yang sedikit lebih umum - Pandoc . Itu mengkonversi dari / ke sejumlah format, termasuk penurunan harga, istirahat, HTML dan lainnya.
Saya juga telah mengembangkan
Makefile
untuk mengonversi semua file .md ke .html (sebagian besar pada contoh di Writing, Markdown, dan Pandoc ):sumber
<pre/>
tag multi-baris di sumber GFM Anda, Pandoc akan memasukkan<br/>
tag untuk jeda baris di dalamnya, sementara renderer GitHub, meskipun itu strip spasi putih terkemuka, tampaknya jika tidak meninggalkan konten sendirian.brew install pandoc
gfm
maupunmarkdown_github
benar tidak membuat hal-hal seperti blok kode.Mungkin ini bisa membantu:
Tidak ada dokumentasi, tetapi saya mendapatkannya dari dokumentasi gollum . Melihat rubydoc.info , sepertinya Anda dapat menggunakan:
dalam kode Ruby Anda. Anda bisa membungkusnya dengan mudah dalam skrip untuk mengubahnya menjadi utilitas baris perintah:
Jalankan dengan
./render.rb path/to/my/markdown/file.md
. Perhatikan bahwa ini tidak aman untuk digunakan dalam produksi tanpa sanitasi.sumber
Itu tidak menangani ekstensi GitHub, tetapi lebih baik daripada tidak sama sekali. Saya percaya Anda dapat memperluas modul untuk menangani penambahan GitHub.
sumber
Mungkin bukan yang Anda inginkan, tetapi karena Anda menyebutkan Node.js: Saya tidak dapat menemukan alat yang bagus untuk melihat pratinjau dokumentasi GitHub Flavoured Markdown pada drive lokal saya sebelum memasukkannya ke GitHub, jadi hari ini saya membuat satu, berdasarkan Node.js: https : //github.com/ypocat/gfms
Jadi mungkin Anda dapat menggunakan kembali showdown.js dari itu untuk Wiki Anda, jika pertanyaan Anda masih aktual. Jika tidak, mungkin orang lain yang menghadapi masalah yang sama seperti saya akan menemukan (sama seperti saya) pertanyaan ini dan jawaban ini.
sumber
Untuk membaca file README.md di terminal yang saya gunakan:
Pandoc menampilkannya dalam format HTML, yang dirender oleh Lynx di terminal Anda.
Ini berfungsi dengan baik: Ini mengisi terminal saya, jalan pintas diperlihatkan di bawah, saya dapat menggulir, dan tautannya bekerja! Hanya ada satu ukuran font, tetapi warna + indentation + alignment membuat untuk itu.
Instalasi:
sumber
pandoc readme.md -o readme.md.html
dan membuka file yang dihasilkan.function md { pandoc $@ | lynx -stdin }
GitHub memiliki API Penurunan harga yang dapat Anda gunakan.
sumber
jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' < README.md | curl --data @- https://api.github.com/markdown > README.html
grip
... Anda pilih. : PGunakan yang ditandai . Ini mendukung GitHub Flavoured Markdown, dapat digunakan sebagai modul Node.js dan dari baris perintah.
Contohnya adalah:
sumber
^D
?Ini sebagian besar merupakan kelanjutan dari jawaban @ barry-staes untuk menggunakan Pandoc . Homebrew memilikinya juga, jika Anda menggunakan Mac:
Pandoc mendukung GFM sebagai format input melalui
markdown_github
nama.Output ke file
Buka di Lynx
Buka di browser default pada OS X
Integrasi TextMate
Anda selalu dapat menyalurkan seleksi saat ini atau dokumen saat ini ke salah satu di atas, karena sebagian besar editor memungkinkan Anda untuk melakukannya. Anda juga dapat dengan mudah mengkonfigurasi lingkungan sehingga
pandoc
menggantikan prosesor Markdown default yang digunakan oleh Markdown bundel .Pertama, buat skrip shell dengan konten berikut (saya akan menyebutnya
ghmarkdown
):Anda kemudian dapat mengatur
TM_MARKDOWN
variabel (dalam Preferensi → Variabel) untuk/path/to/ghmarkdown
, dan itu akan menggantikan prosesor penurunan harga default.sumber
Saya membuat alat yang mirip dengan fungsi Pratinjau Atom, tetapi sebagai aplikasi mandiri. Tidak yakin apakah ini yang Anda cari, tetapi mungkin bermanfaat. - https://github.com/yoshuawuyts/vmd
sumber
pandoc
denganbrowser
bekerja dengan baik untukku.Pemakaian:
cat README.md | pandoc -f markdown_github | browser
Instalasi (Anggap Anda menggunakan Mac OSX):
$ brew install pandoc
$ brew install browser
Atau di Debian / Ubuntu:
apt-get install pandoc browser
sumber
apt-get isntall pandoc
akan lakukan, tidak perlu menggunakan tidak aman, barang-barang lokal seperti minuman.Lihat juga https://softwareengineering.stackexchange.com/a/128721/24257 .
Script Ruby, yang menggunakan Redcarpet , akan menjadi "command line utility", jika Anda memiliki Ruby lokal
sumber
Membangun pada komentar ini saya menulis satu-liner untuk menekan Github Markdown API menggunakan
curl
danjq
.Rekatkan fungsi bash ini ke baris perintah atau ke
~/.bash_profile
:Dan kemudian untuk melihat HTML di-browser yang dijalankan berjalan:
Ganti
open "$HTMLFILE"
denganlynx "$HTMLFILE"
jika Anda membutuhkan solusi terminal murni.sumber
GitHub telah (sejak) mengembangkan editor teks modular yang bagus yang disebut Atom (berdasarkan Chromium dan menggunakan modul Node.js untuk paket).
Paket pra-instal bawaan Markdown Preview memungkinkan Anda menampilkan pratinjau di tab terpisah menggunakan Ctrl+ Shift+ M.
Saya belum menguji sintaks lengkapnya, tetapi karena itu berasal dari GitHub, saya akan sangat terkejut jika sintaks pratinjau berbeda dari mereka (blok berpagar menggunakan
~~~
pekerjaan).Sekarang, meskipun secara teknis tidak berbasis command-line, ia menggunakan Node.js dan output ke renderer berbasis DOM , yang dapat membantu siapa pun yang mencoba merender GitHub berbasis sintaksis HTML pada server web berbasis Node.js, atau hanya mengeditnya / offline README.md-nya.
sumber
Solusi terakhir saya adalah menggunakan Python Markdown . Saya memutar ekstensi saya sendiri yang memperbaiki blok pagar.
sumber
Ada alat yang sangat bagus dan sederhana untuk menelusuri dokumen penurunan harga GFM:
GFMS - Github Flavoured Markdown Server
Ini sederhana dan ringan (tidak perlu konfigurasi) server HTTP yang dapat Anda mulai di direktori mana pun yang berisi file penurunan harga untuk menjelajahinya.
Fitur:
sumber
Saya berhasil menggunakan skrip Ruby satu baris untuk tujuan itu (walaupun harus masuk dalam file terpisah). Pertama, jalankan perintah ini sekali pada setiap mesin klien Anda akan mendorong dokumen dari:
Selanjutnya, instal skrip ini di gambar klien Anda, dan sebut saja
render-readme-for-javadoc.rb
:Akhirnya, aktifkan seperti ini:
ETA: Ini tidak akan membantu Anda dengan StackOverflow-flavor Markdown, yang tampaknya gagal pada jawaban ini.
sumber
Saya menggunakan Pandoc dengan opsi
--from=gfm
untuk GitHub Flavoured Markdown seperti ini:sumber
pandoc: Unknown reader: gfm
. Pergi ke 2.2.1 memperbaiki ini.sudo apt install pandoc
?Memperbaiki solusi @ barry-stae. Tempelkan cuplikan ini di ~ / .bashrc
Kemudian kita dapat dengan cepat melihat file dari command-line. Juga bekerja dengan baik selama sesi SSH / Telnet.
sumber
Penambahan terlambat tetapi showdownjs memiliki alat CLI yang dapat Anda gunakan untuk mem-parsing MD ke HTML.
sumber
Saya menemukan situs web yang akan melakukan ini untuk Anda: http://tmpvar.com/markdown.html . Tempel di Markdown Anda, dan itu akan menampilkannya untuk Anda. Tampaknya berfungsi dengan baik!
Namun, tampaknya tidak menangani opsi penyorotan sintaks untuk kode; artinya,
~~~ruby
fitur tidak berfungsi. Itu hanya mencetak 'ruby'.sumber
Meningkatkan pada @ barry-stae dan @Simpan jawaban untuk pengguna elinks biasa, Anda akan menambahkan yang berikut ini ke .bashrc:
Jangan lupa untuk menginstal pandoc (dan elinks).
sumber
Berdasarkan jawaban Jim Lim , saya memasang permata GitHub Markdown. Itu termasuk skrip bernama gfm yang mengambil nama file pada baris perintah dan menulis HTML yang setara ke output standar. Saya memodifikasi sedikit untuk menyimpan file ke disk dan kemudian untuk membuka browser standar dengan launchy:
sumber
ruby,
mentimun, dll.) Tampaknya dikenali sebagai pagar (karena dibuat dalam teks lebar tetap), tidak ada penyorotan sintaksis. Ada yang tahu kenapa?Pendekatan 'cepat dan kotor' adalah mengunduh halaman HTML wiki menggunakan
wget
utilitas, alih-alih mengkloningnya. Sebagai contoh, ini adalah bagaimana saya mengunduh wiki Hystrix dari GitHub (Saya menggunakan Ubuntu Linux):Panggilan pertama akan mengunduh halaman entri wiki dan semua dependensinya. Yang kedua akan memanggil semua sub-halaman di dalamnya. Anda dapat menelusuri sekarang wiki dengan membuka
Netflix/Hystrix/wiki.1.html
.Perhatikan bahwa kedua panggilan
wget
diperlukan. Jika Anda hanya menjalankan yang kedua maka Anda akan kehilangan beberapa dependensi yang diperlukan untuk menampilkan halaman dengan benar.sumber
Baru-baru ini saya membuat apa yang Anda inginkan, karena saya perlu membuat dokumentasi dari file Markdown dan gaya GitHub cukup bagus. Cobalah. Itu ditulis dalam Node.js.
gfm
sumber