GitHub - Doggy-Footprint/Obsidian-keyword-suggest

저는 Obsidian을 통해 개인 지식 관리, personal knowledge management를 하고 있습니다. Obsidian 노트가 속한 폴더, 그리고 그 폴더가 속한 폴더의 hierarchy에 따라 지식을 관리하는 것에 더해 internal link를 통해 지식을 관리할 수 있도록 돕는 노트 정리 앱입니다.
Obsidian에서 internal link를 만드는 방법은 [[]] 를 사용하는 것입니다. Obsidian 앱은 [[ 를 인식하여 연관 있는 노트를 제안Suggest합니다.
그리고, 저는 [[ 를 통해 internal link를 만드는 게 익숙해지지 않고, 집중력을 잃는 다는 것을 깨달았고, [[ 표시 없이도 자동으로 노트를 제안하는 플러그인을 만들기로 생각했습니다.
Obsidian에서 제공하는 Plugin API를 연습해볼 필요가 있었습니다.
아래 두 페이지를 통해 정보를 얻었고, 기본적인 플러그인을 제작했습니다.
위 문서에서 목록으로 정리해둔 API를 사용해보고 내린 결론은 다음과 같습니다.
<aside> ⚠️ Obsidian Plugin API는 문서화가 잘 되어 있지 않습니다. 정확히는 대부분의 API는 설명이 없습니다. → 테스트와 검색, Obsidian Plugin dev discord, 기존 Plugin을 참조하여 API의 사용법을 확인했습니다.
</aside>
<aside> ⚠️ Obisidian Plugin은 테스트가 어려웠습니다. 지속적인 테스트를 위해 다른 방법을 찾아야 했습니다. → 이는 Separation of Business Logic으로 이어집니다.
</aside>
<aside> ⚠️ Obsidian에서 기본으로 제공하는 제안Suggest 을 override하는 형태로 구현하는 게 첫 번째 아이디어 였습니다만, Obsidian Plugin API는 그런 형태의 동작을 제공하지 않는 것으로 보였습니다. 따라서 이 계획은 폐기했습니다.
</aside>
Obsidian Plugin API를 통해 생각한 기능을 구현할 수 있는지 확인했습니다. 개발 전 생각한 핵심 기능은 2가지 입니다.
유닛 테스트를 통해 아래 API를 사용하여 생각하는 기능을 구현할 수 있는 것을 확인했습니다.