Obsidian

Obsidian Web Clipper Bookmarklet과 Local REST API의 결합 - URI 글자 수 제한 넘기

eoureo 2023. 4. 3. 20:09

"Obsidian Web Clipper Bookmarklet"의 URI 2048 글자 수 제한을 해결하기 위해 옵시디안 플러그인 "Local REST API"를 사용합니다.

 

아래 링크에 있는 북마크릿 "Obsidian Web Clipper Bookmarklet"은 Obsidian URI를 써서 클리핑 데이터를 옵시디언으로 전송합니다. 그래서 URI 2048 글자 수 제한 때문에 데이터가 조금만 많으면 실행되지 않습니다. 더욱이 한글은 한글자당 9개 글자수로 변환되어야 하므로 2~400 여자가 못되어도 2048 개의 변환된 글자가 되어 버립니다.


Obsidian Web Clipper Bookmarklet to save articles and pages from the web (for Safari, Chrome, Firefox, and mobile browsers) · GitHub  
https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987ca3

옵시디안 플러그인 "Local REST API"로 연결하여 POST 방식으로 전송하도록 했습니다. 그래서 노트 파일이 없으면 새로 만듭니다. 이미 노트 파일이 있으면 그 노트 파일에 더해집니다.

 

자세한 설명은 다음 페이지에서 볼 수 있습니다.

Local Rest API for Obsidian: Interactive API Documentation

 

여기에서 사용하는 fetch와 import 명령은 다른 도메인으로 데이터를 주고 받으므로 CORS / CSP 보안 설정이 된 사이트에서는 실행되지 않습니다.
이 문제는 북마크릿보다는 웹 브라우저 Extension으로 해결해야 할 것 같습니다.

소스 코드를 읽기 쉽게 하고 처음 만들어진 대로 그대로 두어 비교 하기 쉽게 했습니다.

 

 

const REST_API_KEY = "Put your 'Local REST API' key value here.";
여기에 "Local REST API" 설정에 있는 API Key를 복사하여 붙여 넣어줘야 합니다.