В предыдущем посте OS TechBlog мы представили Obsidian как приложение для заметок. Здесь я перенесу вас на новый уровень организации ваших заметок с помощью плагина Dataview для Obsidian. Это один из лучших инструментов для объединения ваших мыслей и их объединения различными способами.
Если вы не читали Одержимость обсидианом, я очень рекомендую ее как отличное введение в обсидиан.
Начни просто
Чтобы опробовать эти примеры и советы, вам необходимо загрузить и установить Obsidian, а затем установить Dataview plugin, оба из которых бесплатны.
Если вы еще не установили плагин в Obsidian, выполните следующие действия после установки и открытия Obsidian:
1. Нажмите шестеренку (значок настроек) в левом нижнем углу.
2. В открывшемся окне нажмите "Плагины сообщества" и выключите безопасный режим, если он включен. < br /> 3. Нажмите кнопку обзора и введите в поле поиска слово dataview.
4. Нажмите на плагин Dataview, затем на кнопку «Установить» и, наконец, на кнопку «Включить».
Dataview, по словам его создателя, позволяет
«Относитесь к своему Обсидиановому Хранилищу как к базе данных, из которой вы можете делать запросы»
С Obsidian, построенным поверх базы данных графов, это имеет смысл.
Вот несколько примеров того, как мы можем запрашивать наши Obsidian заметки с помощью Dataview Query Language (примечание: я расскажу о том, как вы можете использовать JavaScript позже в этой статье):
Использование встроенных обсидиановых метаданных
Далее будут перечислены файлы в папке с именем technology, а также время и дата создания файла, и они будут отсортированы по времени создания в порядке убывания.
```dataview
table file.ctime as "Created Time"
from "tech"
sort file.ctime desc
```
Вы можете очень просто перечислить все файлы в вашем обсидиановом хранилище:
```dataview list ```
Использование тегов и ваших собственных метаданных
С помощью Obsidian вы можете добавлять теги в файл, набирая их с #, например #myTag или включив его в раздел основной темы с помощью YAML (см. ниже). Здесь вы также можете включить свои собственные метаданные.
Пример YAML
--- tags: ['myTag', 'AnotherTag'] type: 'review' rating: 4 ---
Так что, если у меня есть отзывы, которые я написал, я могу собрать их в таблицу:
```dataview table rating as "Rating", dateRated as "Date Rated" from "music" where type = "review" sort rating desc ```
Как видите, вы можете очень умно добавлять и использовать свои собственные метаданные.
Задания
Если вы создали задачи в своих заметках Obsidian, Dataview может собрать их вместе разумными способами.
Возможно, вы хотите создать панель задач. Вот действительно простой пример того, как создать два отдельных списка задач из файлов с разными тегами, и вы также можете отмечать или снимать отметку с задач в списке:
```dataview
task
from #ukulele
```
---
```dataview
task
from #research
```
Шаг дальше: DataviewJS
Для тех из вас, кто хочет большего, вот краткое введение в использование DataviewJS. Он похож на Dataview, но использует JavaScript для доступа к API, предоставляемому Dataview.
Используя JavaScript, мы можем дополнительно уточнить список задач, исключив задачи, которые мы уже проверили, и даже отобразив все проверенные задачи вместе:
```dataviewjs
dv.header(2, 'Ukulele Tasks');
dv.taskList(dv.pages('#ukulele').file.tasks
.where(t => !t.completed));
```
```dataviewjs dv.header(2, 'Research Tasks'); dv.taskList(dv.pages('#research').file.tasks .where(t => !t.completed)); ```
```dataviewjs
dv.header(2, 'All Completed Tasks'); dv.taskList(dv.pages().file.tasks.where(t => t.completed));```
Но мой любимый способ использования Dataview - создавать целые заметки из метаданных, по сути создавая панель управления или пользовательский интерфейс для моих сохраненных данных. Подробнее в другой статье, но ниже приведен пример для любопытных.
Структура заметки для провайдера обучения
Содержимое этой заметки полностью создано Dataview с использованием настраиваемых метаданных в YAML:
--- type: 'training provider' tags: ['training', 'provider'] website: 'https://www.pluralsight.com' title: 'Pluralsight' ---
```dataviewjs let pg = dv.current(); // set pg to be the current page, for brevity dv.header(1, pg.title); // print the page title from YAML as H1 dv.header(2, 'Website'); // print 'Website' as an H2 dv.paragraph(pg.website) // print website url from YAML in a paragraph dv.header(2, 'Courses Taken:'); // print 'Courses Taken' as an H2 dv.list(dv.pages('#training').where(p => p.provider && p.provider.contains(pg.title)).file.link); ```
И структура заметок по курсу от провайдера обучения
Опять же, контент полностью отображается Dataview:
--- type: 'training notes' tags: ['training', 'notes'] courseTitle: 'How to Be a Great Mentor: Get More out of Mentoring' link: 'https://app.pluralsight.com/library/courses/how-to-be-great-mentor' provider: 'Pluralsight' ---
```dataviewjs let pg = dv.current(); // set pg to be the current page, for brevity dv.header(1, pg.courseTitle); // print the course title from YAML as H1 dv.header(2, 'Link'); // print 'Link' as an H2 dv.paragraph(pg.link) // print website url from YAML in a paragraph ```
Что дальше?
Я надеюсь, что теперь вы можете увидеть лишь часть возможностей использования Dataview с Obsidian для использования данных в базовой базе данных Obsidian Graph.
Попробуйте реализовать описанное выше, если вы еще этого не сделали, и поэкспериментируйте со своими собственными вариантами использования.
В более позднем посте мы более подробно рассмотрим Dataview и DataviewJS, а также некоторые более сложные примеры.
Вот несколько полезных ссылок на документацию Dataview, которые содержат больше примеров: