← กลับไปที่บล็อก

สืบค้นเนื้อหาเว็บที่บันทึกไว้ด้วย Obsidian Dataview

· Save Team
obsidiandataviewpluginsmarkdownpkmpower-user

คุณบันทึกเนื้อหาเว็บลง Obsidian มาหลายสัปดาห์แล้ว vault ของคุณมีบทความที่ตัดมา 50 หรืออาจ 100 บทความ แต่การหาบทความที่ถูกต้องหมายความว่าต้องเลื่อนดูโฟลเดอร์หรืออาศัยการค้นหาแบบ full-text

Dataview เปลี่ยนสิ่งนี้ได้ มันปฏิบัติต่อไฟล์ Markdown ของคุณเหมือนฐานข้อมูล — สืบค้นด้วย metadata กรองด้วย tags เรียงลำดับตามวันที่ และสร้างแดชบอร์ดที่อัปเดตอัตโนมัติ

นี่คือวิธีตั้งค่าสำหรับ web clips ของคุณ

Dataview ทำอะไร

Dataview คือปลั๊กอิน Obsidian ที่ให้คุณสืบค้นโน้ตด้วยไวยากรณ์คล้าย SQL ไฟล์ Markdown แต่ละไฟล์กลายเป็นแถว ทุกฟิลด์ frontmatter กลายเป็นคอลัมน์ ทุกการสืบค้นส่งคืนตารางที่อัปเดตสด

พื้นฐาน: Frontmatter

พลังของ Dataview ขึ้นอยู่กับ frontmatter ที่สม่ำเสมอในไฟล์ที่ตัดมา เพิ่ม metadata เหล่านี้:

---
title: "React Server Components: คู่มือฉบับสมบูรณ์"
source: "https://example.com/rsc-guide"
clipped: 2026-03-15
type: article
status: unread
tags: [react, server-components, performance]
rating:
---

ฟิลด์ที่ทำให้ web clips สามารถสืบค้นได้:

  • clipped — เมื่อคุณบันทึก
  • type — article, tutorial, documentation, paper, thread
  • status — unread, reading, read, processed
  • rating — 1-5 หลังจากอ่าน
  • tags — หัวข้อที่ครอบคลุม

Queries ที่จำเป็น

คิวการอ่าน

ดู clips ที่ยังไม่ได้อ่านทั้งหมด ใหม่ที่สุดก่อน:

```dataview
TABLE title, type, clipped
FROM "clips"
WHERE status = "unread"
SORT clipped DESC
```

อ่านล่าสุด

สิ่งที่คุณประมวลผลใน 30 วันที่ผ่านมา:

```dataview
TABLE title, rating, tags
FROM "clips"
WHERE status = "read" AND clipped >= date(today) - dur(30 days)
SORT rating DESC
```

เนื้อหาที่ดีที่สุดตามหัวข้อ

ค้นหา clips ที่ได้คะแนนสูงสุดในหัวข้อเฉพาะ:

```dataview
TABLE title, rating, source
FROM "clips"
WHERE contains(tags, "react") AND rating >= 4
SORT rating DESC
```

Clips ที่รอการประมวลผล

```dataview
TABLE title, type, clipped
FROM "clips"
WHERE !rating
SORT clipped ASC
LIMIT 10
```

สร้างแดชบอร์ดสำหรับการวิจัย

สร้างโน้ตชื่อ Dashboard.md ที่รวม queries ทั้งหมดของคุณ:

# แดชบอร์ดการวิจัย

## คิวการอ่าน ({{date}})

### บทความที่ยังไม่ได้อ่าน
(dataview query ที่นี่)

### กำลังดำเนินการ
(dataview query ที่นี่)

## บันทึกสัปดาห์นี้
(dataview query ที่นี่)

## เนื้อหาที่ได้คะแนนสูง
(dataview query ที่นี่)

แดชบอร์ดนี้อัปเดตอัตโนมัติทุกครั้งที่คุณเปิด

Inline Queries

Dataview รองรับ inline queries ภายในโน้ตของคุณด้วย:

ฉันบันทึก `= length(filter(pages("clips"), (p) => p.status = "read"))` บทความ
เดือนนี้ คะแนนเฉลี่ย `= round(average(filter(pages("clips"), (p) => p.rating).rating), 1)`

DataviewJS สำหรับ Queries ที่ซับซ้อน

```dataviewjs
// แสดง clips ต่อสัปดาห์ในช่วง 8 สัปดาห์ที่ผ่านมา
const clips = dv.pages('"clips"')
  .where(p => p.clipped)
  .sort(p => p.clipped, 'desc');

const weeks = {};
for (const clip of clips) {
  const week = clip.clipped.toFormat("yyyy-'W'WW");
  weeks[week] = (weeks[week] || 0) + 1;
}

dv.table(
  ["สัปดาห์", "Clips ที่บันทึก"],
  Object.entries(weeks).slice(0, 8).map(([week, count]) => [week, count])
);
```

เคล็ดลับสำหรับข้อมูลที่สะอาด

ใช้เทมเพลต

สร้างเทมเพลต clip ที่มี frontmatter กรอกไว้ล่วงหน้า:

---
title: ""
source: ""
clipped: {{date}}
type: article
status: unread
tags: []
rating:
---

ทำให้ Tags เป็นมาตรฐาน

เลือกชุดมาตรฐานและยึดถือ react ไม่ใช่ React หรือ reactjs Tags ที่ไม่สม่ำเสมอทำให้ Dataview queries พัง

อัปเดต Status หลังจากอ่าน

ฟิลด์ status จะทำงานได้ก็ต่อเมื่อคุณอัปเดต เมื่ออ่าน clip เสร็จ ใช้เวลา 10 วินาทีเปลี่ยน status: unread เป็น status: read และเพิ่มคะแนน

ทำไม Markdown ที่สะอาดถึงสำคัญ

Dataview สืบค้น frontmatter ของคุณ แต่คุณยังค้นหาเนื้อหา clip เป็นประจำ นี่คือจุดที่การดึงข้อมูลที่สะอาดของ Save ให้ผลตอบแทน

Markdown ที่สะอาด = ผลการค้นหาที่สะอาด

เริ่มต้น

  1. ติดตั้งปลั๊กอิน Dataview ใน Obsidian (Community Plugins → ค้นหา “Dataview”)
  2. ติดตั้ง Save สำหรับการตัดเนื้อหาเว็บที่สะอาด
  3. เพิ่ม frontmatter ให้กับ clips ถัดไป 5 รายการโดยใช้เทมเพลตด้านบน
  4. สร้างโน้ต Dashboard พร้อม reading queue query
  5. ดู vault ของคุณเปลี่ยนจากกองไฟล์เป็นฐานความรู้ที่สืบค้นได้