Saya menulis dokumen penurunan harga yang besar dan ingin menempatkan daftar isi di awal yang akan menyediakan tautan ke berbagai lokasi dalam dokumen. Bagaimana saya bisa melakukan ini?
Saya mencoba menggunakan
[a link](# MyTitle)
di mana MyTitle
judul dalam dokumen dan ini tidak berhasil.
markdown
multimarkdown
pengecualian penerima
sumber
sumber
Jawaban:
Di pandoc , jika Anda menggunakan opsi
--toc
dalam menghasilkan html, daftar isi akan dibuat dengan tautan ke bagian, dan kembali ke daftar isi dari judul bagian. Ini mirip dengan pandoc format lain yang ditulis, seperti LaTeX, rtf, rst, dll. Jadi dengan perintahsedikit penurunan harga ini:
akan menghasilkan ini sebagai badan html:
sumber
git clone
-ed ke direktori tmbundle terendah atau terluar,~/Library/Application\ Support/TextMate/Bundles
untuk menyederhanakan integrasi.-1
pengulangan pertama id,-2
ke yang kedua, dllGithub secara otomatis mem-parsing anchor tag dari header Anda. Jadi, Anda dapat melakukan hal berikut:
Dalam kasus di atas,
Foo
header telah menghasilkan tag jangkar dengan namafoo
Catatan : hanya satu
#
untuk semua ukuran tajuk, tanpa spasi di antara#
dan nama jangkar , nama tag jangkar harus lebih kecil, dan dibatasi oleh tanda hubung jika multi-kata .Memperbarui
Bekerja di luar kotak
pandoc
juga.sumber
[just](#like-this-one)
.## Foo
, coba [ini tautan saya ke Foo] (# foo) ... yaitu: hash tunggal , tanpa spasi antara hash dan huruf kecil-kebab-case-name- of-headerBereksperimen, saya menemukan solusi menggunakan
<div…/>
tetapi solusi yang jelas adalah menempatkan titik jangkar Anda sendiri di halaman mana pun Anda suka, dengan demikian:sebelum dan
setelah baris yang ingin Anda 'tautkan'. Lalu tautan penurunan harga seperti:
dimanapun dalam dokumen membawa Anda ke sana.
The
<div…/>
solusi menyisipkan "boneka" divisi hanya untuk menambahkanid
properti, dan ini berpotensi mengganggu struktur halaman, tetapi<a name="abcde"/>
solusi seharusnya cukup berbahaya.(PS: Mungkin tidak apa-apa untuk meletakkan jangkar di baris yang ingin Anda tautkan, sebagai berikut:
tetapi ini tergantung pada bagaimana penurunan harga memperlakukan ini. Saya perhatikan, sebagai contoh, formatter jawaban Stack Overflow senang dengan ini!)
sumber
## headers
.<div/>
beberapa baris di bawah ini akan terpengaruh. Alih-alih, saya harus membungkus teks yang saya tautkan dalamdiv
klausa tag lengkap dan saya harus MENGATUR ULANG tingkah laku dari awal menggunakan HTML nyata. Boo.<a name="head1"/>
dengan<a id="head1"/>
.Ini mungkin kedaluwarsa tetapi untuk membuat tautan dokumen dalam penurunan harga di Github digunakan ...
(CATATAN: huruf kecil #judul)
Sebuah pertanyaan bagus dibuat sehingga saya telah mengedit jawaban saya;
Link batin dapat dibuat untuk setiap ukuran judul menggunakan -
#
,##
,###
,####
saya membuat sebuah contoh cepat di bawah ini ... https://github.com/aogilvie/markdownLinkTestsumber
(#dependencies-title)
memberi tahu Github markdown bahwa ini adalah tautan dalam. Teks yang mengikuti dapat berupa ukuran judul apa saja. Ini adalah contoh tes yang saya buat ... https://github.com/aogilvie/markdownLinkTestya, penurunan harga tidak melakukan ini tetapi Anda harus menentukan nama jangkar
<a name='xyx'>
.contoh lengkap,
ini menciptakan tautan
[tasks](#tasks)
kemudian dalam dokumen, Anda membuat jangkar bernama (apa pun namanya).
perhatikan bahwa Anda juga bisa membungkusnya di sekitar tajuk juga.
sumber
Manual pandoc menjelaskan cara menautkan ke header Anda, menggunakan pengenal mereka. Saya tidak memeriksa dukungan ini oleh parser lain, tetapi dilaporkan tidak bekerja di github .
Pengidentifikasi dapat ditentukan secara manual:
atau Anda dapat menggunakan pengidentifikasi yang dibuat secara otomatis (dalam hal ini
#my-heading-text
). Keduanya dijelaskan secara rinci dalam manual pandoc .CATATAN : Ini hanya berfungsi saat mengonversi ke HTML , LaTex , ConTeXt , Textile atau AsciiDoc .
sumber
Beberapa hal tambahan yang perlu diingat jika Anda pernah menyukai simbol dalam pos yang ingin Anda navigasi ...
... hal-hal seperti
#
,;
,&
, dan:
dalam menuju string umumnya diabaikan / bergaris bukan melarikan diri, dan satu juga dapat menggunakan kutipan link gaya memanfaatkan cepat lebih mudah.Poin Bonus?
Untuk berjaga-jaga seandainya seseorang bertanya-tanya bagaimana gambar dan tautan lain dalam sebuah pos diuraikan menjadi
id
...Peringatan
Render MarkDown berbeda dari satu tempat ke tempat lain, jadi hal-hal seperti ...
... di GitHub akan memiliki elemen dengan
id
seperti ...... dimana sanitasi vanili akan menghasilkan
id
...... yang berarti bahwa menulis atau mengkompilasi file MarkDown dari template memerlukan penargetan satu cara slugifeing , atau menambahkan konfigurasi dan logika skrip untuk berbagai cara pintar yang dilakukan oleh tempat-tempat yang suka membersihkan teks judul.
sumber
Solusi universal
Pertanyaan ini tampaknya memiliki jawaban yang berbeda sesuai dengan implementasi penurunan harga.
Bahkan, dokumentasi penurunan harga resmi tidak membahas topik ini.
Dalam kasus seperti itu, dan jika Anda menginginkan solusi portabel, Anda bisa menggunakan HTML.
Sebelum tajuk apa pun, atau dalam baris tajuk yang sama, tentukan ID menggunakan beberapa tag HTML.
Misalnya:
<a id="Chapter1"></a>
Anda akan melihat ini dalam kode Anda tetapi tidak dalam dokumen yang diberikan.
Contoh lengkap:
Lihat contoh lengkap (online dan dapat diedit) di sini .
Untuk menguji contoh ini, Anda harus menambahkan beberapa ruang ekstra antara daftar konten dan bab pertama atau mengurangi ketinggian jendela.
Selain itu, jangan gunakan spasi atas nama id.
sumber
## Chapter 1
membutuhkan garis terbuka di atasnya. (2) Tautan tidak berfungsi ...<span id="Chapter1"><span>
Tidak ada arahan seperti itu dalam spec Markdown. Maaf.
sumber
Gitlab menggunakan GitLab Flavoured Markdown (GFM)
Di sini "semua tajuk yang dibuat dengan penurunan harga secara otomatis mendapatkan ID"
Seseorang dapat menggunakan mouse untuk:
salin dan simpan tautan menggunakan klik kanan mouse
Misalnya dalam file README.md saya memiliki tajuk:
## series expansion formula of the Boettcher function
yang memberi tautan:
Awalan dapat dihapus sehingga tautan di sini sederhana
yang di sini berarti:
Sekarang dapat digunakan sebagai:
[series expansion formula of the Boettcher function](README.md#series-expansion-formula-of-the-boettcher-function)
Anda juga dapat melakukannya secara manual: ganti spasi dengan tanda hubung.
Contoh langsung ada di sini
sumber
Menggunakan kramdown, sepertinya ini berfungsi dengan baik:
Saya melihat sudah disebutkan itu
bekerja secara efisien, tetapi yang pertama mungkin merupakan alternatif yang baik untuk elemen selain tajuk atau tajuk dengan banyak kata.
sumber
Karena MultiMarkdown disebutkan sebagai opsi dalam komentar.
Dalam MultiMarkdown sintaks untuk tautan internal sederhana.
Untuk setiap heading dalam dokumen cukup berikan nama heading dalam format ini
[heading][]
untuk membuat tautan internal.Baca lebih lanjut di sini: MultiMarkdown-5 Referensi-silang .
sumber
Beberapa lagi berputar pada
<a name="">
trik:sumber
Selain jawaban di atas,
Saat mengatur opsi
number_sections: true
di header YAML:RMarkdown akan otomatis menomori bagian Anda.
Untuk mereferensikan bagian-bagian yang diberi nomor otomatis itu, cukup masukkan yang berikut ini di file R Markdown Anda:
[My Section]
Di mana
My Section
nama bagian ituIni tampaknya berhasil terlepas dari tingkat bagian:
# My section
## My section
### My section
sumber