Obsidian/플러그인

옵시디언 웹 클리핑(스크래핑) - 옵시디언 플러그인(Local REST API for Obsidian), 크롬 확장(Obsidian Web)

eoureo 2023. 3. 30. 12:09

옵시디언 웹 클리핑(스크래핑) - 옵시디언 플러그인(Local REST API for Obsidian), 크롬 확장(Obsidian Web)

 

옵시디언을 쓴 지 얼마 되지는 않지만 여러 가지 스크랩 방법을 써 봤습니다.
모두가 어느 정도 마음에 차지 않는 점들이 있었습니다.

  • CORS 제한
    보안 문제로 몇몇 사이트는 안됨(https://github.com/c, https://developer.mozilla.org/).
  • Obsidian URI - 2048이라는 글자 수 한계
    한글, 공백 등을 쓰면 URI에 쓸 수 있도록 바뀌어야 합니다.
    그래서 400여자가 못되어도 URI 형식으로 바꾸면 2048자가 넘어 에러가 나서 실행이 되지 않았습니다.

우연히 크롬 확장에서 "Obsidian" 검색을 해보니 "Obsidian Web"을 찾을 수 있었습니다. 요즘은 대부분의 웹 브라우저(엣지, 웨일, 브레이브)가 크로미움 기반이므로 같이 쓸 수 있습니다.

옵시디언 플러그인(Local REST API for Obsidian)과 크롬 확장(Obsidian Web) 두 개를 설치해야 합니다. 둘 다 같은 개발자가 만들었더군요.

 

페이지 일부를 선택하여 오늘 일지(Daily note)에 추가하는 방법 (기본 템플릿 그대로 사용 - "Append to current daily note")

페이지 일부를 선택하여 일지(Daily note)에 추가
페이지 일부를 선택하여 일지(Daily note)에 추가 - 결과


전체 페이지를 Scraps 폴더의 새 노트로 만드는 방법 (이 템플릿은 기본 템플릿을 조금 고쳤습니다. 아래 "Create new note - Scraps 폴더로 (selection or full)"에 소스가 있습니다.)

전체 페이지를 노트로
전체 페이지를 노트로 - 결과

테스트 페이지: 큰개불알꽃, 누가 왜 이런 이름 지었는지 알면 놀란다 - 오마이뉴스  (뉴스기사 보기). 봄에 땅바닥에 붙어 있다시피 핀 꽃. 새끼손톱보다 작은 꽃 - 이 아름다운 꽃 이름이 너무 하네요. 봄까치꽃이라 바꿔 불러야지요.

  

 

설치하기

  1. 옵시디언 플러그인(Local REST API for Obsidian) 설치하고 사용(enable)으로 설정
    "설정 > 커뮤니티 플러그인"에서 찾을 수 있음.

  2. 크롬 확장(Obsidian Web) 설치
    Obsidian Web - Chrome 웹 스토어 크롬에 추가

  3. 크롬 확장 설정
    옵시디언 플러그인(Local REST API for Obsidian)의 설정에서 API 키를 복사한다.
    을 누르거나 오른쪽 마우스 버튼을 눌러 옵션 메뉴를 누른다.
    API Key 입력상자에 붙여넣는다.

  4. 템플릿 설정 - 자신에게 맞게 고쳐야 함.

설정하기

 

설치되어 있는 Templates 살펴보기

Local Rest API for Obsidian: Interactive API Documentation  
위 페이지에서 자세한 설명을 볼 수 있습니다.

중요한 것은 HTTP 메서드(POST, PUT, PATCH)입니다.

  • POST: 노트를 새로 만들거나 이미 있으면 추가한다.
  • PUT: 노트를 새로 만들거나 이미 있으면 지우고 새로 만든다.
  • PATCH: 이미 만들어진 노트의 일부분을 고친다. HTTP header 항목에 설정된 heading 밑에 글을 추가 한다.

Append to current daily note

선택된 내용이 있으면 붙여 넣도록 됨.
주소를 바꿀 필요가 없음. - 오늘 날짜 노트에 추가됨

POST: /periodic/daily/

Content

## {{page.title}}
URL: {{page.url}}
{{#if page.selectedText}}

{{quote page.selectedText}}
{{/if}}


선택 없이 실행하면

## 큰개불알꽃, 누가 왜 이런 이름 지었는지 알면 놀란다 - 오마이뉴스
URL: https://www.ohmynews.com/NWS_Web/Series/series_premium_pg.aspx?CNTN_CD=A0002912432&PAGE_CD=N0002&CMPT_CD=M0136


선택된 내용이 있을 때

## 큰개불알꽃, 누가 왜 이런 이름 지었는지 알면 놀란다 - 오마이뉴스
URL: https://www.ohmynews.com/NWS_Web/Series/series_premium_pg.aspx?CNTN_CD=A0002912432&PAGE_CD=N0002&CMPT_CD=M0136

> '큰개불알꽃'이라고 불렀을 때와 '봄까치꽃'이라고 불렀을 때의 느낌이 판이하다. 느낌이 다르면, 그 이름을 가진 사물을 대하는 태도도 달라질 수밖에 없다. 일본인 학자들은 그렇다 치고, 해방 후에도 이런 일본어 이름들이 살아남아, 우리나라 식물학자들이 펴낸 식물도감에까지 그대로 올라가 있다는 사실이 씁쓸하다.
> 
> ![](https://ojsfile.ohmynews.com/PHT_IMG_FILE/2023/0322/IE003127372_PHT.jpg)
> 
> ▲ 봄까치꽃, 이른 봄 길가 풀섶에서 흔히 보는 꽃이다. ⓒ 성낙선
> 
>    
> **'개불알'과 '복주머니'... 같은 꽃 다른 이름**
> 
> 그동안 우리가 길가에서 흔히 보는 우리 들꽃을 마치 당연하다는 듯이 무시해온 태도가 어쩌면 그 이름들에서 비롯됐을 수도 있다. 그 이름들 상당수는 일본인들이 우리 민족의 정서를 무시한 채 자기들 멋대로 지은 이름들이다. 더러는 우리 학자들이 무감각하게 일본식으로 지은 이름들도 있다.
 

Create new note

자신의 기본 노트 폴더가 볼트 루트가 아닐 경우 변경해야 함.

  • /vault/pages/{{filename page.title}}.md
  • /vault/Scraps/{{filename page.title}}.md

PUT: /vault/{{filename page.title}}.md

Content

---
page-title: {{json page.title}}
url: {{page.url}}
date: "{{date}}"
---
{{#if page.selectedText}}

{{quote page.selectedText}}
{{/if}}
 
 
선택 없이 실행하면
---
page-title: "큰개불알꽃, 누가 왜 이런 이름 지었는지 알면 놀란다 - 오마이뉴스"
url: https://www.ohmynews.com/NWS_Web/Series/series_premium_pg.aspx?CNTN_CD=A0002912432&PAGE_CD=N0002&CMPT_CD=M0136
date: "2023-03-28 21:36:24"
---


선택된 내용이 있다면 그 내용이 덧붙여진다.

 

내가 추가한 Templates

Append to current daily note - 07:30 [T](U)

오늘 일지(Daily Note) 마지막에 현 시각과 링크 리스트를 덧붙임.
선택한 내용이 있으면 덧붙임.

POST: /periodic/daily/

Content

- {{date "HH:mm"}} [{{page.title}}]({{page.url}})
{{#if page.selectedText}}

{{quote page.selectedText}}
{{/if}}
 

Create new note - Scraps 폴더로 (selection or full)

Scraps 폴더에 노트를 새로 만듦.(이미 노트 파일이 있으면 지우고 새로 만듦)
선택된 내용이 없을 때는 전체 페이지를 덧붙임.

PUT: /vault/Scraps/{{filename page.title}}.md

Content

---
page-title: {{json page.title}}
url: {{page.url}}
date: "{{date}}"
---
{{#if page.selectedText}}

{{page.selectedText}}
{{else}}

{{page.content}}
{{/if}}
 

아쉬운 점

여러 Vault를 쓸 수 있도록 크롬 확장에서 port 번호를 바꿀 수 없나 개발자에게 물어봤는데 크롬 확장의 보안 정책으로 상당히 까다롭다고 함.

 

Local REST API for Obsidian

Local REST API for Obsidian는 다양한 용도로 쓸 수 있을 것 같습니다.

Local REST API for Obsidian를 쓰는 Bookmarklet을 만들어 파이어폭스에서도 되도록 할 수 있겠네요.

 

참고