Skip to content

หัวเรื่องพร้อม ID (Heading IDs) ​

Heading IDs เป็นความสามารถแบบขยายของ Markdown ที่ให้เพิ่มตัวระบุ (ID) แบบกำหนดเองกับหัวเรื่อง เพื่อสร้างลิงก์ที่แม่นยำและควบคุมโครงสร้างเอกสารได้สะดวก

ไวยากรณ์พื้นฐาน ​

เพิ่ม ID ให้หัวเรื่อง ​

ใช้ไวยากรณ์วงปีกกา วางหลังข้อความของหัวเรื่อง:

markdown
## My Heading {#custom-id}

ผลลัพธ์การเรนเดอร์:

เอาต์พุต HTML จะมี ID ที่กำหนดกับองค์ประกอบหัวเรื่อง:

html
<h2 id="custom-id">My Heading</h2>

ID สำหรับหลายระดับหัวเรื่อง ​

หัวเรื่องทุกระดับสามารถกำหนด ID ได้:

markdown
# First Level Heading {#first-level}

## Second Level Heading {#second-level}

### Third Level Heading {#third-level}

#### Fourth Level Heading {#fourth-level}

สถานการณ์การใช้งาน ​

เมื่อมี ID แบบกำหนดเอง คุณสามารถสร้างลิงก์ไปยังส่วนเฉพาะในเอกสารได้:

