มีไวยากรณ์มาร์คดาวน์สำหรับเทียบเท่า:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
มีไวยากรณ์มาร์คดาวน์สำหรับเทียบเท่า:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
คำตอบ:
Take me to [pookie](#pookie)
ควรเป็นไวยากรณ์ markdown ที่ถูกต้องเพื่อข้ามไปยังจุดยึดชื่อ pookie
ในการแทรกจุดยึดของชื่อนั้นให้ใช้ HTML:
<a name="pookie"></a>
Markdown ดูเหมือนจะไม่สนใจที่คุณวางจุดยึด สถานที่ที่มีประโยชน์ที่จะวางมันอยู่ในส่วนหัว ตัวอย่างเช่น:
### <a name="tith"></a>This is the Heading
ทำงานได้ดีมาก (ฉันจะสาธิตที่นี่ แต่ผู้สร้างภาพของ SO ดึงสมอออก)
id=
เมื่อเทียบกับname=
รุ่นก่อนหน้าของโพสต์นี้แนะนำให้ใช้<a id='tith' />
โดยใช้ไวยากรณ์ตนเองปิดสมุดทะเบียนเพื่อ XHTML, และการใช้แอตทริบิวต์แทนid
name
XHTML อนุญาตให้แท็กใด ๆ เป็น "ว่างเปล่า" และ "ปิดตัวเอง" กล่าวคือ<tag />
สั้น ๆ สำหรับ<tag></tag>
แท็กคู่ที่จับคู่กับเนื้อความว่างเปล่า เบราว์เซอร์ส่วนใหญ่จะยอมรับ XHTML แต่บางเบราว์เซอร์ไม่สามารถทำได้ เพื่อหลีกเลี่ยงปัญหาข้ามเบราว์เซอร์ให้ปิดแท็กโดยใช้อย่างชัดเจน<tag></tag>
ตามที่แนะนำข้างต้น
ในที่สุดแอตทริบิวต์name=
ถูกเลิกใช้ใน XHTML ดังนั้นฉันจึงใช้ แต่เดิมid=
ซึ่งทุกคนรับรู้ อย่างไรก็ตามตอนนี้ HTML5 สร้างตัวแปรทั่วโลกใน JavaScript เมื่อใช้id=
และอาจไม่จำเป็นต้องเป็นสิ่งที่คุณต้องการ ดังนั้นname=
ตอนนี้การใช้งานก็น่าจะเป็นมิตรมากกว่า
(ขอขอบคุณslipp ดักลาสสำหรับการอธิบาย XHTML ให้ฉันและnailerสำหรับการชี้ออก HTML5 ผลข้างเคียง - ดูความคิดเห็นและnailer 's คำตอบสำหรับรายละเอียดเพิ่มเติม. name=
ปรากฏในการทำงานทุกที่ถึงแม้ว่ามันจะเลิกใช้ใน XHTML.)
<a>
หากไม่มี href ไม่ได้หมายความว่ามันจะปิดตัวเอง นอกจากว่าฉันจะเป็นคนบ้าอย่างสมบูรณ์ทั้งสองอย่างนี้: test-xhtml11และ [ sln.6bitt.com/public/test-html5.html เหมือน( test- html5)แสดงส่วนที่เหลือของหน้าภายในแท็ก <a> ไปข้างหน้าและตรวจสอบกับผู้ตรวจสอบเว็บที่คุณเลือก
<a id="hi"/> rest of doc
<a id="hi"> rest of doc</a>
(และการวิเคราะห์องค์ประกอบของหน้าแสดงสิ่งนี้ด้วย) ความผิดพลาดของฉัน: ฉันดูองค์ประกอบที่แสดงไม่ใช่แหล่งที่มา คุณคิดว่าคำตอบควรได้รับการแก้ไขเนื่องจากการสังเกตนี้หรือไม่?
name
แอตทริบิวต์ยังสร้างตัวแปรทั่วโลก (ดูstackoverflow.com/questions/3434278/... ) ดังนั้นคุณอาจรวมทั้งการใช้id
แอตทริบิวต์เป็นเป้าหมายของ URL ที่ระบุส่วนที่ตามที่ตั้งใจไว้
บน bitbucket.org โซลูชันที่โหวตจะไม่ทำงาน แต่เมื่อใช้ส่วนหัว (ที่มี ##) คุณสามารถอ้างอิงพวกเขาเป็นจุดยึดได้โดยใส่คำนำหน้าเป็น # markdown-header-my-header-name โดยที่ # markdown-header- เป็นคำนำหน้าโดยนัยที่สร้างโดย renderer และ ส่วนที่เหลือเป็นชื่อส่วนหัวที่ต่ำกว่าพร้อมเครื่องหมายขีดกลางแทนที่ช่องว่าง
ตัวอย่าง
## My paragraph title
จะสร้างสมอที่แน่นอนเช่นนี้
#markdown-header-my-paragraph-title
URL ทั้งหมดก่อนการอ้างอิงจุดยึดแต่ละอันเป็นทางเลือกเช่น
[Some text](#markdown-header-my-paragraph-title)
เทียบเท่ากับ
[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title)
โดยมีเงื่อนไขว่าพวกเขาอยู่ในหน้าเดียวกัน
ที่มา: https://bitbucket.org/tutorials/markdowndemo/overview (แก้ไขแหล่งที่มาของไฟล์. md นี้และดูว่ามีการสร้างจุดยึด)
## My paragraph title
จะสร้างจุดยึดต่อไปนี้user-content-my-paragraph-title
เพื่อให้คุณสามารถอ้างอิงได้ด้วย [ข้อความบางข้อความ] (# user-content-my-ย่อหน้า-title) อย่างไรก็ตามฉันไม่พบเอกสารอย่างเป็นทางการสำหรับเรื่องนี้
[linky](#header)
เป็นจุดยึดที่เพียงพอและทำงานเมื่อเผยแพร่ไปยัง Gist ด้วย
name
การใช้งาน การใช้id
ไม่จำเป็นใน HTML 5 และจะสร้างตัวแปรทั่วโลกใน JavaScript ของคุณ
ดูข้อมูลจำเพาะ HTML 5, 5.9.8 การนำทางไปยังตัวระบุส่วน - ทั้งสองid
และname
ถูกใช้
มันเป็นสิ่งสำคัญที่จะรู้ว่าเบราว์เซอร์ส่วนใหญ่ยังคงเปิดรหัสลงในตัวแปรทั่วโลก นี่คือการทดสอบอย่างรวดเร็ว ใช้name
หลีกเลี่ยงการสร้าง Globals และความขัดแย้งที่อาจเกิดขึ้น
ตัวอย่างการใช้ชื่อ:
Take me to [pookie](#pookie)
และสมอเรือปลายทาง:
### <a name="pookie"></a>Some heading
name
และid
แตกต่างกัน
fineuploader
คุณจะไม่สามารถใช้fineuploader
โมดูลได้ การหลีกเลี่ยงการสร้างรูปกลมที่ไม่จำเป็นช่วยหลีกเลี่ยงความขัดแย้งเหล่านั้น
Markdown Anchorสนับสนุน hashmark ดังนั้นลิงก์ไปยังจุดยึดในหน้าก็จะเป็น[Pookie](#pookie)
สร้างจุดยึดไม่สนับสนุนจริงใน Gruber Markdown แต่ในการใช้งานอื่น ๆ เช่นMarkdown พิเศษ
ใน Markdown พิเศษ ID {#pookie}
สมอถูกผนวกเข้ากับส่วนหัวหรือส่วนหัวย่อยด้วย
Github Flavoured Markdownในหน้าพื้นที่เก็บข้อมูล Git (แต่ไม่ใช่ใน Gists) สร้างจุดยึดโดยอัตโนมัติด้วยแท็กมาร์กอัปหลายแท็กในส่วนหัวทั้งหมด (h1, h2, h3, ฯลฯ ) รวมถึง:
id="user-content-HEADERTEXT"
class="anchor"
href="#HEADERTEXT"
aria-hidden="true"
(นี่เป็นไอคอนลิงก์ svg ที่แสดงเมื่อวางเมาส์เหนือ)ไม่รวมไอคอน aria / svg เมื่อมีคนเขียน:
# Header Title
Github สร้าง:
<h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>
ดังนั้นเราไม่จำเป็นต้องทำอะไรเพื่อสร้างลิงก์ส่วนหัวและสามารถลิงก์ไปยังลิงก์เหล่านั้นด้วย:
[Header Title](#header-title)
ไม่มีไวยากรณ์ที่พร้อมใช้งานในการทำเช่นนี้ในไวยากรณ์ Markdown ดั้งเดิม แต่Markdown Extraมีวิธีการอย่างน้อยกำหนด ID ให้กับส่วนหัว - ซึ่งคุณสามารถเชื่อมโยงไปได้อย่างง่ายดาย โปรดทราบว่าคุณสามารถใช้ HTML ปกติในทั้ง Markdown และ Markdown Extra และname
แอตทริบิวต์นั้นถูกแทนที่โดยid
แอตทริบิวต์ใน HTML เวอร์ชันที่ใหม่กว่า
สำหรับใครก็ตามที่กำลังมองหาวิธีแก้ไขปัญหานี้ใน GitBook นี่คือวิธีที่ฉันทำให้มันทำงาน (ใน GitBook) คุณต้องติดแท็กส่วนหัวอย่างชัดเจนเช่นนี้:
# My Anchored Heading {#my-anchor}
จากนั้นลิงก์ไปยังจุดยึดนี้เช่นนี้
[link to my anchored heading](#my-anchor)
วิธีแก้ไขปัญหาและตัวอย่างเพิ่มเติมสามารถดูได้ที่นี่: https://seadude.gitbooks.io/learn-gitbook/
สายไปงานเลี้ยง rmarkdown
แต่ผมคิดว่านอกจากนี้อาจจะมีประโยชน์สำหรับคนที่ทำงานด้วย ในrmarkdown
มีการสนับสนุนในตัวสำหรับการอ้างอิงถึงส่วนหัวในเอกสารของคุณ
ส่วนหัวใด ๆ ที่กำหนดโดย
# Header
สามารถอ้างอิงได้โดย
get me back to that [header](#header)
ต่อไปนี้เป็น.rmd
ไฟล์แบบสแตนด์อโลนขั้นต่ำที่แสดงพฤติกรรมนี้ มันสามารถถักไปและ.pdf
.html
---
title: "references in rmarkdown"
output:
html_document: default
pdf_document: default
---
# Header
Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text.
Go back to that [header](#header).
ใช้ Markdown ล่าสุดคุณควรจะสามารถใช้ไวยากรณ์ต่อไปนี้:
[](){:name='anchorName'}
สิ่งนี้ควรสร้าง HTML ต่อไปนี้:
<a name="anchorName"></a>
หากคุณต้องการให้สมอมีข้อความเพียงเพิ่มสมอข้อความในวงเล็บเหลี่ยม:
[Some Text](){:name='anchorName'}
Maruku
รู้เพียงเกี่ยวกับไวยากรณ์นี้ ดู babelmark
สำหรับเครื่องกำเนิดไฟฟ้า markdown ทั่วไป คุณมีสมอที่สร้างขึ้นด้วยตนเองอย่างง่ายในแต่ละส่วนหัว ตัวอย่างเช่นที่มีแพนโดกสมอที่สร้างขึ้นจะเป็นกระสุนตัวเล็กของเคบับที่ส่วนหัวของคุณ
echo "# Hello, world\!" | pandoc
# => <h1 id="hello-world">Hello, world!</h1>
ขึ้นอยู่กับว่าคุณใช้ parser ตัวแยกวิเคราะห์ตัวใดสมอสามารถเปลี่ยนได้ (ใช้ตัวอย่างของ symbolrush และ La muerte Peluda ตอบมันต่างกัน!) เห็นนี้babelmarkที่คุณสามารถดูแองเคอที่สร้างขึ้นอยู่กับการดำเนินการของคุณ markdown