Logos 서재 Obsidian에서 정리하기

나는 Logos 앱을 이용하고 있고, 내 Logos 서재에는 1362개의 자료가 들어 있다. 이 중에는 355권의 한국어 책과 706권의 영어 책이 포함되어 있다. (패키지로 구매한 것이기 때문에 다른 언어, 예컨대 히브리어나 헬라어, 독일어, 중국어 등으로 된 자료들도 있다.)

Logos 앱이 사용하기에 나쁘거나 불편하지는 않은데, 서재에 있는 책들을 찬찬히 살펴보기에는 쉽지 않은 것이 사실이다. 그리고 읽는 것과 쓰면서 정리하는 것이 같이 이루어져야 하기 때문에 Obsidian을 지식관리시스템의 중심으로 쓰고 있는 내 경우에는 Obsidian 안에 Logos의 서재가 정리되어 있는 것이 여러모로 편리하다.

이제 필요한 것은 Logos 서재의 내용을 Obsidian에 어떻게 넣어두고 참조하고 읽을 것인가 하는 방법을 찾는 것이다. 검색을 통해서 이런 일을 한 사람이 있고 그 방법도 잘 정리되어 있는 것을 알게 되었다. Import Your Logos Library Into Obsidian - Share & showcase - Obsidian Forum 이 페이지에서 그 방법을 볼 수 있는데, 대체적으로 좋은 방법이지만 실제로 해 보니 몇 가지 수정해야 할 부분이 있었고, 내 목적에 맞추어 개선할 수 있는 부분도 있었다. 그래서 내가 최종적으로 사용한 방법을 여기에 정리해 놓고자 한다.

서재 리스트 파일 준비

Logos 앱에서 서재 리스트 파일 저장

첫번째 할일은 Logos 내에 있는 서재 리스트를 파일로 저장하는 일이다. 일단 로고스 앱에서 서재를 열고 우측 상단에 있는 점 세개를 누르면 아래와 같이 print/export 메뉴를 찾을 수 있다.

Logos 서재 export

이제 print/export 메뉴를 누르면 새로운 창이 뜨는데, 여기서 Save as file 아래에 있는 Spreadsheet (Excel, etc) 을 누른다. Format을 CSV로 바꿔준 후에 원하는 위치에 원하는 이름으로 파일을 저장한다. 여기서는 logos-library.csv 파일로 저장한 것으로 하자.

CSV 파일 수정

CSV 파일의 첫 줄은 row name이다. 그런데 이 이름 사이에 공백이 들어 있으면 뒤에서 작업할 때 문제가 생기므로, row name에 들어 있는 공백은 모두 지우도록 한다. 윈도우라면 메모장, 맥이라면 텍스트 편집기로 이 파일을 연 후에 첫 줄에 있는 모든 공백을 지워주면 된다. 예를 들어, logos-library.csv파일의 첫줄 첫번째 row name은 Resource ID이다. 이걸 ResourceID로 바꾸어준다. 이후에 있는 모든 row name을 같은 방식으로 수정한 후에 저장한다.

CSV 파일에 링크 추가

Logos 앱의 모든 리소스들은 다 링크를 가질 수 있다. 당연히 서재의 책도 링크를 가지고 있다. 이 링크는 어느 책이든간에 우측 상단에 있는 점 세개를 누르고 Copy Location as:메뉴에 있는 아이템을 클릭하면 복사할 수 있다. 여기에는 URL, HTML, L4, WIKI, RL 등 다섯개의 선택지가 있는데, 나는 이 중에서 가장 호환성이 높은 URL을 사용할 것이다. 이 URL은 https://ref.ly/logosres/뒤에 Resource ID를 붙인 형태로 되어 있다. 상세 페이지까지 링크할 수 있지만 (deep link), 여기서는 책을 여는 것으로 충분하기 때문에 ResourceID 까지만 붙일 예정이다.

CSV 파일에 링크를 추가하는 파이썬 코드는 아래와 같다. 파이썬을 설치하는 것은 검색으로 해결해야 하고, pip로 pandas가 설치되어 있어야 한다.

import pandas as pd
df = pd.read_csv(‘logos-library.csv)
df[‘Link’] = ‘https://ref.ly/logosres/' + df[‘fileName’].str.split(‘.’).str[0]
df.to_csv(‘logos-library-link.csv’)

이렇게 하면 logos-library-link.csv라는 이름의 인풋 파일 만드는 과정이 완료된다.

테스트 CSV 파일 만들기

만약 CSV 파일의 크기가 크다면 굳이 전체 파일로 시행 착오를 반복할 필요가 없다. 만들어진 CSV 파일의 첫 세줄만 복사하여 새로운 파일 logos-library-link-test,csv을 만들어 놓는다. 이 파일로 아래의 과정을 진행하고, 문제가 없는 것이 확인되면 logos-library-link.csv파일을 사용하는 것을 추천한다.

Obsidian에서 CSV 파일 불러오기

JSON/CSV Importer 플러그인 설치

