← Назад к блогу

Запросы к сохранённому веб-контенту с помощью Obsidian Dataview

· Save Team
obsidiandataviewpluginsmarkdownpkmpower-user

Вы несколько недель сохраняете веб-контент в Obsidian. В хранилище 50, а то и 100 клипнутых статей. Но чтобы найти нужную, приходится прокручивать папки или полагаться на полнотекстовый поиск.

Dataview меняет это. Он обращается с файлами Markdown как со строками базы данных — делает запросы по метаданным, фильтрует по тегам, сортирует по дате и строит дашборды, которые обновляются автоматически.

Вот как настроить его для веб-клипов.

Что делает Dataview

Dataview — плагин Obsidian, позволяющий запрашивать заметки с помощью SQL-подобного синтаксиса. Каждый файл Markdown становится строкой. Каждое поле frontmatter — столбцом. Каждый запрос возвращает живую, автоматически обновляемую таблицу.

Основа: Frontmatter

Мощь Dataview зависит от последовательного frontmatter в клипнутых файлах. Когда вы сохраняете веб-контент с Save, добавляйте эти метаданные:

---
title: "React Server Components: Полное руководство"
source: "https://example.com/rsc-guide"
clipped: 2026-03-15
type: article
status: unread
tags: [react, server-components, performance]
rating:
---

Поля, делающие веб-клипы запрашиваемыми:

  • clipped — когда сохранили
  • type — article, tutorial, documentation, paper, thread
  • status — unread, reading, read, processed
  • rating — 1-5 после прочтения (изначально оставьте пустым)
  • tags — охваченные темы

Основные запросы

Очередь чтения

Все непрочитанные клипы, новейшие первыми:

```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
```

Лучший контент по теме

Наиболее высоко оцененные клипы по конкретной теме:

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

Клипы, требующие обработки

Сохранённый контент, который вы ещё не просмотрели:

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

Создание исследовательского дашборда

Создайте заметку Dashboard.md, агрегирующую все запросы:

# Исследовательский дашборд

## Очередь чтения ({{date}})

### Непрочитанные статьи
(запрос dataview здесь)

### В процессе
(запрос dataview здесь)

## Сохранённое на этой неделе
(запрос dataview здесь)

## Топ-контент
(запрос dataview здесь)

Этот дашборд обновляется автоматически каждый раз, когда вы его открываете.

Продвинутый уровень: встроенные запросы

Dataview поддерживает встроенные запросы внутри заметок:

В этом месяце я прочитал `= length(filter(pages("clips"), (p) => p.status = "read"))` статей
со средним рейтингом
`= round(average(filter(pages("clips"), (p) => p.rating).rating), 1)`.

DataviewJS для сложных запросов

```dataviewjs
// Клипы по неделям за последние 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(
  ["Неделя", "Сохранено клипов"],
  Object.entries(weeks).slice(0, 8).map(([week, count]) => [week, count])
);
```

Советы по чистоте данных

Используйте шаблон

Создайте шаблон клипа с предзаполненным frontmatter:

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

Нормализуйте теги

Выберите стандартный набор и придерживайтесь его. react, а не React или reactjs. Непоследовательные теги ломают запросы Dataview.

Обновляйте статус после прочтения

Потратьте 10 секунд, чтобы изменить status: unread на status: read и добавить рейтинг.

Сохраняйте URL источников

Поле source позволяет всегда вернуться к оригиналу.

Почему здесь важен чистый Markdown

Dataview запрашивает frontmatter, но вы также регулярно ищете по содержимому клипов. Именно здесь чистое извлечение Save окупается. Чистый Markdown означает чистые результаты поиска.

Начало работы

  1. Установите плагин Dataview в Obsidian (Сторонние плагины → Поиск «Dataview»)
  2. Установите Save для чистого веб-клиппинга
  3. Добавьте frontmatter к следующим 5 клипам, используя шаблон выше
  4. Создайте заметку-дашборд с запросом очереди чтения
  5. Наблюдайте, как хранилище превращается из кучи файлов в запрашиваемую базу знаний