Korean Book Info Plugin

by kmsk99
5
4
3
2
1
Score: 70/100

Description

Category: 3rd Party Integrations

The Korean Book Info Plugin plugin streamlines the process of importing detailed book information from Yes24 directly into the front matter of an Obsidian document. With this plugin, users can automatically insert data such as the book title, author, category, total pages, publication date, cover URL, reading status, and personal ratings into a structured format. The plugin also allows users to customize default values for tags, status, ratings, and notes, while optionally including the book title in the main content.

Reviews

No reviews yet.

Stats

28
stars
24,121
downloads
14
forks
1,629
days
8
days
8
days
11
total PRs
0
open PRs
1
closed PRs
10
merged PRs
9
total issues
0
open issues
9
closed issues
7
commits

Latest Version

8 days ago

Changelog

원하는 책을 직접 선택하세요

Add Book Info를 실행하면 검색 결과 목록이 열립니다. 제목·저자·출판사·발행월·판본을 확인한 뒤 원하는 책을 선택하세요. 검색 결과가 하나여도 자동으로 가져오지 않습니다.

개선 사항

  • 제목·저자·ISBN 검색, 국내도서·외국도서·전자책 전환 및 페이지 이동
  • 자동완성 대신 실제 검색 API 사용: 세트나 다른 판본이 첫 번째라는 이유로 가져오던 문제 개선 (#18)
  • JSON-LD 기반 상세정보와 ISBN·출판사·YES24 원문 링크 추가
  • 검색 실패 시 Loading 이후 멈추던 문제와 책소개 undefined 문제 수정 (#17)
  • 취소 시 노트 유지, 기존 독서 상태·별점·사용자 속성과 본문 보존
  • 반복 실행 시 생성한 본문 영역만 갱신, 동일 파일 이름 충돌 시 저장 전 중단
  • 15초 요청 제한, 플러그인 종료 후 늦은 응답 저장 방지, 저장 실패 안내 개선

사용 시 참고

  • 최소 Obsidian 1.8.0이 필요합니다.
  • 본문에서 kr-book-info:start와 kr-book-info:end 주석 사이의 내용은 재실행 시 교체됩니다. 독서 메모는 이 영역 밖에 작성하세요.
  • 기존 1.4.0에서 생성한 본문은 보존되므로 처음 업데이트한 뒤 중복되는 옛 도서 소개가 있다면 직접 정리할 수 있습니다.
  • 데스크톱 Obsidian 1.12.7과 1.13.7에서 실제 YES24 요청으로 검증했습니다. 모바일 실기기는 아직 검증하지 않았습니다.

검증 및 유지보수

  • 자동 테스트 97개 통과, 전체 줄·구문·함수 커버리지 100%, 분기 커버리지 98.37%
  • 의도적으로 넣은 회귀 6종을 모두 테스트가 감지
  • CI 복구 및 테스트·빌드 후 배포 파일을 생성하는 릴리스 자동화
  • 오래된 압축파일과 중복 빌드 파일 정리

수동 설치 시 main.js, manifest.json, styles.css를 .obsidian/plugins/kr-book-info-plugin/에 넣고 플러그인을 다시 활성화하세요.

English

Choose the exact book and edition from a searchable, paginated list instead of importing the first autocomplete result. This release adds ISBN search, Korean/foreign/ebook filters, structured metadata, safer persistence and clearer failure handling. Existing reading properties and notes outside the generated section are preserved.

README file from

Github

KR Book Info

CI

Obsidian 노트에 YES24 도서 정보와 표지를 가져오는 플러그인입니다. 제목·저자·ISBN으로 책을 찾고, 원하는 판본을 선택해 독서 노트의 속성을 채웁니다.

Obsidian에서 열기 · 릴리스 · English

설치

Obsidian의 설정 → 커뮤니티 플러그인 → 탐색에서 Korean Book Info를 검색해 설치하고 활성화하세요. Obsidian 1.8.0 이상이 필요하며 YES24 계정이나 API 키는 필요하지 않습니다.

사용 방법 (1.5.0)

  1. 정보를 넣을 Markdown 노트를 열고 Add Book Info 명령이나 리본 버튼을 실행합니다.
  2. 노트 제목으로 검색한 목록에서 저자·출판사·발행월·판본을 확인합니다.
  3. 원하는 도서를 누르면 해당 상품의 정보를 가져옵니다. 결과가 하나여도 직접 선택합니다.

제목, 저자 또는 ISBN으로 다시 검색할 수 있습니다. 국내도서·외국도서·전자책을 전환하고 이전/다음 페이지로 이동할 수 있습니다. 품절 도서도 검색에 포함됩니다. 취소하거나 검색 결과가 없으면 노트를 변경하지 않습니다.

  • 기존 status, my_rate, book_note, 독서 날짜, tag와 사용자 속성을 보존합니다.
  • 제목·저자·ISBN 등 도서 속성은 선택한 도서로 갱신합니다.
  • 본문의 kr-book-info 주석 사이만 재실행 시 교체합니다. 그 밖의 본문은 보존합니다. 생성 영역 안에 쓴 내용은 다음 실행 시 교체되므로 독서 메모는 영역 밖에 작성하세요.
  • 같은 파일 이름이 이미 있으면 저장 전에 중단합니다.
  • 검색어를 YES24에 보내며 계정·API 키는 필요하지 않습니다.
  • 새 도서 속성: publisher, isbn, yes24_url.

YES24의 검색 API와 상세 페이지 구조에 의존합니다. 검색 API는 HTML 조각을 담은 JSON을 반환하며, 상세정보는 JSON-LD를 우선 사용합니다. 조사 및 검증 기록

저장되는 정보 예시

---
title: 데미안
author: 헤르만 헤세
publisher: 민음사
isbn: "9788937460449"
total_page: 239
publish_date: 2000-12-20
cover_url: https://image.yes24.com/goods/176787/xl
yes24_url: https://www.yes24.com/Product/Goods/176787
status: 읽는 중
my_rate: 5
---

기본 Tag, Status, Rate, Book Note와 본문 제목·책소개·목차 삽입 여부는 설정에서 바꿀 수 있습니다. 기본값은 해당 속성이 없는 노트에만 적용합니다.

English

Run Add Book Info from the command palette or ribbon with a Markdown note open. Search by title, author or ISBN, then choose the edition you want. The list shows publication details and supports Korean books, foreign books, ebooks and pagination. Cancelling leaves your note unchanged. Personal reading properties and text outside the generated section are preserved. Text inside the generated section is replaced on the next import.

The plugin sends search terms to YES24. No account or API key is required. YES24 can change its unofficial endpoints or page structure; see the linked research and verification notes for the current assumptions and test scope.

개발과 검증

pnpm install --frozen-lockfile
pnpm test
pnpm build

main.js, manifest.json, styles.css가 배포 파일입니다. 1.5.0처럼 manifest 버전과 일치하는 태그를 푸시하면 테스트·빌드를 거쳐 초안 릴리스가 생성됩니다. Obsidian에서 검증한 뒤 릴리스 노트를 확인하고 게시하세요.

97 unit, integration and release bundle tests cover recorded YES24 responses, selection/cancellation, request failures, persistence and collisions. Coverage thresholds cover main.ts and src/ at 100% statements, lines and functions, and 95% branches. Native Obsidian testing is recorded separately in the verification notes.

pnpm exec jest --watch
pnpm run dev