옵시디언 활용/Dataview

Dataview 심화: DataviewJS의 Query Method

반응형

DataviewJS을 활용하면 자신의 노트를 정교하게 쿼리하여 원하는 정보를 추출하고 조직화할 수 있습니다. 쿼리 메소드와 예시를 통해 실제 사용하는 방법을 알아보겠습니다.

dv.current()

현재 페이지에 대한 정보를 쿼리하는 경우, dv.current() 메소드를 사용합니다.

```dataviewjs
const currentPage = dv.current();
dv.paragraph(`"${currentPage.file.name}"`);
```

현재 페이지의 제목을 가져오는 예시입니다.

dv.pages(source)

dv.pages(source) 메소드를 사용하여 특정 조건에 맞는 페이지들을 쿼리할 수 있습니다.

모든 페이지 쿼리하기

```dataviewjs
let Pages = dv.pages();
dv.list(Pages.map(page => page.file.link));
```

#books 태그가 있는 페이지 쿼리하기

```dataviewjs
let Pages = dv.pages("#books");
dv.list(Pages.map(page => page.file.link));
```

특정 폴더('notes') 내의 페이지 쿼리하기

```dataviewjs
let Pages = dv.pages('"notes"');
dv.list(Pages.map(page => page.file.link));
```

dv.pagePaths(source)

특정 조건을 만족하는 페이지들의 경로만을 쿼리하려면 dv.pagePaths(source) 메소드를 사용합니다.

```dataviewjs
let PagePaths = dv.pagePaths("#projects");
dv.list(PagePaths);
```

projects 태그가 있는 모든 페이지의 경로를 가져오는 예시입니다.

dv.page(path)

특정 파일의 상세 정보를 얻기 위해 dv.page(path) 메소드를 사용할 수 있습니다.

```dataviewjs
let Page = dv.page("Index");
dv.paragraph(`"${Page.file.name}"`);
```

Index 노트의 제목을 가져오는 예시입니다.

 

특정 경로에 있는 파일의 정보를 얻고 싶다면, 경로를 지정하여 쿼리할 수 있습니다.

```dataviewjs
let Page = dv.page("books/The Raisin.md");
dv.paragraph(`"${Page.file.tags.join(", ")}"`);
```

The Raisin 노트의 태그 목록을 가져오는 예시입니다.


 

반응형