여러분께 작은 크리스마스 선물 을 하나 준비했습니다. 단순하지만 유용하며, 단순히 제가 필요해서 만든 것입니다.
Simon Willison의 LLM을 개발에 활용하는 방법에 대한 멋진 블로그에 영감을 받아, 저는 크리스마스 기간 동안 사회적 모임, 영화 관람, 선물 포장 사이사이 이 프로젝트를 vibe-coding으로 진행했습니다. 저는 코드를 전혀 작성하지 않았지만, 코드를 검토하고 LLM을 감독했습니다. 모든 작업은 spec.md와 roadmap.md를 기반으로 진행되었습니다.
용도
저는 셀프호스팅된 개인 Discourse를 노트북, 저널, 블로그, 이력서, 위키, AI 도구 및 개발 지식 베이스로 사용하고 있습니다. 저는 웹에서 콘텐츠를 ‘클립’하여 Discourse에 바로 넣고, 이를 노트나 저널 항목에 통합하고 싶어 하는 경우가 많습니다.
Clip To Discourse는 현재 네 가지 클리핑 스타일을 지원합니다: 페이지 제목 + URL, 제목 + URL + 발췌문, 전체 페이지 텍스트, 선택된 텍스트.
개인정보 보호
개발자는 확장 프로그램 사용에서 데이터를 수집하지 않습니다.
클립된 콘텐츠와 자격 증명은 브라우저에서 사용자가 설정한 Discourse 인스턴스로 직접 전송됩니다.
Clip To Discourse 중개 서비스는 관여되지 않습니다.
프로필과 자격 증명은 사용자의 기기에서 Chrome 확장 프로그램 저장소에 로컬로 저장됩니다.
페이지를 제목 + 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를 개인 노트북으로 사용하는 분들을 주로 대상으로 하고 있습니다.
Firefox 또는 Safari 확장 프로그램은 계획하고 있지 않습니다(해당 브라우저를 사용하지 않기 때문이므로), 하지만 이 확장 프로그램을 이식하는 작업을 누군가가 맡아주면 기쁩니다. 하나의 저장소에서 모두를 유지하고 기능 동등성을 유지하기 위해 협력할 수 있습니다.
가능한 향후 추가 기능에는 태그, 추가 키보드 단축키, 그리고 클리핑 워크플로우의 추가 개선이 포함됩니다.
This could be my use case as well. Ideally, when clipping to a new topic, it would use the featured link, I make heavy use of this (ignore the custom layout):
I had the same idea a long time ago, but only finally managed to set it up a week ago.
Separately from Discourse, the method I have personally used for a long time is the SingleFile browser extension. It saves the site you are currently viewing as a single HTML file, preserving it as closely as possible to what you see, so that you can read it offline. There are countless HTML files sleeping in my ~/Downloads folder.
Because information on the internet does not stay there forever, the most reliable way is to save what you currently see on your own computer exactly as it is.
I already have many HTML files saved, and many more will be added in the future, so I have been thinking about a feature that would let me bring these files into Discourse to view and manage them there.
If you are planning to add a feature to “scrap” or clip website content, it will end up overlapping quite a lot with what the SingleFile extension already does well.
It would be great if there were a way to integrate with SingleFile directly or to import HTML files.
Thanks for sharing the SingleFile extension - that’s a great tool and one I probably wouldn’t try to replicate or overlap with too much. I also have the same use-case - wanting to simply preserve a working version of the page in a single HTML file, so I have just installed SingleFile as well. I didn’t know about this great extension!
Once you have ‘Clipped To Discourse’ you could also upload that HTML file as an attachment to the Post. This is how I would probably use it, as an alternative to archive.org.
For future versions of Clip To Discourse I think I’ll focus on:
User-selected text range to be clipped as the Excerpt
Improved Markdown formatting of that Excerpt content
Automatic selection detection: When you have text selected on a page, the extension now detects it automatically and shows you exactly what will be clipped (character and word count)
New “Text Selection” clip style: Joins the existing Title+URL, Excerpt, and Full Text options as a 4th clip style
Smart auto-selection: When text is selected, the extension automatically switches to “Text Selection” mode so you know exactly what you’re clipping
Right-click context menu: Added a simple “Clip to Discourse” context menu item that opens the popup (works with or without selection)
Customizable template: The text selection template can be customized in settings, just like the other clip styles
This makes it super quick to highlight a quote or passage and clip it directly to your Discourse with proper context (page title + URL + your selected text).
Coming Soon
Currently working on implementing the Discourse User API flow, which will allow users to authorize the extension via OAuth without needing an Admin to create API keys. This will make the extension much easier to use on shared or public Discourse instances!
중요한 사용성 업데이트: Clip To Discourse가 이제 Discourse 사용자 API를 지원합니다.
즉, 일반 Discourse 사용자는 이제 관리자가 API 키를 수동으로 생성해 주지 않아도 됩니다. Discourse URL을 입력하고 Clip To Discourse 승인 버튼을 클릭한 후 로그인하고, 요청되는 경우 표시된 기기 코드를 입력하여 액세스를 승인하면 됩니다.
사이트에서는 여전히 **사용자 API 키**가 사이트 전체에서 활성화되어 있어야 합니다(활성화 범위: read 및 write, 그리고 사용자의 멤버로 등록된 그룹이 사용자 API를 사용할 수 있도록 허용되어야 합니다. 이 설정이 완료되면 비관리자 사용자의 온보딩 경험이 훨씬 더 간단해집니다).
사용자 API 인증이 사용 불가능한 사이트를 위해 관리자 제공 사용자 범위 API 키는 여전히 폴백 옵션으로 사용할 수 있습니다.