Apakah ada sintaks penurunan harga yang setara dengan:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
sumber
Apakah ada sintaks penurunan harga yang setara dengan:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Take me to [pookie](#pookie)
seharusnya sintaks penurunan harga yang benar untuk melompat ke titik jangkar bernama pookie.
Untuk memasukkan titik jangkar dari nama itu gunakan HTML:
<a name="pookie"></a>
Penurunan harga tampaknya tidak masalah di mana Anda meletakkan titik jangkar. Tempat yang berguna untuk meletakkannya di header. Sebagai contoh:
### <a name="tith"></a>This is the Heading
bekerja dengan sangat baik. (Saya akan menunjukkan di sini tetapi penyaji SO menghapus jangkar.)
id=
versusname=
Versi sebelumnya dari posting ini disarankan untuk menggunakan <a id='tith' />
, menggunakan sintaks self-closing untuk XHTML, dan menggunakan id
atribut alih-alih name
.
XHTML memungkinkan tag apa pun menjadi 'kosong' dan 'ditutup sendiri'. Artinya, <tag />
adalah kependekan dari <tag></tag>
, sepasang tag yang cocok dengan tubuh kosong. Sebagian besar browser akan menerima XHTML, tetapi beberapa tidak. Untuk menghindari masalah lintas-browser, tutup tag secara eksplisit menggunakan <tag></tag>
, seperti yang direkomendasikan di atas.
Akhirnya, atribut name=
itu ditinggalkan dalam XHTML, jadi saya awalnya menggunakan id=
, yang semua orang tahu. Namun, HTML5 sekarang membuat variabel global dalam JavaScript saat menggunakan id=
, dan ini mungkin bukan yang Anda inginkan. Jadi, menggunakan name=
sekarang cenderung lebih ramah.
(Terima kasih kepada Slipp Douglas untuk menjelaskan XHTML dengan saya, dan nailer untuk menunjukkan HTML5 efek samping - melihat komentar dan nailer 's jawaban untuk detail lebih lanjut. name=
Muncul untuk bekerja di mana-mana, meskipun sudah ditinggalkan dalam XHTML.)
<a>
tanpa href bukan berarti itu menutup diri. Kecuali saya benar-benar gila, kedua -duanya : test-xhtml11 dan [ sln.6bitt.com/public/test-html5.html[(test-html5) membuat sisa halaman dalam tag <a>. Silakan dan periksa dengan inspektur web pilihan Anda.<a id="hi"/> rest of doc
, tetapi diperlakukan seperti<a id="hi"> rest of doc</a>
. (Dan analisis elemen halaman menunjukkan ini juga.) Kesalahan saya: Saya melihat elemen yang ditampilkan bukan sumber mentah. Apakah Anda pikir jawabannya harus diubah, mengingat pengamatan ini?name
atribut juga menciptakan variabel global (lihat stackoverflow.com/questions/3434278/... ), sehingga Anda mungkin juga menggunakanid
atribut sebagai target URL identifier fragmen, sebagaimana dimaksud.Pada bitbucket.org solusi yang dipilih tidak akan berfungsi. Sebaliknya, saat menggunakan tajuk (dengan ##), dimungkinkan untuk merujuknya sebagai jangkar dengan mengawasinya sebagai # markdown-header-my-header-name, di mana # markdown-header- adalah awalan implisit yang dibuat oleh renderer, dan sisanya adalah judul header berhuruf rendah dengan tanda hubung menggantikan spasi.
Contoh
akan menghasilkan anchor implisit seperti ini
Seluruh URL sebelum setiap referensi jangkar adalah opsional, yaitu
setara dengan
asalkan mereka berada di halaman yang sama.
Sumber: https://bitbucket.org/tutorials/markdowndemo/overview (edit sumber file .md ini dan lihat bagaimana jangkar dibuat).
sumber
## My paragraph title
akan menghasilkan jangkar berikutuser-content-my-paragraph-title
, sehingga Anda dapat merujuknya dengan [Beberapa teks] (# user-content-my-paragraf-judul). Namun, saya belum menemukan dokumentasi resmi untuk ini.[linky](#header)
adalah jangkar yang cukup, dan berfungsi saat dipublikasikan ke Gist juga.Gunakan a
name
. Menggunakan sebuahid
tidak diperlukan dalam HTML 5 dan akan membuat variabel global dalam JavaScript AndaLihat spesifikasi HTML 5, 5.9.8 Menavigasi ke pengidentifikasi fragmen - keduanya
id
danname
digunakan.Penting untuk diketahui bahwa sebagian besar browser masih mengubah ID menjadi variabel global . Inilah tes cepat . Menggunakan
name
menghindari membuat global dan segala konflik yang mungkin terjadi.Contoh menggunakan nama:
Dan jangkar tujuan:
sumber
name
danid
berbeda.fineuploader
, Anda tidak akan dapat menggunakanfineuploader
modul. Menghindari menciptakan global yang tidak perlu membantu menghindari konflik itu.Markdown Anchor mendukung hashmark, jadi tautan ke jangkar di halaman tersebut adalah sederhana
[Pookie](#pookie)
Menghasilkan jangkar sebenarnya tidak didukung di Gruber Markdown, tetapi dalam implementasi lain, seperti Markdown Extra .
Dalam Markdown Extra, anchor ID ditambahkan ke header atau subjudul dengan
{#pookie}
.Github Flavoured Markdown di halaman repositori Git (tetapi tidak di Gists) secara otomatis menghasilkan jangkar dengan beberapa tag markup pada semua header (h1, h2, h3, dll.), Termasuk:
id="user-content-HEADERTEXT"
class="anchor"
href="#HEADERTEXT"
aria-hidden="true"
(ini untuk ikon tautan svg yang ditampilkan di atas mouse)Tidak termasuk ikon aria / svg, ketika seseorang menulis:
# Header Title
Github menghasilkan:
<h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>
Oleh karena itu, orang tidak perlu melakukan apa pun untuk membuat tautan tajuk, dan selalu dapat menautkannya dengan:
[Header Title](#header-title)
sumber
Tidak ada sintaks yang tersedia untuk melakukan ini dalam sintaks Markdown asli, tetapi Markdown Extra menyediakan sarana untuk setidaknya menetapkan ID untuk header - yang kemudian dapat Anda tautkan dengan mudah. Perhatikan juga bahwa Anda dapat menggunakan HTML biasa di Markdown dan Markdown Extra, dan bahwa
name
atribut telah digantikan olehid
atribut di versi HTML yang lebih baru.sumber
Bagi siapa saja yang mencari solusi untuk masalah ini di GitBook. Beginilah cara saya membuatnya bekerja (di GitBook). Anda perlu menandai tajuk secara eksplisit, seperti ini:
Kemudian tautkan ke jangkar ini seperti ini
Solusi, dan contoh tambahan, dapat ditemukan di sini: https://seadude.gitbooks.io/learn-gitbook/
sumber
Terlambat ke pesta, tapi saya pikir penambahan ini mungkin berguna untuk orang yang bekerja dengan
rmarkdown
. Dirmarkdown
sana ada dukungan built-in untuk referensi ke header di dokumen Anda.Tajuk apa pun yang ditentukan oleh
dapat dirujuk oleh
Berikut ini adalah
.rmd
file mandiri minimal yang menunjukkan perilaku ini. Ini bisa dirajut ke.pdf
dan.html
.sumber
Menggunakan Penurunan harga terbaru, Anda harus dapat menggunakan sintaks berikut:
[](){:name='anchorName'}
Ini harus membuat HTML berikut:
<a name="anchorName"></a>
Jika Anda ingin jangkar memiliki teks, cukup tambahkan teks jangkar di dalam tanda kurung:
[Some Text](){:name='anchorName'}
sumber
Maruku
tahu tentang sintaks ini. Lihat babelmark.Untuk generator penurunan harga paling umum. Anda memiliki jangkar sederhana yang dibuat sendiri di setiap tajuk. Misalnya dengan pandoc , anchor yang dihasilkan akan menjadi slug case kebab dari header Anda.
Bergantung pada parser penurunan harga yang Anda gunakan, jangkar dapat berubah (lihat contoh symbolrush dan La muerte Peluda, semuanya berbeda!). Lihat babelmark ini di mana Anda dapat melihat jangkar yang dihasilkan tergantung pada implementasi penurunan harga Anda .
sumber