이 블로그는 Obsidian 노트와 연동되어 있습니다. 블로그에서 글을 관리하는 방법에 대한 고민이 있었는데, 마침 이 글을 보고 저도 Obsidian을 사용해 컨텐츠를 관리해보기로 했습니다.
Obsidian
Obsidian은 마크다운을 기반으로 한 노트 앱입니다. 노트는 특이하게도 Vault 로 불리는 로컬 파일 시스템 기반 스토리지에 저장되는데요. 이 점 덕분에 애플 디바이스끼리 Vault를 iCloud Drive 안에 두어 여러 기기가 Vault를 공유할 수도 있습니다.

저는 proud iCloud+ 구독자이기 때문에 추가 비용 없이도 멀티 디바이스 지원 노트를 사용할 수 있다는 장점이 있습니다.
블로그
블로그는 Astro 프레임워크를 사용해 만들었습니다. 정확히는 astro-nano를 사용했는데, 약간의 커스텀을 추가해 사용하고 있습니다.
Astro 프레임워크는 Content-driven website를 위한 web framework로 소개하고 있는데요. 실제로도 컨텐츠 기반 웹 앱을 만들기 좋게 설계되어 있습니다. 덕분에 저는 블로그 작성을 작성할 때 프로젝트 내부에 Markdown 파일만 추가하면 됩니다.
Obsidian과 함께 사용하기
Obsidian에 글을 작성하면 자동으로 Astro 프로젝트에 Markdown 파일이 추가되고, 자동으로 배포되는 워크플로우를 만들고 싶었습니다.
이를 위해서는 Obsidian에 글이 작성되면 GitHub 레포지토리에 동기화하는 기능이 필요합니다. 그런데 iCloud Drive는 그 특성상 git repository가 동기화 대상에 포함되어 있으면 corrupt 되기 쉽다고 알려져있는데요.
이 문제를 해결하기 위해 iCloud Drive에는 .git 폴더를 두지 않고 Git Worktree를 이용해 실제 git repository는 iCloud Drive 밖에 있는 맥북에 두고, iCloud Drive 내에 있는 Obsidian Vault를 동기화하기로 했습니다.
그런데 저는 군대에 가야하기 때문에 개입 없이도 자동으로 동기화가 이루어져야 했습니다. 그래서 간단한 맥 앱을 만들어 동기화 작업을 수행하도록 했습니다.
https://github.com/HyungJu/VaultSync
Obsidian Flavoured Markdown
Obsidian은 Obsidian Flavoured Markdown을 사용합니다.
Astro가 사용하는 .md나 .mdx 파일과는 신택스 차이가 조금 있어, 그대로는 사용할 수는 없습니다.
마음 같아서는 Obsidian Flavoured Markdown을 지원하는 Astro 플러그인을 만들어 사용하고 싶었지만, 지금 단계에서는 Obsidian의 마크다운을 Astro 형식에 맞춰 변환해주는 스크립트를 만드는 것 만으로도 충분하다고 생각했습니다.
아래 기능들을 구현했습니다.
- 내부 링크 공군 IT개발관리병 (정보체계개발병) 지원 후기
- 이미지 embed
마무리
아직 본격적으로 사용해본 것은 아니지만, Obsidian은 꽤 좋은 노트 앱이라고 생각합니다.
플러그인을 통해 기능을 확장할 수 있다는 점도 마음에 들고, 링크를 잘 활용하면 개인 위키처럼 지식을 정리하기도 좋아 보입니다.
Obsidian과 연동되도록 만든 이 블로그도 방치되지 않고 꾸준히 업데이트 되기를 바랍니다. (제발)