เรียนรู้วิธีใช้การจัดรูปแบบพื้นฐานกับโน้ตของคุณ โดยใช้ [Markdown](https://daringfireball.net/projects/markdown/) สำหรับไวยากรณ์การจัดรูปแบบขั้นสูงเพิ่มเติม ดูได้ที่ [[ไวยากรณ์การจัดรูปแบบขั้นสูง]]
## ย่อหน้า
ในการสร้างย่อหน้าใน Markdown ให้ใช้ **บรรทัดว่าง** เพื่อแยกบล็อกข้อความ แต่ละบล็อกข้อความที่คั่นด้วยบรรทัดว่างจะถูกจัดเป็นย่อหน้าที่แยกกัน
```md
This is a paragraph.
This is another paragraph.
```
This is a paragraph.
This is another paragraph.
บรรทัดว่างระหว่างข้อความจะสร้างย่อหน้าแยกกัน นี่คือการทำงานค่าเริ่มต้นใน Markdown
> [!tip]- ช่องว่างหลายตัว
> ช่องว่างหลายตัวที่อยู่ติดกันภายในและระหว่างย่อหน้าจะถูกยุบเป็นช่องว่างเดียวเมื่อแสดงใน[[มุมมองและโหมดแก้ไข#มุมมองการอ่าน|มุมมองการอ่าน]]หรือบนเว็บไซต์ [[แนะนำ Obsidian Publish|Obsidian Publish]]
>
> ```md
> Multiple adjacent spaces
>
>
>
> and multiple newlines between paragraphs.
> ```
>
> > Multiple adjacent spaces
> >
> >
> >
> > and multiple newlines between paragraphs.
>
> หากคุณต้องการป้องกันไม่ให้ช่องว่างถูกยุบ หรือต้องการเพิ่มช่องว่างหลายตัว คุณสามารถใช้แท็ก HTML ` ` (ช่องว่างแบบไม่ตัด) หรือ `<br>` (ขึ้นบรรทัดใหม่) ได้
### การขึ้นบรรทัดใหม่
ตามค่าเริ่มต้นใน Obsidian การกด `Enter` หนึ่งครั้งจะสร้างบรรทัดใหม่ในโน้ตของคุณ แต่จะถูกจัดเป็น *ส่วนต่อเนื่อง* ของย่อหน้าเดิมในผลลัพธ์ที่แสดง ตามพฤติกรรมทั่วไปของ Markdown เพื่อแทรกการขึ้นบรรทัดใหม่ *ภายใน* ย่อหน้าโดยไม่เริ่มย่อหน้าใหม่ คุณสามารถ:
- เพิ่ม **ช่องว่างสองตัว** ที่ท้ายบรรทัดก่อนกด `Enter` หรือ
- ใช้ทางลัด `Shift+Enter` เพื่อแทรกการขึ้นบรรทัดใหม่โดยตรง
> [!question]- ทำไมการกด `Enter` หลายครั้งไม่สร้างการขึ้นบรรทัดใหม่เพิ่มในมุมมองการอ่าน?
> ใน Markdown การกด `Enter` เพียงครั้งเดียวจะถูกละเว้น และการกด `Enter` ติดต่อกันหลายครั้งจะได้ผลลัพธ์เป็นเพียงย่อหน้าใหม่หนึ่งย่อหน้า พฤติกรรมนี้สอดคล้องกับกฎการตัดบรรทัดแบบซอฟต์ของ Markdown ซึ่งบรรทัดว่างเพิ่มเติมจะไม่สร้างการขึ้นบรรทัดใหม่หรือย่อหน้าเพิ่ม แต่จะถูกยุบเป็นการแบ่งย่อหน้าเดียว นี่คือวิธีที่ Markdown จัดการข้อความตามค่าเริ่มต้น เพื่อให้ย่อหน้าลื่นไหลอย่างเป็นธรรมชาติโดยไม่มีการตัดที่ไม่คาดคิด
Obsidian มีการตั้งค่า **[[การตั้งค่า#การตัดบรรทัดแบบเข้มงวด|การตัดบรรทัดแบบเข้มงวด]]** ซึ่งทำให้ Obsidian ปฏิบัติตามข้อกำหนดมาตรฐานของ Markdown สำหรับการขึ้นบรรทัดใหม่
เพื่อเปิดใช้งานฟีเจอร์นี้:
1. เปิด **[[การตั้งค่า]]**
2. ไปที่แท็บ **เอดิเตอร์**
3. เปิดใช้งาน **การตัดบรรทัดแบบเข้มงวด**
เมื่อเปิดใช้งาน **การตัดบรรทัดแบบเข้มงวด** ใน Obsidian การขึ้นบรรทัดใหม่จะมีพฤติกรรมสามแบบที่แตกต่างกัน ขึ้นอยู่กับวิธีที่บรรทัดถูกแยก:
**Enter เดียวโดยไม่มีช่องว่าง**: การกด `Enter` เพียงครั้งเดียวโดยไม่มีช่องว่างท้ายบรรทัดจะรวมสองบรรทัดที่แยกกันเป็นบรรทัดเดียวเมื่อแสดงผล
```md
line one
line two
```
แสดงผลเป็น:
line one line two
**Enter เดียวโดยมีช่องว่างท้ายบรรทัดสองตัวขึ้นไป**: หากคุณเพิ่มช่องว่างสองตัวขึ้นไปที่ท้ายบรรทัดแรกก่อนกด `Enter` ทั้งสองบรรทัดจะยังคงเป็นส่วนของย่อหน้าเดิม แต่จะถูกตัดด้วยการขึ้นบรรทัดใหม่ (HTML `<br>` element) ในตัวอย่างนี้เราจะใช้ขีดล่างสองตัวแทนช่องว่าง
```md
line three__
line four
```
แสดงผลเป็น:
line three<br>
line four
**Enter สองครั้ง (โดยมีหรือไม่มีช่องว่างท้ายบรรทัด)**: การกด `Enter` สองครั้ง (หรือมากกว่า) จะแยกบรรทัดเป็นสองย่อหน้าที่แตกต่างกัน (HTML `<p>` elements) ไม่ว่าคุณจะเพิ่มช่องว่างที่ท้ายบรรทัดแรกหรือไม่
```md
line five
line six
```
แสดงผลเป็น:
<p>line five</p>
<p>line six</p>
## หัวเรื่อง
ในการสร้างหัวเรื่อง ให้เพิ่มสัญลักษณ์ `#` สูงสุดหกตัวก่อนข้อความหัวเรื่องของคุณ จำนวนสัญลักษณ์ `#` จะกำหนดระดับของหัวเรื่อง (ดังที่แสดงใน [[โครงเรื่อง]])
```md
# This is a heading 1
## This is a heading 2
### This is a heading 3
#### This is a heading 4
##### This is a heading 5
###### This is a heading 6
```
%% These headings use HTML to avoid cluttering the Outline/Table of contents %%
<h1>นี่คือหัวเรื่อง 1</h1>
<h2>นี่คือหัวเรื่อง 2</h2>
<h3>นี่คือหัวเรื่อง 3</h3>
<h4>นี่คือหัวเรื่อง 4</h4>
<h5>นี่คือหัวเรื่อง 5</h5>
<h6>นี่คือหัวเรื่อง 6</h6>
## ตัวหนา ตัวเอียง ไฮไลต์
การจัดรูปแบบข้อความยังสามารถทำได้โดยใช้ [[ทางลัดการแก้ไข]]
| สไตล์ | ไวยากรณ์ | ตัวอย่าง | ผลลัพธ์ |
|-|-|-|-|
| ตัวหนา | `** **` หรือ `__ __` | `**Bold text**` | **Bold text** |
| ตัวเอียง | `* *` หรือ `_ _` | `*Italic text*` | *Italic text* |
| ขีดทับ | `~~ ~~` | `~~Striked out text~~` | ~~Striked out text~~ |
| ไฮไลต์ | `== ==` | `==Highlighted text==` | ==Highlighted text== |
| ตัวหนาและตัวเอียงซ้อน | `** **` และ `_ _` | `**Bold text and _nested italic_ text**` | **Bold text and _nested italic_ text** |
| ตัวหนาและตัวเอียง | `*** ***` หรือ `___ ___` | `***Bold and italic text***` | ***Bold and italic text*** |
สามารถบังคับให้การจัดรูปแบบแสดงเป็นข้อความธรรมดาได้โดยเพิ่มแบ็กสแลช `\` ไว้ข้างหน้า
\*\*This line will not be bold\*\*
```markdown
\*\*This line will not be bold\*\*
```
\**This line will be italic and show the asterisks*\*
```markdown
\**This line will be italic and show the asterisks*\*
```
## ลิงก์ภายใน
Obsidian รองรับสองรูปแบบสำหรับ [[ลิงค์ภายใน]] ระหว่างโน้ต:
- Wikilink: `[[Three laws of motion]]`
- Markdown: `[Three laws of motion](Three%20laws%20of%20motion.md)`
## ลิงก์ภายนอก
หากคุณต้องการลิงก์ไปยัง URL ภายนอก คุณสามารถสร้างลิงก์แบบอินไลน์โดยใส่ข้อความลิงก์ในวงเล็บเหลี่ยม (`[ ]`) แล้วตามด้วย URL ในวงเล็บ (`( )`)
```md
[Obsidian Help](https://help.obsidian.md)
```
[Obsidian Help](https://help.obsidian.md)
คุณยังสามารถสร้างลิงก์ภายนอกไปยังไฟล์ในคลังอื่นได้ โดยลิงก์ไปยัง [[Obsidian URI|Obsidian URI]]
```md
[Note](obsidian://open?vault=MainVault&file=Note.md)
```
### การ Escape ช่องว่างในลิงก์
หาก URL ของคุณมีช่องว่าง คุณต้อง escape โดยแทนที่ด้วย `%20`
```md
[My Note](obsidian://open?vault=MainVault&file=My%20Note.md)
```
คุณยังสามารถ escape URL โดยใส่ในวงเล็บมุม (`< >`) ได้
```md
[My Note](<obsidian://open?vault=MainVault&file=My Note.md>)
```
## รูปภาพภายนอก
คุณสามารถเพิ่มรูปภาพด้วย URL ภายนอก โดยเพิ่มสัญลักษณ์ `!` ก่อน [[#ลิงก์ภายนอก|ลิงก์ภายนอก]]
```md

```

คุณสามารถเปลี่ยนขนาดรูปภาพได้ โดยเพิ่ม `|640x480` ไปยังปลายทางของลิงก์ โดยที่ 640 คือความกว้างและ 480 คือความสูง
```md

```
หากคุณระบุเฉพาะความกว้าง รูปภาพจะปรับขนาดตามอัตราส่วนภาพดั้งเดิม ตัวอย่างเช่น:
```md

```
> [!tip]- เคล็ดลับ
> หากคุณต้องการเพิ่มรูปภาพจากภายในคลังของคุณ คุณยังสามารถ [[ฝังไฟล์#ฝังรูปภาพในโน้ต|ฝังรูปภาพในโน้ต]] ได้
## คำคม
คุณสามารถอ้างอิงข้อความโดยเพิ่มสัญลักษณ์ `>` ก่อนข้อความ
```md
> Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.
\- Doug Engelbart, 1961
```
> Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.
\- Doug Engelbart, 1961
> [!tip]- เคล็ดลับ
> คุณสามารถเปลี่ยนคำคมของคุณเป็น [[บล็อกเน้น|บล็อกเน้น]] โดยเพิ่ม `[!info]` เป็นบรรทัดแรกในคำคม
## รายการ
คุณสามารถสร้างรายการที่ไม่เรียงลำดับโดยเพิ่ม `-`, `*` หรือ `+` ก่อนข้อความ
```md
- First list item
- Second list item
- Third list item
```
- First list item
- Second list item
- Third list item
ในการสร้างรายการลำดับเลข ให้เริ่มแต่ละบรรทัดด้วยตัวเลขตามด้วยสัญลักษณ์ `.` หรือ `)`
```md
1. First list item
2. Second list item
3. Third list item
```
1. First list item
2. Second list item
3. Third list item
```md
1) First list item
2) Second list item
3) Third list item
```
1) First list item
2) Second list item
3) Third list item
คุณสามารถใช้ `Shift+Enter` เพื่อแทรก [[#การขึ้นบรรทัดใหม่|การขึ้นบรรทัดใหม่]] ภายในรายการลำดับเลขโดยไม่เปลี่ยนการนับเลข
```md
1. First list item
2. Second list item
3. Third list item
4. Fourth list item
5. Fifth list item
6. Sixth list item
```
### รายการงาน
ในการสร้างรายการงาน ให้เริ่มแต่ละรายการด้วยยัติภังค์และช่องว่างตามด้วย `[ ]`
```md
- [x] This is a completed task.
- [ ] This is an incomplete task.
```
- [x] This is a completed task.
- [ ] This is an incomplete task.
คุณสามารถสลับสถานะงานในมุมมองการอ่านโดยเลือกที่กล่องกาเครื่องหมาย
> [!tip]- เคล็ดลับ
> คุณสามารถใช้อักขระใดก็ได้ภายในวงเล็บเพื่อทำเครื่องหมายว่าเสร็จสมบูรณ์
>
> ```md
> - [x] Milk
> - [?] Eggs
> - [-] Eggs
> ```
>
> - [x] Milk
> - [?] Eggs
> - [-] Eggs
### รายการซ้อน
คุณสามารถซ้อนรายการประเภทใดก็ได้—รายการลำดับเลข รายการที่ไม่เรียงลำดับ หรือรายการงาน—ภายใต้รายการประเภทอื่นใดก็ได้
ในการสร้างรายการซ้อน ให้เยื้องรายการหนึ่งรายการขึ้นไป คุณสามารถผสมประเภทรายการภายในโครงสร้างซ้อนได้:
```md
1. First list item
1. Ordered nested list item
2. Second list item
- Unordered nested list item
```
1. First list item
1. Ordered nested list item
2. Second list item
- Unordered nested list item
ในทำนองเดียวกัน คุณสามารถสร้างรายการงานซ้อนโดยเยื้องรายการหนึ่งรายการขึ้นไป:
```md
- [ ] Task item 1
- [ ] Subtask 1
- [ ] Task item 2
- [ ] Subtask 1
```
- [ ] Task item 1
- [ ] Subtask 1
- [ ] Task item 2
- [ ] Subtask 1
ใช้ `Tab` หรือ `Shift+Tab` เพื่อเยื้องหรือลดการเยื้องรายการที่เลือกเพื่อจัดระเบียบได้อย่างง่ายดาย
## เส้นแนวนอน
คุณสามารถใช้ดาวสามตัวขึ้นไป `***` ยัติภังค์ `---` หรือขีดล่าง `___` บนบรรทัดของมันเองเพื่อเพิ่มเส้นแนวนอน คุณยังสามารถแยกสัญลักษณ์ด้วยช่องว่างได้
```md
***
****
* * *
---
----
- - -
___
____
_ _ _
```
***
## โค้ด
คุณสามารถจัดรูปแบบโค้ดทั้งแบบอินไลน์ภายในประโยค หรือในบล็อกของมันเอง
### โค้ดอินไลน์
คุณสามารถจัดรูปแบบโค้ดภายในประโยคโดยใช้แบ็กทิกเดี่ยว
```md
Text inside `backticks` on a line will be formatted like code.
```
Text inside `backticks` on a line will be formatted like code.
หากคุณต้องการใส่แบ็กทิกในบล็อกโค้ดอินไลน์ ให้ใส่แบ็กทิกคู่ล้อมรอบดังนี้: inline ``code with a backtick ` inside``
### บล็อกโค้ด
ในการจัดรูปแบบโค้ดเป็นบล็อก ให้ใส่แบ็กทิกสามตัวขึ้นไปหรือทิลดาสามตัวขึ้นไปล้อมรอบ
~~~
`````
cd ~/Desktop
`````
~~~
`````
~~~
cd ~/Desktop
~~~
`````
`````md
cd ~/Desktop
`````
คุณยังสามารถสร้างบล็อกโค้ดโดยเยื้องข้อความด้วย `Tab` หรือช่องว่าง 4 ตัว
`````md
cd ~/Desktop
`````
คุณสามารถเพิ่มการเน้นสีไวยากรณ์ให้กับบล็อกโค้ดได้ โดยเพิ่มรหัสภาษาหลังชุดแบ็กทิกแรก
~~~md
`````js
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}
}
`````
~~~
`````js
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}
}
`````
Obsidian ใช้ Prism สำหรับการเน้นสีไวยากรณ์ สำหรับข้อมูลเพิ่มเติม ดูได้ที่ [ภาษาที่รองรับ](https://prismjs.com/#supported-languages)
> [!info]+ PrismJS และมุมมองการแก้ไข
> [[มุมมองและโหมดแก้ไข#โหมดซอร์ส|โหมดซอร์ส]] และ [[มุมมองและโหมดแก้ไข#แสดงตัวอย่างแบบสด|แสดงตัวอย่างแบบสด]] ไม่รองรับ PrismJS และอาจแสดงการเน้นสีไวยากรณ์แตกต่างกัน
#### การซ้อนบล็อกโค้ด
เมื่อคุณต้องรวมบล็อกโค้ดภายในบล็อกโค้ดอื่น (เช่น เมื่อเขียนเอกสารเกี่ยวกับวิธีใช้บล็อกโค้ด) คุณสามารถใช้แบ็กทิกหรือทิลดามากกว่าสามตัวสำหรับบล็อกโค้ดด้านนอก
ในการซ้อนบล็อกโค้ด ให้ใช้แบ็กทิก (หรือทิลดา) สี่ตัวขึ้นไปสำหรับบล็อกด้านนอก ในขณะที่บล็อกด้านในใช้สามตัว:
`````md
````md
Here's how to create a code block:
```js
console.log("Hello world")
```
````
`````
คุณยังสามารถผสมแบ็กทิกกับทิลดาได้ ซึ่งมีประโยชน์อย่างยิ่งเมื่อทำงานกับโค้ดที่สร้างบล็อกโค้ดอื่น:
`````md
````md
```dataviewjs
dv.paragraph(`
~~~mermaid
graph TD
A --> B
~~~
`)
```
````
`````
หลักการสำคัญคือบล็อกโค้ดด้านนอกต้องใช้อักขระรั้ว (แบ็กทิกหรือทิลดา) **มากกว่า** บล็อกโค้ดด้านใน หรือใช้อักขระรั้วประเภทที่แตกต่างกัน
## เชิงอรรถ
คุณสามารถเพิ่มเชิงอรรถ[^footnote]ลงในโน้ตของคุณโดยใช้ไวยากรณ์ต่อไปนี้:
[^footnote]: นี่คือเชิงอรรถ
```md
This is a simple footnote[^1].
[^1]: This is the referenced text.
[^2]: Add 2 spaces at the start of each new line.
This lets you write footnotes that span multiple lines.
[^note]: Named footnotes still appear as numbers, but can make it easier to identify and link references.
```
คุณยังสามารถใส่เชิงอรรถแบบอินไลน์ในประโยคได้ โปรดสังเกตว่าเครื่องหมาย caret อยู่นอกวงเล็บ
```md
You can also use inline footnotes. ^[This is an inline footnote.]
```
> [!note] หมายเหตุ
> เชิงอรรถแบบอินไลน์ใช้งานได้เฉพาะในมุมมองการอ่านเท่านั้น ไม่ใช่ในแสดงตัวอย่างแบบสด
ใช้ [[มุมมองเชิงอรรถ]] เพื่อดูเชิงอรรถทั้งหมดในโน้ต
## ความคิดเห็น
คุณสามารถเพิ่มความคิดเห็นโดยใส่ข้อความในเครื่องหมาย `%%` ความคิดเห็นจะมองเห็นได้เฉพาะในมุมมองการแก้ไขเท่านั้น
```md
This is an %%inline%% comment.
%%
This is a block comment.
Block comments can span multiple lines.
%%
```
## การ Escape ไวยากรณ์ Markdown
ในบางกรณี คุณอาจต้องแสดงอักขระพิเศษใน Markdown เช่น `*`, `_` หรือ `#` โดยไม่ให้เกิดการจัดรูปแบบ ในการแสดงอักขระเหล่านี้ตามตัวอักษร ให้วางแบ็กสแลช (`\`) ไว้ข้างหน้า
> [!example] อักขระที่มักต้อง escape
>
> - ดอกจัน: `\*`
> - ขีดล่าง: `\_`
> - แฮชแท็ก: `\#`
> - แบ็กทิก: `` \` ``
> - ไปป์ (ใช้ในตาราง): `\|`
> - ทิลดา: `\~`
```md
\*This text will not be italicized\*.
```
\*This text will not be italicized\*.
เมื่อทำงานกับรายการแบบลำดับเลข คุณอาจต้อง escape จุดหลังตัวเลขเพื่อป้องกันการจัดรูปแบบรายการอัตโนมัติ ให้วางแบ็กสแลช (`\`) ก่อนจุด **ไม่ใช่** ก่อนตัวเลข
```md
1\. This won't be a list item.
```
1\. This won't be a list item.
## ข้อมูลเพิ่มเติม
เพื่อเรียนรู้ไวยากรณ์การจัดรูปแบบขั้นสูงเพิ่มเติม เช่น ตาราง ไดอะแกรม และนิพจน์คณิตศาสตร์ ดูได้ที่ [[ไวยากรณ์การจัดรูปแบบขั้นสูง]]
เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Obsidian แปลง Markdown ดูได้ที่ [[Obsidian Flavored Markdown]]