Привет, сообщество Discourse! Вот мой небольшой
рождественский подарок
для всех вас. Он простой, но полезный, и был создан исключительно потому, что я сам этого хотел.
Вдохновлённый отличным блогом Саймона Уиллисона об использовании LLM для разработки, я «вайб-кодил» это в рождественские праздники, в перерывах между посиделками с друзьями, просмотром фильмов и упаковкой подарков! Я не писал ни строчки кода, но я ревьюил код и руководил работой LLM. Всё управлялось из spec.md и roadmap.md.
Для чего это?
Я использую самохостедный, личный Discourse в качестве Блокнота, Дневника, Блога, Резюме, Вики, AI-инструмента и базы знаний разработчика. Часто мне хочется «вырезать» (clip) контент из веба и сразу бросить его в мой Discourse, откуда я могу включить его в заметку или запись в дневнике.
Clip To Discourse теперь поддерживает четыре стиля вырезания: Заголовок страницы + URL, Заголовок + URL + Выдержка, Полный текст страницы и выделенный текст.
Конфиденциальность
- Разработчик не собирает данные о вашем использовании расширения.
- Вырезанный контент и учётные данные отправляются напрямую из вашего браузера на настроенный вами экземпляр Discourse.
- Сервис-посредник Clip To Discourse не используется.
- Профили и учётные данные хранятся локально в хранилище расширений Chrome на вашем устройстве.
- Открытый исходный код. Репозиторий на GitHub: GitHub - koloki-co/clip-to-discourse-chromium-extension: A Chromium Browser extension which clips web content to your private Discourse. · GitHub
Возможности
- Вырезайте страницу в формате Заголовок + URL, Заголовок + URL + Выдержка, Полный текст страницы или Выделенный текст.
- Создавайте новые темы для каждого вырезания или добавляйте вырезания как ответы в существующую тему.
- Авторизация через User API Discourse без необходимости создания ключа API администратором. Ключ API, предоставленный администратором и ограниченный одним пользователем, остаётся доступным как запасной вариант.
- Поддержка нескольких профилей для разных экземпляров Discourse, пользователей, учётных данных, шаблонов и значений по умолчанию. Профили можно переименовывать, дублировать или удалять.
- Выбор целевой категории из доступных для подключённого аккаунта.
- Настройка шаблонов заголовка и тела с использованием метаданных страницы, выдержек, полного текста, выделенного текста и плейсхолдеров даты.
- Выбор внешнего вида: System, Light или Dark.
- По желанию можно изменить иконку панели инструментов Clip To Discourse на favicon сайта выбранного профиля, чтобы легко понимать, куда именно вы вырезаете контент.
- Открытие всплывающего окна с помощью
Ctrl+Shift+K(Command+Shift+Kна macOS), настраивается вchrome://extensions/shortcuts.
Ограничения
- На сайте Discourse должны быть включены ключи User API, и группа вашего аккаунта должна иметь разрешение на их авторизацию. Если авторизация через User API недоступна, администратор сайта может предоставить ключ API для одного пользователя с детальными правами.
- Очевидно, если возможность Clip To Discourse была бы включена для слишком большого количества пользователей, это могло бы привести к большому количеству низкокачественных постов на общем или публичном экземпляре Discourse. Поэтому я в первую очередь ориентирую это расширение на тех из вас, кто, как и я, использует Discourse в качестве личного блокнота.
Как установить
- Установите в Chrome или другом совместимом браузере на базе Chromium, версия 127 или новее, через Chrome Web Store: https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
- При желании «закрепите» расширение на панели инструментов браузера.
- Нажмите на иконку расширения, откройте Настройки и введите ваш базовый URL Discourse.
- Выберите User API и нажмите Authorize Clip To Discourse. Войдите в свой аккаунт Discourse, введите отображаемый код устройства, если будет запрошено, и разрешите доступ.
- Если авторизация через User API недоступна, используйте вкладку Admin API Key с предоставленным администратором ключом 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
Обратная связь, идеи и вклад
Эта тема — довольно хорошее место, чтобы оставить любую обратную связь. Я открыт для идей по улучшению, пока они не усложняют расширение и/или не делают его менее полезным для меня!
Если вы хотите открыть issues или сделать PR, репозиторий на GitHub здесь:
Это расширение — бесплатный, с открытым исходным кодом и ориентированный на конфиденциальность инструмент, созданный для сообщества Discourse моей компанией Koloki.co






