MOC 관리 자동화
Obsidian에서 MOC(Maps of Content) 페이지 관리를 최대한 자동화한다.
필요 플러그인
Templater 관리
async function parseMOC(tp) {
const dv = app.plugins.plugins.dataview.api;
const folder = tp.file.folder(true);
const mocFile = tp.file.find_tfile(`${folder}/_moc.md`);
const content = await app.vault.read(mocFile);
const regex = /```dataview([\s\S]*?)```/;
const query = content.match(regex)[1].trim();
const output = await dv.queryMarkdown(query);
const file = tp.file.find_tfile(tp.file.title);
await app.vault.modify(
file,
`# ${tp.file.title}
## MOC
${output.value}`,
);
}
module.exports = parseMOC;
<%\* tp.user.parseMOC(tp) %>
워크플로우
- MOC 생성 필요한 폴더에
_moc.md파일 생성 - 해당 페이지에 dataview 쿼리 작성
- MOC 페이지로 사용할 파일 생성
- MOC 페이지에서 Templater →
tp.parseMOC실행