옵시디언 심화: Obsidian URI
개요
Obsidian URI는 Obsidian이 지원하는 사용자 정의 URI 프로토콜로, 노트 열기, 노트 생성 등 다양한 작업을 트리거할 수 있습니다. macOS와 모바일 앱에서 자동화 및 앱 간 워크플로우를 위해 일반적으로 사용됩니다.
https://help.obsidian.md/Extending+Obsidian/Obsidian+URI
Obsidian URI 형식
Obsidian URI는 일반적으로 다음 형식을 따릅니다:
obsidian://action?param1=value¶m2=value
여기서 action
매개변수는 수행하고자 하는 작업입니다.
인코딩
값이 올바르게 URI 인코딩되어 있는지 확인하세요. 예를 들어, 슬래시 문자 /는 %2F로, 공백 문자는 %20으로 인코딩해야 합니다. 잘못 인코딩된 "예약된" 문자는 URI 해석을 깨뜨릴 수 있기 때문에 특히 중요합니다. Percent-encoding을 참조
Obsidian URI 등록
Windows와 macOS에서는 앱을 한 번 실행하는 것으로 컴퓨터에 Obsidian URI 프로토콜을 등록하기에 충분합니다.
Linux에서는 다음과 같은 보다 복잡한 과정을 거쳐야 합니다:
obsidian.desktop
파일을 생성해야 합니다. 자세한 내용은 여기를 참조하세요.- 데스크탑 파일에서
Exec
필드를Exec=executable %u
로 지정해야 합니다.%u
는 Obsidian:// URI를 앱으로 전달하는 데 사용됩니다. - AppImage 설치 프로그램을 사용하는 경우,
Obsidian-x.y.z.AppImage --appimage-extract
를 사용하여 압축을 풀고,Exec
지시문이 압축 해제된 실행 파일을 가리키도록 해야 합니다.
노트 열기
Obsidian Vault를 열거나 해당 Vault 내의 파일을 엽니다.
예시
obsidian://open?vault=my%20vault
: "my vault"라는 Vault를 엽니다. Vault가 이미 열려 있으면 해당 창으로 포커스를 이동합니다.obsidian://open?vault=ef6ca3e3b524d22f
: ID가 ef6ca3e3b524d22f인 Vault를 엽니다.obsidian://open?vault=my%20vault&file=my%20note
: "my vault"라는 Vault에서 "my note.md" 노트를 엽니다(해당 파일이 존재한다고 가정).obsidian://open?path=%2Fhome%2Fuser%2Fmy%20vault%2Fpath%2Fto%2Fmy%20note
: "/home/user/my vault/path/to/my note" 경로를 포함하는 모든 Vault를 찾습니다. 예를 들어, "/home/user/my vault"에 Vault가 있으면, 이는 파일 매개변수가 "path/to/my note"로 설정된 것과 동일합니다.
제목 또는 블록 열기
적절한 URI 인코딩을 사용하면 노트 내의 특정 제목이나 블록으로 이동할 수 있습니다. "Note%23Heading"은 "Heading"이라는 제목으로, "Note%23%5EBlock"은 "Block"이라는 블록으로 이동합니다.
매개변수
vault
: Vault 이름 또는 Vault ID 둘 중 하나일 수 있습니다.file
: 파일 이름이거나 Vault 루트에서 지정된 파일까지의 경로일 수 있습니다. 파일 확장자가 md인 경우, 확장자는 생략할 수 있습니다.path
: 파일까지의 절대 파일 시스템 경로입니다. 이 매개변수를 사용하면 vault와 file 모두 무시됩니다. 앱은 지정된 파일 경로를 포함하는 가장 구체적인 Vault를 검색합니다. 그런 다음 나머지 경로가 파일 매개변수를 대체합니다.
검색 열기
이 Obsidian URI Endpoint는 지정된 Vault에서 검색을 열고, 선택적으로 검색 쿼리를 수행합니다.
예시
obsidian://search?vault=my%20vault
:
"my vault"라는 Vault를 열고 검색을 시작합니다.obsidian://search?vault=my%20vault&query=Obsidian
: "my vault"라는 Vault를 열고 "Obsidian"에 대해 검색을 수행합니다.
매개변수
vault
: Vault 이름 또는 Vault ID 둘 중 하나일 수 있습니다. 열기 작업과 같습니다.query
(선택사항): 수행할 검색 쿼리입니다.
노트 생성
이 URI Endpoint는 Vault에 새 노트를 생성합니다. 선택적으로 일부 내용을 포함할 수 있습니다.
예시
obsidian://new?vault=my%20vault&name=my%20note
"my vault"라는 Vault를 열고 "my note"라는 새 노트를 생성합니다.obsidian://new?vault=my%20vault&path=path%2Fto%2Fmy%20note
"my vault"라는 Vault를 열고 "path/to/my note"에 새 노트를 생성합니다.
매개변수
vault
: Vault 이름 또는 Vault ID 둘 중 하나일 수 있습니다. 열기 작업과 같습니다.name
: 생성될 파일 이름입니다. 이것이 지정되면, "새 노트의 기본 위치" 선호도에 따라 파일 위치가 선택됩니다.file
: 이름을 포함한 Vault 절대 경로입니다. 지정된 경우 name을 덮어씁니다.path
: 전역 절대 경로입니다. 열기 작업에서의 path 옵션과 유사하게 작동하여 vault와 file 모두를 덮어씁니다.content
(선택사항): 노트의 내용입니다.silent
(선택사항): 새 노트를 열지 않으려면 이 매개변수를 포함하세요.append
(선택사항): 이미 존재하는 파일에 추가하려면 이 매개변수를 포함하세요.overwrite
(선택사항): 이미 존재하는 파일이 있을 경우 덮어쓰기를 하되, append가 설정되지 않은 경우에만 가능합니다.x-success
(선택사항): x-callback-url 참조하세요.
Hook과 통합하기
이 Obsidian URI Endpoint는 Hook과 함께 사용하기 위해 설계되었습니다.
예시
obsidian://hook-get-address
매개변수
vault
(선택 사항): Vault 이름이나 Vault ID 중 하나가 될 수 있습니다. 제공되지 않는 경우 현재 또는 마지막으로 포커스된 Vault가 사용됩니다.x-success
(선택 사항): x-callback-url 참조.x-error
(선택 사항): x-callback-url 참조.
x-success
가 정의된 경우, 이 API는 그것을 x-callback-url로 사용합니다. 그렇지 않으면 현재 포커스된 노트의 Markdown 링크를 클립보드에 복사합니다. 이 링크는 obsidian://open
URL 형식입니다.
x-callback-url 매개변수 사용
일부 Endpoint는 x-success
및 x-error
와 같은 x-callback-url 매개변수를 받습니다. 제공될 때, Obsidian은 x-success
콜백에 다음을 제공합니다:
name
: 파일 확장자 없이 파일의 이름입니다.url
: 이 파일에 대한obsidian://
URI입니다.file
(데스크탑만 해당): 이 파일에 대한file://
URL입니다.
예를 들어, Obsidian이 obsidian://.....x-success=myapp://x-callback-url
를 받으면, 응답은 myapp://x-callback-url?name=...&url=obsidian%3A%2F%2Fopen...&file=file%3A%2F%2F...
가 됩니다.
간편 형식
위의 형식들 외에도, Vault와 파일을 열기 위한 두 가지 "간편" 형식이 더 있습니다:
obsidian://vault/my vault/my note
는obsidian://open?vault=my%20vault&file=my%20note
와 동일합니다.obsidian:///absolute/path/to/my note
는obsidian://open?path=%2Fabsolute%2Fpath%2Fto%2Fmy%20note
와 동일합니다.
관련 글
'옵시디언 활용 > 옵시디언 심화' 카테고리의 다른 글
옵시디언 심화: 간트 차트(Gantt Chart) (0) | 2024.02.12 |
---|---|
옵시디언 심화: Mermaid (0) | 2024.02.12 |
옵시디언 심화: 개발자 도구로 CSS변경하기 (0) | 2024.02.06 |
옵시디언 심화: LaTeX (0) | 2024.02.04 |
옵시디언 심화: 백업과 동기화 (1) | 2024.01.31 |