사용법#
CalDAV 계정 추가하기#
설정 → Harang Calendar를 여세요.
CalDAV 서버 계정 아래에서 새 서버 계정 추가를 클릭하세요.
계정 정보를 입력하세요:
항목 |
설명 |
|---|---|
계정 이름 |
이 계정을 가리키는 이름표로, |
서버 URL |
CalDAV 기본 URL 또는 정확한 캘린더 컬렉션 URL. |
사용자명 / 비밀번호 |
CalDAV 계정의 로그인 정보. |
시간대 |
UTC가 아닌 일정 시간을 해석하는 데 사용됩니다. 목록에서 캘린더의 시간대를 고르거나, 목록에 없다면 UTC 오프셋 직접 입력…을 선택하세요. |
연결 테스트 및 탐색을 클릭하세요. 플러그인이 표준 CalDAV 검색 절차(
current-user-principal→calendar-home-set→ 캘린더 컬렉션)를 따라가며 그 계정 아래 있는 모든 캘린더를 찾아 목록에 보여줍니다. 서버 URL이 이미 캘린더 컬렉션을 직접 가리키고 있다면, 추가 검색 없이 그대로 사용됩니다.찾은 캘린더마다 각각 행이 생기고, 이 캘린더 표시 토글과 선택적인 색상 재정의(
#4285F4처럼 유효한 CSS 색상 값 — 비워두면 서버가 제공하는 색상을 사용, 있는 경우) 항목이 붙습니다. 토글이 켜진 캘린더만 가져와서 플러그인 어디에서든 표시됩니다.
계정은 여러 개 추가할 수 있습니다(여러 서버용으로, 또는 같은 서버를 여러 번). 모든 계정의 활성화된 캘린더 일정이 아젠다/월간 뷰에 합쳐져서 나타납니다. 서버에서 캘린더를 추가하거나 제거했다면 연결 테스트 및 탐색을 다시 실행하세요 — 플러그인이 스스로 감지하지는 않습니다.
노트에서 날짜/일정 참조하기#
{{hrcal:을 입력해 단계별 참조를 시작하세요 - 날짜용과 일정용 트리거가 따로 있지 않습니다:
Let's meet {{hrcal:
자동완성 팝업에 등록된 계정 이름이 나열됩니다. 입력하면 목록이 좁혀집니다. 하나를 선택하면 표시 이름이 아니라 계정의 내부 id인
<accountId>:이 뒤에 붙고 바로 다음 단계가 열립니다.이제 팝업에는 그 계정의 캘린더 이름이 나열됩니다. 하나를 선택하면
<calendarName>:이 뒤에 붙습니다.이제 팝업에는 다가오는 날짜와 제목이 일치하는 일정 (대소문자 구분 없는 부분 문자열 검색, 공백 포함)이 함께 나열됩니다 - 숫자를 입력하면 날짜 목록이 좁혀지고, 텍스트를 입력하면 일정 목록이 좁혀지며, 둘 다 함께 나타날 수도 있습니다.
날짜 후보를 선택하면 {{hrcal:<accountId>:<calendarName>:date:2026-08-07}}이 삽입되고 카드 위젯으로 표시됩니다: 그 날짜의 제목과, 그 특정 계정/캘린더의 그날 일치하는 일정이 모두 그 아래 나열됩니다(없으면 “이 날짜에는 일정이 없습니다.” 메시지).
일정 후보를 선택하면 {{hrcal:<accountId>:<calendarName>:event:<uid>}}이 삽입되고 인라인 칩(둥근 알약 모양 안에 일정 제목과 시간 범위)으로 표시됩니다.
칩(또는 날짜 위젯 안의 일정 행)을 클릭하면 그 일정의 일시/장소/메모(있는 항목만) 정보를 담은 작은 팝업이 열립니다. 팝업 바깥을 클릭하거나 Esc를 누르면 닫힙니다. 칩이 흐릿하게 점선 테두리로 보인다면, 플러그인이 알고 있는 일정으로 확인하지 못한 것입니다 — 문제 해결 & FAQ을 참고하세요.
Because <accountId> is the account’s stable internal id rather than its
display name, renaming an account in Settings never breaks a reference
inserted after this id-based scheme took effect — only <calendarName>
is still name-based, so renaming a calendar can still break existing
references, same as before. This is not retroactive: a reference typed
or inserted before this change used the account’s old name-based segment,
and since there is no id-or-name fallback, it will no longer resolve. Delete
and re-insert any such reference via the {{hrcal: autocomplete to fix
it.
노트를 특정 계정/캘린더로 범위 제한하기#
경고
현재 사용되지 않습니다. {{hrcal:...}} 참조가 계정과 캘린더를 직접 명시하므로, 더 이상 이 프론트매터를 읽어서 범위를 정하는 곳이 없습니다. 나중에 다른 기능으로 되살아날 경우를 대비해 여기 문서로 남겨둡니다.
과거에는 날짜 위젯이 기본적으로 모든 계정의 활성화된 캘린더를 대상으로 했고, 노트의 프론트매터로 그 범위를 좁힐 수 있었습니다:
---
harang-account: Work
harang-calendar: Team events
---
프론트매터 |
범위 |
|---|---|
|
그 계정 아래 활성화된 모든 캘린더. |
|
그 이름과 정확히 일치하는 캘린더 — 모든 계정을 통틀어(계정이 하나뿐이거나 구분할 필요가 없을 때 유용합니다). |
둘 다 |
그 계정 안의 그 캘린더 하나로만 좁혀집니다 — 이름이 같은 두 캘린더를 구분하거나, 서로 다른 계정에 같은 이름의 캘린더가 있을 때 구분하는 방법입니다. |
둘 다 없음 |
범위 제한 없음(기본값). |
두 값 모두 일반 텍스트입니다 — 설정 화면에 보이는 그대로(계정 이름은 직접 지은 이름, 캘린더 이름은 서버가 알려준 이름) 복사해서 붙여넣거나 직접 타이핑하세요. 두 항목 다 자동완성은 제공하지 않습니다. 값이 알려진 계정/캘린더와 일치하지 않으면, 날짜 위젯은 아무것도 표시하지 않는 대신 인식 못한 값의 이름을 담은 경고를 보여줍니다.
참고
Obsidian의 Properties 패널은 속성의 값 타입(텍스트 vs 목록)을 노트 단위가 아니라 보관소(vault) 전체에서 키 단위로 기억합니다. harang-account나 harang-calendar를 보관소 어딘가에서 한 번이라도 목록으로 입력한 적이 있다면, 이후에도 Properties 패널이 목록 형태 입력창을 계속 제안할 수 있습니다. 항목이 하나뿐인 목록(예: harang-calendar:\n - Team events)은 일반 문자열과 똑같이 읽히므로 문제가 되지는 않습니다 — 다만 두 키 모두 원래 의도한 건 일반 텍스트 값 하나뿐입니다.
노트 자체를 캘린더 뷰에 표시하기#
위 기능들은 전부 CalDAV 서버에서 가져오는 것입니다. 이와 별개로, 노트 자체가 사이드바 아젠다 목록과 월간 그리드에 항목으로 나타날 수도 있습니다 — Obsidian 안에서만 일어나는 일이고, CalDAV 서버에 쓰거나 읽는 일은 전혀 없습니다:
---
harang-date: 2026-08-15
harang-repeat: FREQ=WEEKLY;BYDAY=MO
harang-time: 14:00-15:00
---
harang-date(필수, YYYY-MM-DD)는 노트가 표시될 날짜입니다. harang-repeat(선택)은 RRULE 문자열입니다 — 실제 반복되는 CalDAV 일정을 전개할 때 이미 쓰고 있는 것과 정확히 같은 문법/파싱(rrule 패키지)이며, 일치하는 발생일마다 노트가 반복해서 나타나게 합니다. 없으면 harang-date한 날짜에만 나타납니다. harang-time(선택)은 24시간제 HH:MM-HH:MM 범위입니다 — 없으면 노트 일정은 종일로 표시됩니다. 노트 일정에는 항상 같은 목록의 실제 CalDAV 일정과 시각적으로 구분되도록 점선 테두리가 붙습니다. 클릭하면 일정 상세 팝업이 아니라 그 노트 자체가 열립니다.
harang-time 값이 잘못됐거나(형식 오류, 또는 시작이 끝보다 늦은 경우) 조용히 무시됩니다 — harang-repeat 값이 잘못되면 그냥 반복하지 않는 것으로 대체되는 것과 마찬가지로, 노트는 종일 표시로 대체됩니다.
harang-repeat은 표준 iCalendar RRULE 키워드를 받습니다:
키워드 |
의미 |
|---|---|
|
|
|
매번이 아니라 N단위마다 반복합니다. 예를 들어 |
|
요일 하나 이상( |
|
전체 발생 횟수. |
|
|
harang-repeat: FREQ=WEEKLY;BYDAY=MO # every Monday
harang-repeat: FREQ=DAILY;COUNT=5 # 5 days in a row
harang-repeat: FREQ=MONTHLY;INTERVAL=2 # every other month, same date
harang-repeat: FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20261231 # Mon/Wed/Fri through the end of 2026
harang-repeat 값이 잘못됐으면 에러를 내는 대신 조용히 무시됩니다(그 노트가 그냥 반복하지 않을 뿐입니다).
일정 둘러보기: 전체 월간 뷰#
새 탭에서 캘린더 열기 명령을 실행하면 전체 탭을 차지하는 월간 그리드가 열립니다. 날짜를 클릭해 선택하면 그날 일정을 볼 수 있고, 날짜에 포커스가 있는 상태에서 방향키로 선택을 이동할 수 있습니다(좌/우는 하루씩, 상/하는 일주일씩). ‹/› 버튼으로 한 달씩 이동하거나, 월/연도 제목을 클릭하면 원하는 연도·월로 바로 이동할 수 있는 선택창이 열립니다(연도를 클릭하면 텍스트 입력창으로 바뀝니다).
캘린더 데이터 새로고침#
일정은 캐시되며, 캐시 유효 시간(설정 → Harang Calendar → 캐시 유효 시간(분), 기본값 30분)이 지나면 자동으로 서버에서 다시 가져옵니다. 월간 뷰에서 아직 캐시되지 않은 범위로 이동하면 그 빈 부분만 필요할 때 가져옵니다. 즉시 새로고침하려면:
명령 팔레트에서 캘린더 새로고침 명령을 실행하거나,
설정에서 모든 캘린더 지금 새로고침 옆의 새로고침을 클릭하세요.