Clip To Discourse Chrome 확장 프로그램 - 이제 사용자 API 기능 지원!

Discourse 커뮤니티 여러분께,

여러분께 작은 :wrapped_gift: 크리스마스 선물 :christmas_tree: 을 하나 준비했습니다. 단순하지만 유용하며, 단순히 제가 필요해서 만든 것입니다.

Simon Willison의 LLM을 개발에 활용하는 방법에 대한 멋진 블로그에 영감을 받아, 저는 크리스마스 기간 동안 사회적 모임, 영화 관람, 선물 포장 사이사이 이 프로젝트를 vibe-coding으로 진행했습니다. 저는 코드를 전혀 작성하지 않았지만, 코드를 검토하고 LLM을 감독했습니다. 모든 작업은 spec.mdroadmap.md를 기반으로 진행되었습니다.

용도

저는 셀프호스팅된 개인 Discourse노트북, 저널, 블로그, 이력서, 위키, AI 도구 및 개발 지식 베이스로 사용하고 있습니다. 저는 웹에서 콘텐츠를 ‘클립’하여 Discourse에 바로 넣고, 이를 노트나 저널 항목에 통합하고 싶어 하는 경우가 많습니다.

Clip To Discourse는 현재 네 가지 클리핑 스타일을 지원합니다: 페이지 제목 + URL, 제목 + URL + 발췌문, 전체 페이지 텍스트, 선택된 텍스트.

개인정보 보호

기능

  • 페이지를 제목 + URL, 제목 + URL + 발췌문, 전체 페이지 텍스트, 또는 텍스트 선택으로 클립합니다.
  • 각 클립마다 새로운 토픽을 생성하거나, 클립을 기존 토픽에 답변으로 추가합니다.
  • 관리자가 API 키를 생성할 필요가 없이 Discourse 사용자 API를 통해 인증합니다. 관리자가 제공한 사용자 범위의 API 키는 폴백으로 사용할 수 있습니다.
  • 서로 다른 Discourse 인스턴스, 사용자, 자격 증명, 템플릿, 기본 설정을 위한 다중 프로필을 지원합니다. 프로필은 이름 변경, 복제, 삭제할 수 있습니다.
  • 연결된 계정에 사용 가능한 카테고리에서 대상 카테고리를 선택합니다.
  • 페이지 메타데이터, 발췌문, 전체 텍스트, 선택된 텍스트, 날짜 플레이스홀더를 사용하여 제목과 본문 템플릿을 사용자 지정합니다.
  • 시스템, 라이트, 다크 외관을 선택합니다.
  • 선택적으로 Clip To Discourse 도구 모음 아이콘을 선택된 프로필의 사이트 파비콘으로 변경하여, 어디로 클립하는지 쉽게 알 수 있도록 합니다.
  • Ctrl+Shift+K (macOS의 경우 Command+Shift+K)를 사용하여 팝업을 엽니다. chrome://extensions/shortcuts에서 설정할 수 있습니다.

제한 사항

  • Discourse 사이트는 사용자 API 키를 활성화하고 사용자의 그룹이 이를 인증할 수 있도록 허용해야 합니다. 사용자 API 인증이 불가능한 경우, 사이트 관리자가 세밀한 권한을 가진 단일 사용자 API 키를 제공할 수 있습니다.
  • 명확하게 말씀드리자면, Clip To Discourse 기능이 너무 많은 사용자에게 활성화되면 공유 또는 공개 Discourse 인스턴스에서 저품질 게시물이 대량으로 생성될 수 있습니다. 따라서 이 확장 프로그램은 저처럼 Discourse를 개인 노트북으로 사용하는 분들을 주로 대상으로 하고 있습니다.

설치 방법

  • Chrome Web Store를 통해 Chrome 또는 기타 호환되는 Chromium 기반 브라우저(버전 127 이상)에 설치합니다: https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
  • 선택적으로 확장 프로그램을 브라우저 도구 모음에 ‘고정’합니다.
  • 확장 프로그램 아이콘을 클릭하고 설정을 열어 Discourse 기본 URL을 입력합니다.
  • 사용자 API를 선택하고 Clip To Discourse 인증을 클릭합니다. Discourse 계정에 로그인하고, 요청 시 표시된 기기 코드를 입력한 후 액세스를 승인합니다.
  • 사용자 API 인증이 불가능한 경우, 관리자 API 키 탭을 사용하여 관리자가 제공한 단일 사용자 API 키를 사용합니다. 글로벌 API 키는 피하세요.
  • 기본 클립 스타일, 대상, 카테고리 또는 기존 토픽 ID를 선택하고, 선택적으로 템플릿을 사용자 지정합니다.
  • 설정을 저장하고 선택적으로 연결을 테스트합니다.
  • 설정을 닫고 테스트할 내용을 클립해 보세요!

