여러 노트 파일을 선택하여 frontmatter tags 키 값에 한꺼번에 새 태그들을 넣거나 이미 있는 태그들을 지울 수 있도록 했습니다.
Tag Wrangler 플러그인을 써서 태그 이름을 바꿀 수 있습니다. 태그를 다루는 데 아주 잘 쓰고 있지만 노트들 가운데 일부 노트들만 골라서 태그 이름을 바꾸거나 지울 수는 없습니다.
그래서 구글이나 옵시디언 포럼에서 검색을 해봐도 제 미숙함 때문인지 찾을 수가 없네요.
그래서 데이터뷰로 노트 목록(체크 박스를 넣음)을 만들고 템플레이터로 태그를 바꾸는 방법이 나을 것 같아 만들어 봤습니다.
다음과 같은 것도 조금만 소스를 바꾸면 될 것 같습니다.
- 한꺼번에 파일 이름 바꾸기
- 한꺼번에 frontmatter 키 이름 바꾸기
- 한꺼번에 template 적용하기
템플릿 소스에서 잘못된 것이나 여러 의견등 많은 댓글 바랍니다.
사용하기
- 다음 소스를 다운로드한 다음 Templater 폴더에 넣습니다.
https://gist.githubusercontent.com/eoureo/6068f4bf262f2d87d117c805b861fc0f/raw/Obsidian%2520Templater%2520-%2520Change%2520tags%2520of%2520multiple%2520notes.js
파일 이름은 자신이 바라는 것으로 바꾸어 쓰면 낫겠네요.
⚠️주의! 파일 확장자는 md로 해야 합니다.
소스 코드는 밑에서 볼 수 있습니다. - dataviewjs 코드블록으로 테이블을 만듭니다.
⚠️주의! 체크 박스와 파일 링크 항목이 반드시 있어야 합니다.
다음은 예시입니다.
```dataviewjs dv.table(["✓", "File", "mtime", "ctime", "tags", "folder"], dv.pages("#book") .where(p => p.rating > 4) .sort(b => b.file.mtime, "desc") .map(b => ["<input type='checkbox'>", b.file.link, b.file.mtime, b.file.ctime, b.tags, b.file.folder])) ```
모든 파일을 나열(노트 파일이 많으면 시간이 조금 걸립니다.)```dataviewjs dv.table(["✓", "File", "mtime", "ctime", "tags", "folder"], dv.pages() .sort(b => b.file.mtime, "desc") .map(b => ["<input type='checkbox'>", b.file.link, b.file.mtime, b.file.ctime, b.tags, b.file.folder])) ```
이미 체크가 된 상태로 나열하려면 "<input type='checkbox' checked>"로 바꾸면 됩니다.
- 태그를 고치려는 노트의 체크 박스를 체크합니다.
- 템플레이터 창을 열고 템플릿을 선택합니다.
- 추가하거나 지우려는 태그를 입력합니다.
태그는 쉼표(,)로 구분하여 여러 개를 넣을 수 있습니다.
- "Change Tags" 단추를 눌러 태그 바꾸기를 실행합니다.
소스 코드
제 Gist 코드입니다.
참고
- 모달 대화상자
Modals | Obsidian Plugin Developer Docs
https://marcus.se.net/obsidian-plugin-docs/user-interface/modals
- Dataview
Overview - Dataview
https://blacksmithgu.github.io/obsidian-dataview/api/intro/
- tp.opsidian 함수들
obsidian-api/obsidian.d.ts at master · obsidianmd/obsidian-api
https://github.com/obsidianmd/obsidian-api/blob/master/obsidian.d.ts
- tp.frontmatter
tp.frontmatter - Templater
https://silentvoid13.github.io/Templater/internal-functions/internal-modules/frontmatter-module.html
- app.fileManager.processFrontMatter 함수
FileManager | Obsidian Plugin Developer Docs
https://marcus.se.net/obsidian-plugin-docs/reference/typescript/classes/FileManager
'Obsidian > Templater' 카테고리의 다른 글
옵시디언 Dataview 결과를 마크다운 형식으로 복사하기 - 템플레이터 사용 (0) | 2023.05.02 |
---|---|
옵시디언 템플레이터(Templater) - Callout 넣기 (6) | 2023.04.16 |
옵시디언 템플레이터(Templater) - 교보문고 도서 검색(제목, 저자)한 다음 선택하여 정보 가져오기 (0) | 2023.04.11 |
옵시디언 템플레이터(Templater) - 교보문고 도서 정보 가져오기(User Script Functions을 써서) (3) | 2023.04.11 |
옵시디언 템플레이터(Templater) - 교보문고 도서 정보 가져오기 (고침 @2023-04-05 20:00:00) (0) | 2023.03.22 |