Obsidian의 커뮤니티 플러그인에서 JSON/CSV Importer를 검색하여 설치한다. 이 플러그인은 여기에서 개발되고 있다. 이 플러그인은 json이나 csv로 된 데이터 파일을 Obsidian에 읽어들여서 그 안에 들어 있는 데이터를 이용해 파일을 만들어주는 역할을 한다.

템플릿 만들기

데이터를 읽은 후에는 그 데이터를 이용하여 md 파일을 만드는데, 이 파일의 모양을 만들어주는 것이 템플릿 파일이다. 내가 사용한 템플릿 파일은 아래와 같다. 이걸 그대로 사용해도 되고, 원하는 방식으로 바꾸어 사용해도 된다. 나는 이걸 logos-template.md파일로 저장했다.

---
Author: "{{Authors}}"
ResourceType: "{{ResourceType}}"
type: Book
media: eBook
publish: "{{PublicationDate}}"
File Name: "{{FileName}}"
Series: "{{Series}}"
Subjects: "{{Subjects}}"
status: ToRead
MyTags: "{{MyTags}}"
CommunityTags: "{{CommunityTags}}"
Language: "{{Languages}}"
aliases: ["{{Title}}"]
Title: "{{Title}}"
Link: "{{Link}}"
---

# {{Title}}

[Link to {{Title}}]({{Link}})

내가 사용하는 Obsidian 환경 ()minimal 테마)에서는 아래와 같이 보인다.

logos template in Obsidian

JSON/CSV Importer로 파일 가져오기

이제 준비한 CSV 파일을 가져와서 Obsidian 안에 파일을 만들 준비가 다 되었다. 메뉴 아이콘 중에 돋보기 모양을 하고 있는 이 플러그인의 버튼을 누르거나 ⌘ + P (윈도우에서는 Alt + P) 버튼을 누른 후 JSON을 입력해서 실행하면 아래와 같은 실행 화면이 나온다.

JSON/CSV Importer
  1. Choose JSON/CSV File 부분에 아까 만든 logos-library-link-test.csv파일을 넣고, Choose TEMPLATE File 부분에 위에서 저장한 logos-template.md파일을 넣는다.
  2. Field to use as Note name 부분에 ResourceID를 넣는다. 이게 그대로 파일 이름으로 사용된다고 생각하면 된다. 원래 CSV 파일 안에는 LLS:NAC28과 같이 써 있는데, 이 중에서 colon은 파일 이름에 사용될 수 없으므로 underscore로 바뀔 것이고, 그래서 이 경우에는 LLS_NAC28로 변경될 것이다. 이 부분은 플러그인에서 알아서 해 줄 것이니 신경쓸 필요는 없다.
  3. 만약 파일 이름의 앞이나 뒤에 특정 텍스트를 넣고 싶다면 Note name prefix/suffix 필드에 텍스트를 넣어주면 된다 (나는 여기에 아무 것도 넣지 않았다).
  4. 마지막으로 Name of Destination Folder in Vault 부분에 이 파일들을 저장할 폴더 이름을 넣어준다. 아무것도 넣지 않으면 루트 디렉토리에 파일이 저장되는데, 웬만하면 별도의 폴더에 넣는 것을 추천한다. 만약 폴더가 없으면 만들어주기 때문에 미리 폴더를 만들어둘 필요는 없다.

준비가 다 되었으면 가장 아래에 있는 IMPORT 버튼을 누르면 파일이 만들어진다. 세 줄만 있는 테스트 파일을 사용하고 있으니 파일은 두 개가 만들어졌을 것이다. 이 두 파일을 열어보고 원하는대로 잘 만들어졌는지 확인한다. 템플릿을 수정하고 싶어지면 Obsidian에서 적절하게 수정한 후에 다시 실행하는 과정을 반복할 수 있다.

모든 과정이 잘 되었다고 생각하면 이제 위와 동일한 과정을 인풋 파일만 logos-library-link.csv파일로 변경하여 진행한다.

Obsidian에서 인덱스 파일 만들기

많은 파일을 만들었지만, 이걸 제대로 활용하기 위해서는 인덱스 파일이 있는 것이 좋다. 내가 만든 인덱스 파일은 아래와 같다. (이렇게 인덱스를 만들기 위해서는 Dataview 플러그인이 설치되어 있어야 한다.)

## 한국어 책

```dataview
TABLE Title, Link, series, publish
FROM "03Resources/Logos"
WHERE language = "Korean"
```

## English Books

```dataview
TABLE Title, Link, series, publish
FROM "03Resources/Logos"
WHERE language = “English”
```

## Other Languages

```dataview
TABLE Title, Link, series, publish
FROM "03Resources/Logos"
WHERE language != “Korean” AND language != “English”
```

이렇게 만든 파일은 아래와 같이 보인다.

logos index file

여기서 File 부분에 있는 링크를 누르면 해당 파일이 Obsidian에서 열리고, Link 부분을 누르면 Logos 앱에서 해당 책이 열린다. 이 인덱스 파일의 좋은 점은 이렇게 설정을 해 두면 컴퓨터이든 모바일이든 상관없이 Logos 앱에서 잘 열린다는 점이다. 내 경우에는 맥과 윈도우 컴퓨터, 아이폰과 아이패드 모두에서 잘 동작하는 것으로 확인되었다.

Updated:

Comments