Clip To Discourse 인증

Discourse로 클리핑

로드맵

  • Firefox 또는 Safari 확장 프로그램은 계획하고 있지 않습니다(해당 브라우저를 사용하지 않기 때문이므로), 하지만 이 확장 프로그램을 이식하는 작업을 누군가가 맡아주면 기쁩니다. 하나의 저장소에서 모두를 유지하고 기능 동등성을 유지하기 위해 협력할 수 있습니다.
  • 가능한 향후 추가 기능에는 태그, 추가 키보드 단축키, 그리고 클리핑 워크플로우의 추가 개선이 포함됩니다.

관련 토론

이 도구를 요청한 토론: Chrome/Firefox extension “Share to discourse” - #28 by supermathie

Discourse를 클리핑할 때 추가 기능을 제안한 관련 게시물: Need Web Clipper for Discourse Post

Social Share는 관련 개념이지만 단순한 URL을 사용합니다: Social Share

피드백, 아이디어, 기여

이 토픽은 피드백을 남기기 좋은 곳입니다. 확장 프로그램을 과도하게 복잡하게 만들거나 저에게 덜 유용하게 만들지 않는 한, 개선 아이디어에 개방적입니다!

이슈를 열거나 PR을 만들고 싶다면, GitHub 저장소는 여기에 있습니다:

이 확장 프로그램은 무료, 오픈 소스, 그리고 개인정보 보호 우선 도구의 도구로, Koloki.co에서 Discourse 커뮤니티를 위해 만들었습니다.

13개의 좋아요

이 확장 프로그램 정말 훌륭합니다 :clap:

1개의 좋아요

이것이 제 사용 사례이기도 할 것 같습니다. 이상적으로는 새 토픽으로 클립할 때 대표 링크(Featured Link)를 사용했으면 좋겠습니다. 저는 이 기능을 많이 사용하고 있습니다(커스텀 레이아웃은 무시해 주세요):

페이지에서 현재 선택된 텍스트도 클립 시 가져오면 좋겠습니다. 이것이 가능한지 확실하지는 않습니다.

제가 상상하는 시나리오는 다음과 같습니다: 흥미로운 텍스트가 있는 페이지에 있습니다. 텍스트를 선택하고 새 토픽으로 클립하면 다음이 수행됩니다:

  • 페이지 링크를 대표 링크로 설정
  • 제목을 클립한 페이지 제목으로 설정
  • 선택된 HTML 콘텐츠를 게시물 본문으로 설정

수정: 처음 두 단계에 대해서는 david의 훌륭한 솔루션이 매우 잘 작동합니다. 토픽을 수동으로 게시해야 하지만, 제 용도로는 괜찮다고 생각합니다 :thinking:

1개의 좋아요

저도 오래전에 같은 생각을 했었지만, 겨우 일주일 전에야 세팅을 마쳤습니다.

Discourse와 별개로, 제가 오랫동안 개인적으로 사용해 온 방법은 SingleFile 브라우저 확장 프로그램입니다. 이 프로그램은 현재 보고 있는 사이트를 단일 HTML 파일로 저장하며, 화면에 보이는 것과 최대한 유사하게 보존하여 오프라인에서도 읽을 수 있게 해 줍니다. 제 ~/Downloads 폴더에는 이렇게 저장된 수많은 HTML 파일이 잠들어 있습니다.

인터넷의 정보는 영원히 남아 있지 않으므로, 가장 신뢰할 수 있는 방법은 현재 컴퓨터에서 보고 있는 내용을 그대로 내 컴퓨터에 저장하는 것입니다.

이미 많은 HTML 파일을 저장해 두었고, 앞으로 더 많이 추가될 것이므로, 이러한 파일들을 Discourse로 가져와서 거기서 보고 관리할 수 있는 기능을 고민하고 있습니다.

웹사이트 콘텐츠를 “스크랩”하거나 클립하는 기능을 추가할 계획이라면, SingleFile 확장 프로그램이 이미 잘 수행하고 있는 것과 상당히 겹치게 될 것입니다.

SingleFile과 직접 통합하거나 HTML 파일을 가져올 수 있는 방법이 있다면 좋겠습니다.

2개의 좋아요

