0

Penjana Jadual Kandungan

Tampal Markdown atau HTML dan dapatkan jadual kandungan bersarang dan boleh diklik dengan slug penambat selamat perlanggaran gaya GitHub sebenar, serta kandungan asal dengan ID tajuk yang disuntik.

Auto-kesan mencari teg

-

sebenar dahulu, kemudian Markdown # tajuk.

Menambah atribut {#slug} selepas setiap tajuk - disokong oleh kramdown, Pandoc, MkDocs dan Halaman GitHub (Jekyll).

Buy Me a Coffee at ko-fi.com
Memproses... 0%
Mengesan format kandungan
Menghuraikan tajuk
Menetapkan slug selamat perlanggaran
Membina jadual kandungan

Hasilnya

Jadual kandungan hanya berguna seperti pautan sauh di bawahnya, dan pautan sauh hanya boleh dipercayai jika setiap tajuk mendapat slug yang unik dan boleh diramal. Penjana ini menghuraikan tajuk daripada apa sahaja yang anda tampal - Markdown atau HTML - dan memberikan setiap satu sauh gaya GitHub sebenar: teks huruf kecil, ruang dan tanda baca diganti atau dilucutkan, dan, secara kritikal, akhiran selamat perlanggaran tulen apabila dua tajuk sebaliknya akan menghasilkan slug yang sama. "Pengenalan" kedua dalam dokumen menjadi pengenalan-1, yang ketiga menjadi pengenalan-2, dijejaki dengan peta kejadian yang sedang berjalan tepat seperti cara slugger GitHub sendiri berfungsi - bukan pintasan yang secara senyap menimpa pautan terdahulu apabila tajuk berulang, yang merupakan satu-satunya cara yang paling biasa skrip jadual kandungan gulung tangan pecah.

Penghuraian Markdown adalah berdasarkan baris atas tujuan, kerana mod kegagalan klasik untuk pelaksanaan naif menganggap "#" yang ditulis di dalam blok kod berpagar sebagai tajuk. Alat ini menjejaki sama ada pagar ``` atau ~~~ sedang dibuka semasa ia berjalan di dokumen baris demi baris, dan hanya mengenali tajuk ATX (# hingga ######) di luar pagar terbuka - jadi sampel kod yang menunjukkan komen shell atau Python "# komen" tidak sekali-kali mencemarkan jadual kandungan anda. Input HTML mengambil laluan yang berbeza dan sama nyata: ia dihuraikan dengan DOMParser penyemak imbas sendiri, tajuk dipilih mengikut nama teg dan atribut id setiap satu ditetapkan terus pada elemen sebenar sebelum dokumen disirikan kembali kepada rentetan.

Dua perkara keluar di hujung yang lain. Pertama, jadual kandungan itu sendiri, dieksport sebagai kedua-dua senarai Markdown bersarang (- [Tajuk](#slug), diinden mengikut tahap tajuk) dan senarai HTML bersarang (<ul><li><a href="#slug">), masing-masing dengan butang salinnya sendiri. Kedua, kandungan asal anda dengan sauh sebenarnya berwayar: untuk input Markdown anda boleh memilih sintaks atribut pengepala {#slug} yang disokong secara meluas yang digunakan oleh kramdown, Pandoc, MkDocs dan Jekyll Halaman GitHub, atau kembali ke teg tajuk HTML biasa dengan id="slug" telah ditetapkan jika sintaks sasaran anda tidak memahami atribut. Untuk input HTML, id disuntik terus ke dalam elemen tajuk yang dihuraikan - tiada "mod" berasingan untuk dipilih kerana teg sudah wujud.

Semuanya berjalan secara setempat dalam penyemak imbas anda: penghuraian, matematik slug dan pemasangan semula dokumen semuanya berlaku dalam JavaScript pada halaman yang anda lihat sekarang, tanpa apa-apa dimuat naik di mana-mana sahaja. Itu penting untuk dokumentasi draf, wiki dalaman atau catatan blog yang tidak diterbitkan yang anda belum bersedia untuk tampalkan ke dalam perkhidmatan pihak ketiga hanya untuk mendapatkan jadual kandungan yang berfungsi.