A4P 성경구절

unlisted

by abadcsh

볼트의 성경 구절 노트를 장절 참조로 검색해 인용 콜아웃 + wikilink로 삽입합니다.

Updated 17d agoMIT
View on GitHub

A4P 성경구절 (a4p-bible-verse)

옵시디언 볼트의 성경 구절 노트를 장절 참조로 검색해서, 작성 중인 노트에 인용 콜아웃 + wikilink 형태로 삽입하는 플러그인입니다.

구절당 1개 노트(요3_16.md)가 구약/신약 → 책 폴더 구조로 들어 있는 성경 데이터셋을 사용합니다. 각 구절 노트에는 5개 역본(새번역·개역개정·쉬운성경·NIV·KJV)이 > [!quote] 역본명 콜아웃으로 들어 있어야 합니다.

설치 (BRAT)

  1. 커뮤니티 플러그인에서 BRAT(Obsidian42 - BRAT)를 설치·활성화합니다.
  2. BRAT 설정 → Add Beta plugin → 이 저장소 주소를 입력합니다.
  3. 커뮤니티 플러그인 목록에서 A4P 성경구절을 활성화합니다.

초기 설정

  1. 설정 → A4P 성경구절성경 폴더 경로에 볼트 내 성경 폴더 경로를 입력합니다.
    • 예: 100. notes/170. 성경 (이 폴더 아래에 구약, 신약 폴더가 있어야 합니다)
  2. 검증 버튼을 눌러 66권 인식과 샘플 구절 읽기가 통과하는지 확인합니다.
  3. 기본 역본을 선택합니다 (기본값: 새번역).

사용법

검색·삽입 모달

커맨드 팔레트에서 **"성경 구절 검색·삽입"**을 실행합니다 (단축키 지정 권장, 예: Cmd+Shift+B).

검색 입력:  요3:16 / 요3:16-20 / 요한복음 3장 16절 / 시23편 / 사랑 은혜 (키워드)
동작
Enter체크된 절 전체 삽입 후 닫기
/ 목록 이동 (로 목록 진입)
Space (목록에서)절 선택/해제
Cmd+Enter현재 절 1개만 삽입하고 모달 유지 — 이어서 다른 참조 입력 가능
Tab / Shift+Tab역본 전환
Cmd+Shift+C선택 절 플레인 텍스트 복사
Esc목록 → 입력창 → 닫기

본문 키워드 검색

장절이 기억나지 않을 때 본문에 들어 있는 단어로 검색할 수 있습니다. 참조 형식이 아닌 입력은 자동으로 키워드 검색으로 전환됩니다:

  • 사랑 → "사랑"이 포함된 모든 절 (조사·활용이 붙은 "사랑하셔서"도 찾습니다)
  • 사랑 은혜 → 두 단어가 모두 들어 있는 절이 정경 순으로 먼저, 일부만 들어 있는 절이 관련성 순으로 뒤에 표시됩니다
  • 정확히 일치하는 절이 없으면 비슷한 절을 대신 보여줍니다 (오타 보정)

첫 키워드 검색 시 전체 구절 노트를 읽어 인덱스를 만듭니다(진행률 표시, 수 초). 이후에는 플러그인 폴더의 캐시(verse-index.json) 덕분에 옵시디언을 재시작해도 바로 검색됩니다. 매칭된 단어는 목록에서 하이라이트되고, 결과 선택·삽입·복사·역본 전환은 참조 검색과 동일하게 동작합니다 (여러 책의 절을 함께 선택하면 책·장별로 블록이 나뉘어 삽입됩니다).

기본은 현재 선택한 역본에서만 찾으며, 설정 → 키워드 검색 대상 역본전체 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로 미리보기만 닫힙니다.

주석 바로가기

주석 폴더(기본 171. 성경주석, 성경 폴더 하위)에 장 통합주석 노트가 있으면, 검색한 절이 속한 단락(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.