markdown
[Click to jump to my heading](#custom-id)

...other content...

## My Heading {#custom-id}

ผลลัพธ์การเรนเดอร์:

เมื่อคลิกลิงก์ ระบบจะเลื่อนไปยังหัวเรื่องที่มี custom-id โดยตรง

ลิงก์จากภายนอกไปยังส่วนเฉพาะของเอกสาร ​

ID แบบกำหนดเองช่วยให้ลิงก์จากเอกสารอื่นไปยังเนื้อหาเฉพาะทำได้สะดวก:

markdown
[Link to specific section of other document](other-doc.html#specific-section)

แชร์ส่วนเฉพาะผ่าน URL ​

หัวเรื่องที่มี ID สามารถแชร์ผ่าน URL ชี้ไปยังส่วนที่ต้องการได้:

https://www.markdownlang.com/documentation.html#installation-guide

การใช้งานขั้นสูง ​

ID สำหรับหัวเรื่องหลายคำ ​

เมื่อหัวเรื่องมีหลายคำ มักใช้เครื่องหมายขีดกลางเชื่อมคำใน ID:

markdown
## Installation and Configuration Guide {#installation-and-configuration}

การสร้างสารบัญและ Heading IDs ​

ตัวเรนเดอร์ Markdown จำนวนมากจะสร้าง ID อัตโนมัติจากข้อความหัวเรื่อง การกำหนด ID เองทำให้ลิงก์สารบัญคงที่แม้เปลี่ยนข้อความหัวเรื่อง:

markdown
## Getting Started Guide {#getting-started}

แม้ต่อมาคุณจะเปลี่ยนหัวเรื่องเป็น “Getting Started” ลิงก์ยังคงใช้ได้เพราะ ID เหมือนเดิม

การทำให้เป็นสากลและภาษาที่ไม่ใช่อังกฤษ ​

สำหรับหัวเรื่องที่ไม่ใช่ภาษาอังกฤษ การกำหนด ID ภาษาอังกฤษช่วยให้มีตัวระบุคงที่และอ่านง่าย:

markdown
## Installation Instructions {#installation}

## Usage Guide {#usage}

## Frequently Asked Questions {#faq}

ความเข้ากันได้และความแตกต่างในการใช้งาน ​

สถานะการรองรับบนแพลตฟอร์มต่าง ๆ ​

แพลตฟอร์ม/เครื่องมือรองรับ Heading IDไวยากรณ์
GitHub Markdown✅{#id}
GitLab Markdown✅{#id}
Jekyll (kramdown)✅{:#id} หรือ {#id}
Hugo✅{#id}
CommonMark❌ไม่รองรับ
VitePress✅{#id}
Pandoc✅{#id}

กฎการสร้าง ID อัตโนมัติ ​

เมื่อไม่ได้กำหนด ID เอง ตัวเรนเดอร์ส่วนใหญ่จะสร้างจากข้อความหัวเรื่อง:

  1. แปลงเป็นตัวพิมพ์เล็ก
  2. ลบ/แทนที่อักขระพิเศษ
  3. แทนที่ช่องว่างด้วยขีดกลาง
  4. ลบขีดกลางซ้ำ
  5. ทำให้ ID ไม่ซ้ำ (มักเติมเลขต่อท้าย)

ตัวอย่าง:

HeadingAuto-generated ID
## Getting Started#getting-started
## FAQ & Help#faq-help
## Quick Start#quick-start หรือ #section-1 (ขึ้นกับแพลตฟอร์ม)

แนวปฏิบัติที่ดี ​

ข้อแนะนำการตั้งชื่อ ID ​

markdown
✅ แนวทางที่แนะนำ:

1. **ใช้ ID ที่สั้นและสื่อความหมาย**:
   - `{#installation}`
   - `{#api-reference}`
   - `{#troubleshooting}`

2. **คงรูปแบบการตั้งชื่อให้สม่ำเสมอ**:
   - ตัวพิมพ์เล็กทั้งหมด
   - ใช้ขีดกลางคั่นคำ
   - เลี่ยง underscore หรือ camelCase

3. **คงความเสถียรของ ID**:
   - หลีกเลี่ยงการเปลี่ยน ID บ่อย ๆ
   - คง ID เดิมเมื่อแก้ไขข้อความหัวเรื่อง

❌ ควรหลีกเลี่ยง:

1. ใช้อักขระพิเศษ (เช่น `!@#$%^&*()`)
2. ใช้ ID ที่ไม่บอกความหมาย (เช่น `{#section1}`)
3. ID ยาวเกินไป
4. ใช้ช่องว่างหรือเครื่องหมายวรรคตอน

โครงสร้างเอกสารและ Heading IDs ​

สำหรับเอกสารขนาดใหญ่ แนะนำให้กำหนด ID มาตรฐานกับบทหลักเพื่อช่วยการนำทาง:

markdown
# Product Documentation {#product-docs}

## Introduction {#introduction}

## Installation {#installation}

### Windows Installation {#installation-windows}

### macOS Installation {#installation-macos}

### Linux Installation {#installation-linux}

## Configuration {#configuration}

## API Reference {#api-reference}

## FAQ {#faq}

ตัวอย่างการใช้งานจริง ​

Heading IDs ในเอกสารเทคนิค ​

ช่วยให้ผู้ใช้ลิงก์ไปยังส่วนเฉพาะได้โดยตรง:

markdown
# API Documentation {#api-documentation}

## Authentication {#authentication}

### Getting API Keys {#get-api-key}

### OAuth Authentication {#oauth}

## Endpoints {#endpoints}

### User Endpoints {#endpoints-users}

### Product Endpoints {#endpoints-products}

Heading IDs ในงานวิชาการ ​

ใช้สร้างการอ้างอิงตัดกัน (cross-reference):

markdown
# Research Methodology {#methodology}

As shown in the [Research Results](#results), our method performs well in multiple test cases.

...

# Research Results {#results}

This section presents the experimental results described in our [Research Methodology](#methodology).

แนวทางแก้ปัญหาที่พบบ่อย ​

Heading IDs ใช้งานไม่ได้ ​

หาก Heading IDs ไม่ทำงาน:

  1. ตรวจสอบว่าแพลตฟอร์มรองรับการกำหนด ID ให้หัวเรื่อง
  2. ยืนยันว่าไวยากรณ์ถูกต้อง (โดยทั่วไป {#id})
  3. ตรวจสอบว่า ID ไม่มีอักขระผิดกติกา
  4. ลองใช้ตัวเรนเดอร์ Markdown อื่น

การชนกันของ ID ​

หากมี ID ซ้ำกันในเอกสารเดียวกัน อาจทำให้เกิดพฤติกรรมลิงก์ที่คาดเดาไม่ได้:

markdown
## Issue {#issue} <!-- First ID -->

...

## Common Issues {#issue} <!-- Duplicate ID, may cause problems -->

แนวทางหลีกเลี่ยงการชนกันของ ID:

markdown
## Issue {#issue-description}

...

## Common Issues {#common-issues}

ช่องว่างและอักขระพิเศษ ​

ตัวเรนเดอร์บางตัวจัดการช่องว่าง/อักขระพิเศษใน ID ไม่เหมือนกัน:

markdown
<!-- อาจมีปัญหาในบางแพลตฟอร์ม -->
## Advanced Settings {#advanced settings}

<!-- ทางเลือกที่ปลอดภัยกว่่า -->
## Advanced Settings {#advanced-settings}

ไวยากรณ์ที่เกี่ยวข้อง ​

เครื่องมือและปลั๊กอิน ​

สร้างสารบัญอัตโนมัติ ​

มีเครื่องมือจำนวนมากที่สร้างสารบัญจากหัวเรื่องและ ID ได้อัตโนมัติ:

markdown
[[toc]]

# Chapter 1 {#chapter-1}

## Section 1.1 {#section-1-1}

# Chapter 2 {#chapter-2}

เครื่องมือตรวจสอบ ID ​

  • markdownlint: ตั้งค่าเพื่อตรวจสอบความสม่ำเสมอของ Heading ID ได้
  • remark-lint: มีการตรวจสอบและแก้ไขอัตโนมัติของ Heading ID
  • markdown-toc: สร้างสารบัญพร้อมลิงก์อัตโนมัติ

Heading IDs เป็นเครื่องมือสำคัญที่ช่วยเพิ่มการใช้งานและการเข้าถึงของเอกสาร Markdown ด้วยการใช้ ID แบบมาตรฐาน คุณสามารถสร้างโครงสร้างลิงก์ที่คงทน ช่วยการนำทางและอ้างอิง ทำให้เอกสารดูเป็นมืออาชีพและเป็นมิตรกับผู้ใช้มากขึ้น

สร้างโดย www.markdownlang.com