Vault doctor
대부분의 Obsidian 보관소에는 git이나 실행 취소(undo) 기능이 없으며, 많은 경우 iCloud, OneDrive, Dropbox를 통해 실시간 동기화됩니다. 모든 쓰기 작업을 되돌릴 수 없는 것으로 간주하세요. 어떤 것도 건드리기 전에 보관소의 실제 백업 상황을 확인하고, 덮어쓰기 전에 먼저 읽고, 전체 파일을 다시 쓰기보다는 대상 수정을 선호하며, 빠른 쓰기 루프를 절대 실행하지 마세요. 동기화된 폴더에서 이렇게 하면 충돌 복사본이 생성됩니다.
스캔
.md 파일을 탐색하고, node_modules, .git, .obsidian 및 보관소에 축적된 빌드 또는 임시 디렉터리를 건너뜁니다. 모든 파일 기본 이름(첨부 파일 포함, .md만 해당하지 않음)에서 링크 대상 집합을 구축한 다음, |별칭, #제목, ^블록 접미사를 제거하여 [[대상]]을 추출합니다.
기준을 기록합니다. 노트 수, 고유한 깨진 대상 수, 총 깨진 참조 수, 중복된 기본 이름 수입니다. 이후 실행 시 동일한 인구 조사를 반복하지 않고 변화를 보여줄 수 있습니다.
수리 전 분류
원시적인 깨진 링크 개수는 결함 목록이 아닙니다. 모든 적중 항목을 다음 네 가지 버킷 중 하나로 정렬하세요.
1. 교차 시스템 참조 — "수정"하지 마십시오. 일부 대상은 보관소 노트가 전혀 아닙니다. 에이전트 메모리 ID, 티켓 키 또는 다른 도구의 식별자로서 우연히 위키링크 구문으로 작성된 것들입니다. 절대 해결되지 않습니다. 이를 일반 텍스트로 변환하는 것은 변호할 수 있지만, 이를 만족시키기 위해 스텁 노트(stub note)를 만드는 것은 그렇지 않습니다.
2. 깨진 링크에 대한 문서 — 절대 건드리지 마십시오. 일부 노트는 깨진 링크를 의도적으로 예시로 인용하거나 ("도구가 이것을 찾지 못하면 도구가 잘못된 것입니다") 연습 문제의 근거 자료로 사용합니다. 이를 편집하면 그 가르치는 내용이 손상됩니다. 산문 내에 인용된 위키링크 구문도 동일한 클래스입니다.
3. 이름 변경(drift) — 소스가 아닌 대상에서 수정하십시오. 많은 참조가 짧은 이름을 가리키는데 노트가 더 긴 이름으로 저장된 경우, 모든 참조 파일을 편집하는 대신 대상의 프론트매터에 aliases: [짧은이름]을 추가하는 것을 선호하십시오. 한 번의 수정, 기본 Obsidian 메커니즘, 주변 맥락을 망칠 위험이 없습니다.
4. 진정으로 누락된 노트. 대상이 존재한 적이 없습니다. 보고하십시오. 자동 생성하지 마십시오. 빈 스텁은 답변된 것처럼 보이기 때문에 깨진 링크보다 더 나쁩니다.
찾기-바꾸기 금지
범위가 지정되지 않은 찾기-바꾸기로 링크를 수리하지 마십시오. 보관소 전체를 대상으로 하는 맹목적인 대체는 검색 문자열을 포함하는 폴더 이름, URL, 코드 블록 및 태그 어휘를 망가뜨릴 것입니다. 실행 취소가 불가능하므로 손상은 영구적입니다. 파일별로 수정하고, 주변 줄을 먼저 읽으십시오.
기타 검사
-
중복 기본 이름은 보관소 전체에서 링크를 모호하게 만듭니다. Obsidian이 보관소 전체에서 파일 이름으로
[[링크]]를 확인하기 때문입니다. 일반적인 원인은 보관소 내부에 존재하는 코드 프로젝트나 종속성 트리로, 수천 개의 유령.md파일을 생성합니다. 이를 플래그로 표시하십시오. 해결 방법은 프로젝트를 보관소 밖으로 이동하거나 제외 항목을 추가하는 것입니다. 묻지 않고 아무것도 삭제하지 마십시오. -
프론트매터는 실제로 파싱되어야 합니다. 모든 블록을 실제 YAML 파서를 통해 실행하십시오. 눈으로 확인하지 마십시오. 지배적인 실패는
:(콜론-공백)을 포함하는 따옴표 없는 일반 스칼라로, 해당 문자에서 실패하고 그 아래의 모든 키를 함께 가져가 전체 블록을 Obsidian의 속성 패널과 Dataview에 보이지 않게 만듭니다. 두 번째 일반적인 실패:|또는>로 시작하는 따옴표 없는 값은 YAML 블록 스칼라를 엽니다.수정은 값 인용을 의미하며, 많은 로드를 지탱하는 노트의 경우 수백 개의 키에 영향을 미칠 수 있습니다. 제안만 하고, 승인 없이 절대 수행하지 마십시오, 그리고 파일을 먼저 백업하십시오. 수정될 때까지는 두 번째 스타일을 도입하지 말고 기존의 (깨진) 관례를 따르십시오. 유효하지 않은 블록 내의 외로운 유효 키는 아무것도 사지 않습니다.
-
태그는 인라인 해시태그가 아닌 YAML 목록에 속합니다. 이상적인 어휘가 아닌 보관소의 실제 어휘와 대조하십시오. 표류(drift)를 보고하십시오. 일방적으로 다시 태그를 지정하지 마십시오.
-
오래된 상태 —
PAUSED/STALLED/TODO마커를 가지고 있지만 프로젝트가 이미 진행된 노트입니다. 보고하십시오. 직접 해결하지 마십시오. -
차가운 허브 — 가장 최근의 상태 섹션이 프로젝트의 가장 최근 활동보다 이전인 허브 노트는 최신 상태가 아닙니다. 그 차이를 보고하십시오.
출력
버킷별로 정렬되고, 개수와 정확한 파일:줄 참조가 포함된 보고서입니다. 수리를 제안하십시오. 사용자가 승인한 수리만 수행하십시오.
어떤 발견이 검증된 것이고 어떤 것이 이름에서 추론된 것인지 명확히 밝히십시오. 표류(drift)처럼 보이는 대상은 사용자가 작성하려는 노트일 수 있습니다.