Javascript menukar Markdown/Tekstil kepada HTML (sebaik-baiknya, kembalikan Markdown/Tekstil)
P粉295616170
P粉295616170 2023-08-24 20:46:39
0
2
613
<p>Terdapat beberapa Javascript <strong>Editor</strong> untuk Markdown / Textile (cth: http://attacklab.net/showdown/, yang saya gunakan sekarang), Tetapi apa yang saya perlukan ialah fungsi Javascript untuk menukar rentetan antara Markdown / Textile -> HTML. </p> <p>Apakah pendekatan terbaik? (Sebaik-baiknya, ia mestilah mesra jQuery - cth. <code>$("#editor").markdown_to_html()</code>)</p> <p><strong>Edit: </strong>Cara lain untuk mengatakan ini ialah saya sedang mencari <code>textilize()</code> dan <code>markdown()< /code> ; Pelaksanaan Javascript>
P粉295616170
P粉295616170

membalas semua(2)
P粉403821740

Saya fikir adalah berbaloi untuk menyenaraikan penyelesaian JavaScript di sini dengan saiz yang dikurangkan (tidak dimampatkan) dan kebaikan/keburukannya. Saiz termampat kod yang dikecilkan adalah kira-kira 50% daripada saiz yang tidak dimampatkan. Ia bermuara kepada:

  • Jika anda mahukan sokongan penuh dan memerlukan pengguna, gunakan markdown-it (104KB) untuk mengedit atau dokumen sewenang-wenangnya, tetapi tidak mengambil berat tentang saiz/lebar jalur.
  • Gunakan drawdown saya sendiri (1.3KB) jika anda memerlukan kualiti yang agak tinggi dan sokongan meja, tetapi ingin menjadi ringan dan tidak memerlukan sebarang fungsi selain penukaran, atau menyelesaikan setiap bekas tepi.
  • Jika anda memerlukan ciri unik seperti keselamatan atau kebolehskalaan, gunakan salah satu ciri yang lain.

Semua menggunakan lesen MIT dan kebanyakannya menggunakan npm.

  • markdown-it: 104KB. Menguasakan StackExchange sejak penghijrahan CommonMark. Mengikut spesifikasi CommonMark, kini lebih kurang standard emas menyokong sambungan sintaks menghasilkan output selamat secara lalai; Dengan pantas; sama kuatnya dengan Showdown, tetapi pada skala yang lebih besar. Mempunyai banyak ciri (seperti menatal disegerakkan). Ia juga merupakan asas http://dillinger.io/.

  • Showdown: 28KB. Mempunyai sokongan penuh CommonMark dan merupakan bekas standard emas yang jauh lebih kecil daripada Markdown-It tetapi lebih perlahan. Ia adalah asas untuk turun halaman.

  • Halaman bawah: 8KB. Menyediakan sokongan untuk StackExchange sebelum penghijrahan CommonMark. Ia sangat berkuasa, tetapi tidak mempunyai jadual, senarai definisi, nota kaki, dsb. Selain skrip penukar 8KB, ia juga menyediakan skrip editor dan lebih bersih.

  • Dikurangkan: 1.3KB. Pendedahan penuh, saya menulisnya. Fungsi yang lebih luas daripada mana-mana penukar ringan lain mengendalikan kebanyakan tetapi bukan semua spesifikasi CommonMark. Tidak disyorkan untuk pengeditan pengguna, tetapi berguna untuk menyampaikan maklumat dalam aplikasi web. Tiada HTML sebaris.

  • tag : 19KB. Komprehensif; diuji terhadap suite ujian unit;

  • micromarkdown: 5KB. Banyak fungsi disokong, tetapi beberapa fungsi biasa hilang, seperti senarai tidak tersusun menggunakan * , dan beberapa fungsi biasa yang bukan sebahagian daripada spesifikasi, seperti blok kod terpencil. Banyak ralat, membuang pengecualian pada kebanyakan dokumen yang lebih panjang. Saya fikir ia adalah percubaan.

  • nano-markdown: 1.9KB. Skop ciri adalah terhad kepada apa yang kebanyakan dokumentasi menggunakan lebih berkuasa daripada micromarkdown, tetapi tidak sempurna menggunakan ujian unitnya yang sangat asas. Cukup teguh, tetapi bermasalah dalam banyak kes kelebihan.

  • mmd.js: 800 bait. Hasil daripada usaha untuk membuat parser sekecil mungkin yang masih boleh digunakan. Subset kecil disokong; dokumentasi perlu disesuaikan untuknya.

  • markdown-js: 54KB (tidak boleh memuat turun versi mini; boleh dikecilkan) kepada ~20KB). Nampak komprehensif dan termasuk ujian, tetapi saya tidak begitu biasa dengannya.

  • meltdown: 41KB (tidak boleh dimuat turun apabila dikecilkan; boleh dikurangkan kepada kira-kira 15KB). plugin jQuery; Markdown Extra (jadual, senarai definisi, nota kaki).

  • unified.js: Berbeza-beza, 5-100KB. Sistem berasaskan pemalam untuk menukar antara html, penurunan nilai dan prosa. Bergantung pada pemalam yang anda perlukan (semakan ejaan, penyerlahan sintaks, pembersihan input), saiz fail akan berbeza-beza. Mungkin menggunakan bahagian pelayan lebih daripada bahagian pelanggan.

P粉592085423

Untuk Markdown -> HTML, ada Showdown

StackOverflow sendiri menggunakan bahasa Markdown untuk Soal Jawab;

Nampaknya, nampaknya menggunakan PageDown, yang boleh didapati di bawah lesen MIT p>

SoalanAdakah terdapat perpustakaan atau kawalan Javascript Markdown yang bagus? dan jawapannya juga mungkin membantu :-)


Sudah tentu, editor penuh bukanlah apa yang anda minta tetapi mereka perlu menggunakan beberapa fungsi untuk menukar kod Markdown kepada HTML dan, bergantung pada lesen editor tersebut, anda mungkin boleh menggunakan semula fungsi itu ...

Malah, jika anda melihat dengan lebih dekat Showdown, dalam sumber kodnya (fail showdown.js) anda akan menemui bahagian komen ini:

//
// Showdown usage:
//
//   var text = "Markdown *rocks*.";
//
//   var converter = new Showdown.converter();
//   var html = converter.makeHtml(text);
//
//   alert(html);
//
// Note: move the sample code to the bottom of this
// file before uncommenting it.
//

Ia bukan sintaks jQuery, tetapi harus mudah untuk disepadukan ke dalam aplikasi anda ;-)


Mengenai tekstil, nampaknya sukar untuk mencari sesuatu yang berguna :-(


HTML -> Markdown, sebaliknya, saya rasa perkara mungkin lebih sukar...

Apa yang saya akan lakukan ialah menyimpan Markdown dan HTML dalam stor data apl saya (pangkalan data?) dan menggunakan satu untuk mengedit dan satu lagi untuk pemaparan... akan mengambil lebih banyak ruang, tetapi nampaknya lebih baik daripada "menyahsulit" Kurang berisiko "HTML ...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan