Homemade Source/Dataview snippets

[DataviewJS] 목차(TOC) 출력하기

반응형

목차를 출력하는 dataview snippet입니다.

dv.view()로 호출

toc.js
0.00MB

 

toc.js를 다운받아 Vault내 Scripts폴더에 넣습니다.

```dataviewjs
dv.view('Scripts/toc')
```

해당 코드를 노트나 템플릿에 적용합니다. 

 

일반 스크립트

```dataviewjs
const content = await dv.io.load(dv.current().file.path);
const headings = content.match(/^#+ \S.*$/mg);
if (headings && headings.length > 0) {
    const firstHeadingLevel = headings[0].match(/^(#+)/)[1].length;
    const toc = headings.map(heading => {
        const [_, level, text] = heading.match(/^(#+) (.+)$/);
        const link = dv.current().file.path + '#' + text;
        const indentCount = Math.max(0, level.length - firstHeadingLevel);
        return '\t'.repeat(indentCount) + `1. [[${link}|${text}]]`;
    });
    dv.header(5, '목차');
    dv.paragraph(toc.join('\n'));
}
```

같은 스크립트이고 호출하는 방식만 다릅니다. 수정이 용이하고 문서상 짧게 사용이 가능한 dv.view()를 추천합니다. 

관련 플러그인

 

화면 한쪽에 고정된 목차을 보여주는 Floating TOC 플러그인

개요 Floating TOC 플러그인은 옵시디언의 화면 한쪽에 고정된 목차를 보여주는 플러그인입니다. Plugin Info 플러그인 명 Floating TOC 플러그인 설명 화면 한쪽에 고정된 목차를 생성 플러그인 분류 디

kaminik.tistory.com

 

노트에 목차(TOC)를 생성해주는 Dynamic ToC 플러그인

개요 Dynamic ToC 플러그인은 옵시디언 노트에 목차를 생성하고 노트가 변경되면 자동으로 목차가 업데이트되는 플러그인입니다. Plugin Info 플러그인 명 Obsidian Dynamic ToC 플러그인 설명 노트에 목차(

kaminik.tistory.com

 

노트에 목차(TOC)를 생성해주는 Automatic Table Of Contents 플러그인

개요 Automatic Table Of Contents는 옵시디언 노트에 목차를 생성하고 노트가 변경되면 자동으로 목차가 업데이트되는 플러그인입니다. Plugin Info 플러그인 명 Automatic Table Of Contents 플러그인 설명 노트

kaminik.tistory.com


 

반응형