A4P 성경구절
unlistedby abadcsh
볼트의 성경 구절 노트를 장절 참조로 검색해 인용 콜아웃 + wikilink로 삽입합니다.
A4P 성경구절 (a4p-bible-verse)
옵시디언 볼트의 성경 구절 노트를 장절 참조로 검색해서, 작성 중인 노트에 인용 콜아웃 + wikilink 형태로 삽입하는 플러그인입니다.
구절당 1개 노트(요3_16.md)가 책 폴더(01.창세기 …)에 들어 있는 성경 데이터셋을 사용합니다. 각 구절 노트에는 5개 역본(새번역·개역개정·쉬운성경·NIV·KJV)이 > [!quote] 역본명 콜아웃으로 들어 있어야 합니다. 구약과 신약 폴더를 각각 지정하므로 데이터셋을 볼트 어디에 두어도 되고, 중간 폴더의 이름·유무도 상관없습니다.
설치 (BRAT)
- 커뮤니티 플러그인에서 BRAT(Obsidian42 - BRAT)를 설치·활성화합니다.
- BRAT 설정 →
Add Beta plugin→ 이 저장소 주소를 입력합니다. - 커뮤니티 플러그인 목록에서 A4P 성경구절을 활성화합니다.
초기 설정
- 설정 → A4P 성경구절 → 구약 성경 폴더 입력칸을 클릭합니다.
- 볼트의 폴더 목록이 나타납니다. 이름 일부를 입력해 검색한 뒤, 구약 성경 노트를 넣어둔 폴더를 선택하세요 (직접 타이핑할 필요 없음).
- 폴더 위치와 이름은 자유입니다. 그 아래의 책 폴더(
01.창세기…)는 자동으로 찾습니다.
- 검증 버튼을 눌러 구약 39권 인식과 샘플 구절 읽기가 통과하는지 확인합니다.
- 신약 성경 폴더도 같은 방식으로 선택하고 검증합니다 (신약 27권 + 샘플).
- (선택) 주석 폴더 경로 — 주석 노트 패키지를 넣어둔 폴더를 선택하고 검증합니다. 성경 폴더와 다른 위치여도 됩니다.
- (선택) 설교 폴더 경로 — 설교 노트가 모여 있는 폴더를 선택하고 검증합니다.
- 기본 역본을 선택합니다 (기본값: 새번역).
옵시디언이 느릴 때 확인 순서
성경 구절 노트는 약 3만 개입니다. 이 플러그인은 옵시디언을 켤 때 아무 작업도 하지 않지만(0.11.1부터), 옵시디언 자체가 3만 개 파일을 인덱싱하는 데는 시간이 걸립니다. 느리다고 느껴지면 아래 순서로 원인을 가려 보세요.
- 플러그인을 끄고 옵시디언을 다시 켜 보세요. 그래도 똑같이 느리면 원인은 플러그인이 아니라 볼트의 파일 수입니다. 첫 실행이나 동기화 직후에 특히 오래 걸리고, 두 번째 실행부터 빨라지는 것이 정상입니다.
- 옵시디언 설정의 시작 시간 디버그(Debug startup time) 항목(옵시디언 1.6 이상)에서 플러그인별 로드 시간을 직접 확인할 수 있습니다. A4P 성경구절은 수 ms 수준이어야 합니다.
- 사양이 낮은 PC라면 설정 → A4P 성경구절 → 본문 키워드 검색 사용을 끄세요. 단어 검색만 꺼지고 장절 참조 검색·자동완성·삽입은 그대로 동작합니다.
- iCloud·OneDrive 볼트는 파일 동기화가 끝나기 전까지 느릴 수 있습니다. 설정의 검증 버튼이 보여 주는 절 파일 수로 동기화 완료 여부를 확인하세요.
사용법
검색·삽입 모달
커맨드 팔레트에서 **"성경 구절 검색·삽입"**을 실행합니다 (단축키 지정 권장, 예: Cmd+Shift+B).
검색 입력: 요3:16 / 요3:16-20 / 요한복음 3장 16절 / 시23편 / 사랑 은혜 (키워드)
| 키 | 동작 |
|---|---|
Enter | 체크된 절 전체 삽입 후 닫기 |
↓ / ↑ | 목록 이동 (↓로 목록 진입) |
Space (목록에서) | 절 선택/해제 |
Cmd+Enter | 현재 절 1개만 삽입하고 모달 유지 — 이어서 다른 참조 입력 가능 |
Tab / Shift+Tab | 역본 전환 |
Cmd+Shift+C | 선택 절 플레인 텍스트 복사 |
Esc | 목록 → 입력창 → 닫기 |
본문 키워드 검색
장절이 기억나지 않을 때 본문에 들어 있는 단어로 검색할 수 있습니다. 참조 형식이 아닌 입력은 자동으로 키워드 검색으로 전환됩니다:
사랑→ "사랑"이 포함된 모든 절 (조사·활용이 붙은 "사랑하셔서"도 찾습니다)사랑 은혜→ 두 단어가 모두 들어 있는 절이 정경 순으로 먼저, 일부만 들어 있는 절이 관련성 순으로 뒤에 표시됩니다- 정확히 일치하는 절이 없으면 비슷한 절을 대신 보여줍니다 (오타 보정)
첫 키워드 검색 시 전체 구절 노트를 읽어 인덱스를 만듭니다. 캐시가 없어 3만 개 파일을 실제로 읽어야 할 때는 먼저 확인창이 뜨며(보통 수십 초, 저사양 PC나 동기화 중인 볼트에서는 수 분), 취소하면 아무 작업도 하지 않습니다. 이후에는 플러그인 폴더의 캐시(verse-index.json) 덕분에 옵시디언을 재시작해도 바로 검색됩니다. 사양이 낮은 PC에서는 설정 → 본문 키워드 검색 사용을 끄면 단어 검색과 인덱스 관련 작업이 전혀 일어나지 않습니다(장절 참조 검색은 그대로). 매칭된 단어는 목록에서 하이라이트되고, 결과 선택·삽입·복사·역본 전환은 참조 검색과 동일하게 동작합니다 (여러 책의 절을 함께 선택하면 책·장별로 블록이 나뉘어 삽입됩니다).
기본은 현재 선택한 역본에서만 찾으며, 설정 → 키워드 검색 대상 역본을 전체 5역본으로 바꾸면 다른 역본에서 매칭된 절도 뱃지와 함께 표시됩니다. (키워드 검색은 데스크톱 전용입니다 — 모바일에서는 장절 참조 검색만 지원)
에디터 자동완성
노트에서 ;;요3:16처럼 트리거 + 참조를 입력하면 역본 5개가 제안되고, 선택하면 바로 콜아웃으로 치환됩니다. (설정에서 끄거나 트리거 변경 가능)
병렬 삽입 — 이중 언어 설교용
해외 사역 등으로 한글·영문 본문이 함께 필요하면 병렬 트리거(기본 ;;;)를 사용합니다:
;;;요3:16-17
설정에 등록해둔 역본 쌍(기본: 새번역 + NIV)이 절마다 교차로 들어갑니다:
> [!quote] [[요3_16|요한복음 3:16-17]] (새번역 · NIV)
> [[요3_16|16]] 하나님이 세상을 이처럼 사랑하셔서 …
> _For God so loved the world that he gave his one and only Son, …_
> [[요3_17|17]] 하나님께서 아들을 세상에 보내신 것은 …
> _For God did not send his Son into the world to condemn the world, …_
역본 쌍과 트리거는 설정 → **병렬 삽입 (이중 역본)**에서 변경할 수 있습니다.
모달에서도 역본 버튼을 Cmd+클릭하면 병렬 역본으로 지정되어(테두리 표시), 삽입·복사에 두 역본이 함께 들어갑니다.
그 외
- 호버 미리보기: 구절 행·칩 위에서
Cmd를 누른 채 호버하면 노트 미리보기가 뜹니다 (hover-editor 설치 시 연동). - 각주 표기 정리(설정, 기본 꺼짐): 본문의 소제목(
<다윗의 노래>)과 각주 마커(a),(a. …))를 삽입·복사 시 제거합니다.
관련구절·평행본문 탐색
모달에서 구절을 검색하면 목록 아래에 그 구절 노트에 정리된 관련구절·평행본문이 칩으로 나타납니다. 칩을 클릭하면 해당 구절로 검색이 전환되어, 본문에서 연결 본문으로 넓혀가며 설교를 준비할 수 있습니다.
인라인 미리보기
관련구절·주석·인용한 설교 칩을 클릭하면 모달을 떠나지 않고 우측 패널에 내용이 열립니다. 미리보기 안의 위키링크를 클릭하면 계속 미리보기로 이어서 탐색할 수 있고, 실제 이동이 필요할 때만 열기 버튼을 누릅니다 (새 탭). 구절 미리보기에는 검색 버튼이 있어 그 구절로 검색을 전환할 수 있습니다. Esc로 미리보기만 닫힙니다.
주석 바로가기
설정한 주석 폴더에 장 통합주석 노트(책이름 N장 통합주석.md)가 있으면, 검색한 절이 속한 단락(pericope) 헤딩으로 바로 가는 주석 칩이 모달에 표시됩니다. 주석 폴더는 성경 폴더와 다른 위치여도 되고, 내부 폴더 구조도 자유입니다 (파일명으로 인식). 예: 요3:16 검색 → 주석: 3:14-17 - 들려야 할 인자와 하나님의 사랑 → 클릭하면 해당 위치가 새 탭으로 열립니다.
인용한 설교 표시
검색한 구절을 인용(wikilink)한 설교 노트가 모달 하단에 표시됩니다. "이 본문으로 설교한 적이 있었나?"를 바로 확인하고, 클릭하면 그 노트가 새 탭으로 열립니다. 찾는 범위는 설정 → 설교 폴더 경로로 지정합니다 (비우면 성경·주석 폴더를 제외한 전체 볼트).
클립보드 복사 (주보·PPT용)
모달의 복사 버튼(또는 Cmd+Shift+C)은 선택된 절을 콜아웃·wikilink 없는 플레인 텍스트로 복사합니다:
요한복음 3:16-18 (새번역)
16 하나님이 세상을 이처럼 사랑하셔서 …
17 하나님께서 아들을 세상에 보내신 것은 …
삽입 형식
단일 절:
> [!quote] [[요3_16|요한복음 3:16]] (새번역)
> 하나님이 세상을 이처럼 사랑하셔서 독생자를 주셨으니, …
범위 (절마다 구절 노트로 wikilink가 걸려 백링크·그래프 연결이 유지됩니다):
> [!quote] [[요3_16|요한복음 3:16-18]] (새번역)
> [[요3_16|16]] 하나님이 세상을 이처럼 사랑하셔서 …
> [[요3_17|17]] 하나님께서 아들을 세상에 보내신 것은 …
> [[요3_18|18]] 아들을 믿는 사람은 심판을 받지 않는다 …
설정 → 삽입 형식을 일반 텍스트로 바꾸면 콜아웃 없이 본문만 들어갑니다. wikilink 구조는 그대로 유지되어 백링크·인용한 설교 기능이 계속 작동합니다:
[[요3_16|요한복음 3:16-18]] (새번역)
[[요3_16|16]] 하나님이 세상을 이처럼 사랑하셔서 …
[[요3_17|17]] 하나님께서 아들을 세상에 보내신 것은 …
[[요3_18|18]] 아들을 믿는 사람은 심판을 받지 않는다 …
설정 → 범위 삽입 스타일을 한 문단 이어붙임으로 바꾸면 범위 삽입 시 절들이 줄바꿈 없이 한 문단으로 이어 붙습니다 (콜아웃·일반 텍스트 모두 적용):
[[요3_16|요한복음 3:16-18]] (새번역)
[[요3_16|16]] 하나님이 세상을 이처럼 사랑하셔서 … [[요3_17|17]] 하나님께서 아들을 세상에 보내신 것은 … [[요3_18|18]] 아들을 믿는 사람은 심판을 받지 않는다 …
지원하는 참조 문법
| 입력 | 결과 |
|---|---|
요3:16, 요3_16, 요3장16절 | 단일 절 |
요한복음 3장 16절 | 단일 절 (정식 책 이름) |
요3:16-20, 요3:16~20 | 절 범위 |
요3, 요3장, 시23편 | 장 전체 |
요3:36-4:2 | 장 경계를 넘는 범위 |
요일4:9 | 요한1서 4:9 (약자 자동 구분) |
사랑 은혜 (참조 형식이 아닌 입력) | 본문 키워드 검색 |
- 없는 절 범위는 자동으로 잘라서 안내합니다 (예:
요3:35-40→ 3:35-36).
개발
npm install
npm run dev # watch 빌드
npm run build # 타입체크 + 프로덕션 빌드
npm test # vitest (파서·포매터 단위 테스트)
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.