SingleFile 확장 프로그램을 공유해 주셔서 감사합니다. 훌륭한 도구이며, 아마도 제가 직접 재현하거나 과도하게 겹치게 만들지는 않을 것 같습니다. 저도 동일한 용도로 사용하고 있습니다. 즉, 작동하는 버전의 페이지를 단일 HTML 파일로 간단히 보존하는 것이 목적입니다. 그래서 저도 SingleFile을 설치했습니다. 이 훌륭한 확장 프로그램에 대해 알지 못했네요!

'Clipped To Discourse’를 통해 클립을 저장한 후에는 해당 HTML 파일을 게시물의 첨부 파일로 업로드할 수도 있습니다. 저는 archive.org의 대안으로 이 방식을 사용할 것입니다.

Clip To Discourse의 향후 버전에서는 다음 사항에 집중할 계획입니다:

  • 사용자가 선택한 텍스트 범위를 Excerpt로 클립하기
  • 해당 Excerpt 콘텐츠의 Markdown 포맷팅 개선

Clip To Discourse 0.19.2 버전의 일부 업데이트

  • ‘전체 페이지’ 클리핑 기능 개선 (Mozilla Readability를 사용하여 페이지 텍스트를 더 정확하고 가독성 좋게 클리핑함).
  • 게시글 텍스트에 50,000자 제한 도입 (Discourse 토픽 본문은 50k자를 초과할 경우 오류가 발생함)

소스: GitHub - koloki-co/clip-to-discourse-chromium-extension: A Chromium Browser extension which clips web content to your private Discourse. · GitHub
Chrome 웹 스토어: https://chromewebstore.google.com/detail/copdhiejkkdblhdcdjapcoalldkondhi?utm_source=item-share-cb

1개의 좋아요

업데이트: v0.19.5 - 텍스트 선택 지원

Clip To Discourse의 새 버전을 출시했습니다.

새로 추가된 기능

  • 자동 선택 감지: 페이지에서 텍스트가 선택되어 있으면 확장 프로그램이 이를 자동으로 감지하고 클립될 내용을(문자 수 및 단어 수 포함) 정확히 보여줍니다.
  • 새로운 “텍스트 선택” 클립 스타일: 기존 제목+URL, 발췌문, 전체 텍스트 옵션에 이어 네 번째 클립 스타일로 추가되었습니다.
  • 스마트 자동 선택: 텍스트가 선택되면 확장 프로그램이 자동으로 “텍스트 선택” 모드로 전환되어 클립할 내용을 정확히 파악할 수 있습니다.
  • 우클릭 컨텍스트 메뉴: 팝업을 여는 간단한 “Discourse로 클립” 컨텍스트 메뉴 항목을 추가했습니다(선택 여부와 관계없이 작동합니다).
  • 커스터마이징 가능한 템플릿: 텍스트 선택 템플릿은 설정에서 다른 클립 스타일과 마찬가지로 커스터마이징할 수 있습니다.

이 기능을 통해 인용문이나 특정 부분을 하이라이트한 후, 적절한 컨텍스트(페이지 제목 + URL + 선택한 텍스트)를 포함하여 Discourse로 바로 클립하는 것이 매우 쉬워졌습니다.

예정된 기능

현재 Discourse 사용자 API 플로우 구현을 진행 중입니다. 이를 통해 사용자는 관리자 없이도 OAuth를 통해 확장 프로그램을 인증할 수 있습니다. 이는 공유 또는 공개 Discourse 인스턴스에서 확장 프로그램을 훨씬 쉽게 사용할 수 있게 해줍니다!

2개의 좋아요

중요한 사용성 업데이트: Clip To Discourse가 이제 Discourse 사용자 API를 지원합니다.

즉, 일반 Discourse 사용자는 이제 관리자가 API 키를 수동으로 생성해 주지 않아도 됩니다. Discourse URL을 입력하고 Clip To Discourse 승인 버튼을 클릭한 후 로그인하고, 요청되는 경우 표시된 기기 코드를 입력하여 액세스를 승인하면 됩니다.

사이트에서는 여전히 **사용자 API 키**가 사이트 전체에서 활성화되어 있어야 합니다(활성화 범위: readwrite, 그리고 사용자의 멤버로 등록된 그룹이 사용자 API를 사용할 수 있도록 허용되어야 합니다. 이 설정이 완료되면 비관리자 사용자의 온보딩 경험이 훨씬 더 간단해집니다).

사용자 API 인증이 사용 불가능한 사이트를 위해 관리자 제공 사용자 범위 API 키는 여전히 폴백 옵션으로 사용할 수 있습니다.

Chrome 웹 스토어에서 Clip To Discourse

2개의 좋아요