Homemade Source/Templater snippets

[Templater] 폴더내 노트 이동하기

반응형

폴더내 노트 이동하는 Templater snippet입니다.

예시

Templater Snippet

NextNote.md

<%*
const currentFile = app.workspace.activeLeaf.view.file;
const currentFilePath = currentFile.path;
const folderPath = currentFile.parent.path;

const filesInFolder = app.vault.getFiles().filter(file => {
return file.path.startsWith(folderPath + "/") && file.extension === 'md';
});

filesInFolder.sort((a, b) => a.path.localeCompare(b.path));

const currentIndex = filesInFolder.findIndex(file => file.path === currentFilePath);
let nextFileIndex = currentIndex + 1;

if (nextFileIndex >= filesInFolder.length) {
nextFileIndex = 0;
}

const nextFile = filesInFolder[nextFileIndex];

this.app.workspace.openLinkText(nextFile.path, '/', false);
%>

PrevNote.md

<%*
const currentFile = app.workspace.activeLeaf.view.file;
const currentFilePath = currentFile.path;
const folderPath = currentFile.parent.path;

const filesInFolder = app.vault.getFiles().filter(file => {
  return file.path.startsWith(folderPath + "/") && file.extension === 'md';
});

filesInFolder.sort((a, b) => a.path.localeCompare(b.path));

const currentIndex = filesInFolder.findIndex(file => file.path === currentFilePath);
let previousFileIndex = currentIndex - 1;

if (previousFileIndex < 0) {
  previousFileIndex = filesInFolder.length - 1;
}

const previousFile = filesInFolder[previousFileIndex];

this.app.workspace.openLinkText(previousFile.path, '/', false);
%>

 

적용방법 

두 스크립트를 템플릿파일(NextNote.md, PrevNote.md)로 저장합니다. 

 

Templater 설정 - Template Hotkeys에서 저장한 템플릿을 등록합니다.

 

단축키 설정으로 사용하시거나, Commander 플러그인에 등록하셔서 사용하시면 되겠습니다. 

 

Templater로 작성한 명령어(스크립트)을 단축키로 실행하는 방법을 참고해주세요.

 

Commander에 빠른실행 등록하는 방법을 참고해주세요

 


 

반응형