연구노트에서 태그 기준으로 다른 노트 연결하기.obsidian

연구노트를 작성할 때 가장 중요한 포인트는 내가 이 노트를 다시 볼 수 있게 하는 것이다.

단순히 폴더만을 기준으로 자료를 정리한다면? 아래의 그림처럼 정리되지 않은 상태의 자료들을 가지고 있을 수 있게 되지만


정리하는 것들의 차원을 높이면?

새로운 방법들로 나의 자료에 접근할 수 있다.


폴더 뿐만아니라, 메타데이터, 인덱스, CMDS 목차, 태그 등 다양한 차원을 사용할 수 있는데

이번에는 연구노트에 작성해두었던 태그를 기준으로 살펴보자.

이렇게 노트를 간단히 썼다고 해보자.


해당 노트에는 4가지 태그가 들어가있다.

  • Connectivity

  • Communication

  • NiklasLuhmann

  • connect


이런 태그를 사용했던 다른 노트는 없었을까? 라는 궁금증이 들었다면 이를 자동화할 수 있다.

아래 템플릿을 참고하자.

현재 노트에 있는 태그를 포함한 다른 노트 10개(최근)

```dataviewjs
// 현재 문서의 태그 목록을 가져옴
const currentTags = dv.current().file.tags;
// 현재 문서의 태그가 존재하는지 확인
if (currentTags && currentTags.length > 0) {
    // 모든 노트를 검색하고 필터링하여 태그를 포함하는 항목을 찾음
    const recentPages = dv.pages()
        .where(page => page.file.tags && currentTags.some(tag => page.file.tags.includes(tag)))
        .sort(page => page.file.ctime, 'desc') // 생성 날짜를 기준으로 내림차순 정렬
        .limit(10); // 결과를 10개로 제한

    // 결과를 표로 출력
    dv.table(["Title", "Tags", "Created"], recentPages.map(page => [
        dv.fileLink(page.file.path, false, page.file.name),  // 노트의 제목을 링크로 변환
        page.file.tags ? page.file.tags.join(", ") : "",  // 노트에 포함된 태그를 콤마로 구분하여 문자열로 변환
        page.file.ctime  // 노트의 생성 날짜
    ]));
}
```

현재 노트에 있는 태그를 포함한 다른 노트 10개(예전)

dataviewjs
// 현재 문서의 태그 목록을 가져옴
const currentTags = dv.current().file.tags;
// 현재 문서의 태그가 존재하는지 확인
if (currentTags && currentTags.length > 0) {
    // 모든 노트를 검색하고 필터링하여 태그를 포함하는 항목을 찾음
    const oldestPages = dv.pages()
        .where(page => page.file.tags && currentTags.some(tag => page.file.tags.includes(tag)))
        .sort(page => page.file.ctime, 'asc') // 생성 날짜를 기준으로 오름차순 정렬
        .limit(10); // 결과를 10개로 제한

    // 결과를 표로 출력
    dv.table(["Title", "Tags", "Created"], oldestPages.map(page => [
        dv.fileLink(page.file.path, false, page.file.name),  // 노트의 제목을 링크로 변환
        page.file.tags ? page.file.tags.join(", ") : "",  // 노트에 포함된 태그를 콤마로 구분하여 문자열로 변환
        page.file.ctime  // 노트의 생성 날짜
    ]));
}


위의 두 가지 템플릿의 차이는 생성 날짜를 기준으로 오름차순 or 내림차순으로 정렬하는 것이다. 필요에 따라 수정 날짜를 기준으로도 수행할 수 있다. `ctime` → `mtime`


이 템플릿을 Templater 플러그인을 사용하여 작동시켜 보았다.

어떻게 작동하는지 궁금하다면?

이제 작성하고 있는 아이디어에 포함된 태그를 기준으로

예전의 나와 대화할 수 있다.

(아이디어를 주신 @이재엽님 감사드립니다 )


#11기연구지식관리

9

👉 이 게시글도 읽어보세요