Extensión Clip To Discourse para Chrome: ¡ahora con capacidad de User API!

Querida comunidad de Discourse, aquí está mi pequeño :wrapped_gift: regalo de Navidad :christmas_tree: para todos ustedes. Es simple pero útil, y fue creado puramente porque yo lo quería.

Inspirado por el gran blog de Simon Willison sobre el uso de LLMs para el desarrollo, “vibe-coded” esto durante Navidad, entre eventos sociales, viendo películas y envolturando regalos. No escribí ninguna línea de código, pero he revisado el código y he supervisado al LLM. Todo fue impulsado desde spec.md y roadmap.md.

¿Para qué sirve?

Uso un Discourse autoalojado y personal como Cuaderno, Diario, Blog, CV, Wiki, herramienta de IA y base de conocimiento para desarrolladores. Con frecuencia me encuentro queriendo “recortar” (clip) contenido de la web y colocarlo directamente en mi Discourse, desde donde puedo incorporarlo en una Nota o una entrada del Diario.

Clip To Discourse ahora soporta cuatro estilos de recorte: Título de la página + URL, Título + URL + Extracto, Texto completo de la página y texto seleccionado.

Privacidad

Características

  • Recorte una página como Título + URL, Título + URL + Extracto, Texto completo de la página o Selección de texto.
  • Cree nuevos Temas con cada recorte, o agregue recortes como respuestas a un Tema existente.
  • Autorícese a través de la API de Usuario de Discourse sin necesidad de que un administrador cree una clave API. Una clave API proporcionada por un administrador, con alcance de usuario, sigue disponible como alternativa.
  • Admite múltiples perfiles para diferentes instancias de Discourse, usuarios, credenciales, plantillas y valores predeterminados. Los perfiles se pueden renombrar, duplicar o eliminar.
  • Elija una categoría de destino entre las categorías disponibles para la cuenta conectada.
  • Personalice las plantillas de título y cuerpo utilizando metadatos de la página, extractos, texto completo, texto seleccionado y marcadores de posición de fecha.
  • Elija la apariencia Sistema, Clara u Oscura.
  • Opcionalmente, cambie el icono de la barra de herramientas de Clip To Discourse al favicon del sitio del perfil seleccionado, para que pueda distinguir fácilmente a dónde está recortando.
  • Abra el popup usando Ctrl+Shift+K (Command+Shift+K en macOS), configurable en chrome://extensions/shortcuts.

Limitaciones

  • El sitio de Discourse debe habilitar las claves API de Usuario y permitir que el grupo de su cuenta las autorice. Si la autorización de la API de Usuario no está disponible, un administrador del sitio puede proporcionar una clave API de usuario único con permisos granulares.
  • Claramente, si la capacidad de Clip To Discourse se habilita para demasiados usuarios, podría generar una gran cantidad de publicaciones de baja calidad en una instancia de Discourse compartida o pública. Por lo tanto, dirijo principalmente esta Extensión a aquellos de ustedes que, como yo, usan Discourse como un cuaderno personal.

Cómo instalar

  • Instale en Chrome u otro navegador compatible basado en Chromium, versión 127 o posterior, a través de la Chrome Web Store: https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
  • Opcionalmente, “fije” (Pin) la extensión en la barra de herramientas del navegador.
  • Haga clic en el icono de la extensión, abra Configuración y ingrese la URL base de su Discourse.
  • Seleccione API de Usuario y haga clic en Autorizar Clip To Discourse. Inicie sesión en su cuenta de Discourse, ingrese el código de dispositivo mostrado si se solicita y apruebe el acceso.
  • Si la autorización de la API de Usuario no está disponible, use la pestaña Clave API de Administrador con una clave API de usuario único proporcionada por un administrador. Evite las claves API globales.
  • Elija su estilo de recorte predeterminado, destino, categoría o ID de Tema existente, y opcionalmente personalice las plantillas.
  • Guarde la configuración y opcionalmente pruebe la conexión.
  • Cierre la Configuración y recorte cosas para probar!

Autorizando Clip To Discourse

Recortando a Discourse

Hoja de ruta

  • No planeo crear una extensión para Firefox o Safari (ya que no uso esos navegadores), pero me gustaría que alguien asumiera la tarea de portar esta extensión. Podríamos colaborar para mantener todo en un solo repositorio y mantener la paridad de funciones.
  • Las posibles adiciones futuras incluyen etiquetas, atajos de teclado adicionales y mejoras adicionales en el flujo de trabajo de recorte.

Discusiones relacionadas

Solicitud de básicamente esta herramienta: Chrome/Firefox extension “Share to discourse” - #28 by supermathie

Una publicación relacionada, que sugiere funciones adicionales al recortar un Discourse: Need Web Clipper for Discourse Post

Social Share es un concepto relacionado, pero usa URLs simples: Social Share

Comentarios, ideas y contribuciones

Este tema es un buen lugar para poner cualquier comentario que tenga. Estoy abierto a ideas de mejoras siempre que no compliquen en exceso la extensión y/o la hagan menos útil para mí.

Si desea abrir issues o hacer PRs, el repositorio de GitHub está aquí:

Esta extensión es una herramienta gratuita, de código abierto y con la privacidad como prioridad, creada para la comunidad de Discourse por mi empresa Koloki.co

13 Me gusta

Bravo por esta extensión :clap:

1 me gusta

Este podría ser también mi caso de uso. Idealmente, al recortar a un tema nuevo, usaría el enlace destacado, hago un uso intensivo de esto (ignorar el diseño personalizado):

También estaría contento si al recortar se importara el texto actualmente seleccionado en la página, no estoy seguro de si esto es posible.

Me lo imagino así: estoy en una página con un texto interesante. Selecciono el texto, recorto a un tema nuevo y hace lo siguiente:

  • Pone el enlace de la página como enlace destacado
  • Establece el título como el título de la página recortada
  • Establece el contenido HTML seleccionado como el cuerpo de la publicación

Edición: para los dos primeros pasos, la excelente solución de david funciona muy bien. Requiere que publique el tema manualmente, pero para mi uso creo que está bien :thinking:

1 me gusta

Tuve la misma idea hace mucho tiempo, pero solo logré configurarla hace una semana.

Por separado de Discourse, el método que he utilizado personalmente durante mucho tiempo es la extensión de navegador SingleFile. Guarda el sitio que estás viendo actualmente como un único archivo HTML, preservándolo lo más fielmente posible a lo que ves, para que puedas leerlo sin conexión. Hay innumerables archivos HTML durmiendo en mi carpeta \~/Descargas.

Debido a que la información en internet no permanece allí para siempre, la forma más confiable es guardar lo que ves actualmente en tu propia computadora exactamente como está.

Ya tengo muchos archivos HTML guardados, y se añadirán muchos más en el futuro, por lo que he estado pensando en una característica que me permita importar estos archivos a Discourse para verlos y gestionarlos allí.

Si planean añadir una función para “raspar” o recortar contenido de sitios web, terminará superponiéndose bastante con lo que la extensión SingleFile ya hace bien.

Sería genial si hubiera una forma de integrarse directamente con SingleFile o de importar archivos HTML.

2 Me gusta

Gracias por compartir la extensión SingleFile - es una gran herramienta y una con la que probablemente no intentaría replicar o superponerme demasiado. Yo también tengo el mismo caso de uso: querer simplemente preservar una versión funcional de la página en un único archivo HTML, así que acabo de instalar SingleFile también. ¡No conocía esta gran extensión!

Una vez que tengas ‘Clipped To Discourse’ también podrías subir ese archivo HTML como un adjunto a la Publicación. Así es como probablemente lo usaría, como una alternativa a archive.org.

Para futuras versiones de Clip To Discourse, creo que me centraré en:

  • Rango de texto seleccionado por el usuario para ser recortado como Extracto
  • Formato Markdown mejorado de ese contenido del Extracto

Algunas pequeñas actualizaciones para Clip To Discourse en la versión 0.19.2

  • Mejora del recorte de ‘Página Completa’ (utiliza Mozilla Readability para recortar el texto de la página de forma más precisa y legible).
  • Se estableció un límite de 50.000 caracteres para el texto en las publicaciones (el cuerpo del tema de Discourse no puede tener más de 50k caracteres o devuelve errores).

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

1 me gusta

Actualización: v0.19.5 - Soporte para Selección de Texto

Acabo de lanzar una nueva versión de Clip To Discourse

Novedades

  • Detección automática de selección: Cuando tienes texto seleccionado en una página, la extensión ahora lo detecta automáticamente y te muestra exactamente lo que se recortará (recuento de caracteres y palabras)
  • Nuevo estilo de recorte “Selección de texto”: Se une a las opciones existentes de Título+URL, Extracto y Texto Completo como una cuarta opción de estilo de recorte
  • Selección automática inteligente: Cuando se selecciona texto, la extensión cambia automáticamente al modo “Selección de texto” para que sepas exactamente lo que estás recortando
  • Menú contextual del clic derecho: Se añadió un elemento simple de menú contextual “Clip to Discourse” que abre la ventana emergente (funciona con o sin selección)
  • Plantilla personalizable: La plantilla de selección de texto se puede personalizar en la configuración, al igual que los otros estilos de recorte

Esto hace que sea súper rápido resaltar una cita o pasaje y recortarlo directamente a tu Discourse con el contexto adecuado (título de la página + URL + tu texto seleccionado).

Próximamente

Actualmente estamos trabajando en la implementación del flujo de la API de usuario de Discourse, lo que permitirá a los usuarios autorizar la extensión a través de OAuth sin necesidad de que un Administrador cree claves de API. ¡Esto hará que la extensión sea mucho más fácil de usar en instancias de Discourse compartidas o públicas!

1 me gusta

Una actualización importante de usabilidad: Clip To Discourse ahora es compatible con la API de usuarios de Discourse.

Esto significa que los usuarios comunes de Discourse ya no necesitan que un administrador cree manualmente una clave de API para ellos. Introduce tu URL de Discourse, haz clic en Autorizar Clip To Discourse, inicia sesión, introduce el código de dispositivo que se muestre si se solicita y aprueba el acceso.

El sitio aún necesita que las claves de API de usuario estén habilitadas a nivel de sitio (alcances habilitados: read y write, y un Grupo del que tu usuario sea miembro debe tener permiso para usar la API de usuario, pero una vez que se configura esto, la experiencia de incorporación es mucho más sencilla para los usuarios que no son administradores.

Las claves de API proporcionadas por el administrador y con alcance de usuario siguen disponibles como alternativa para sitios donde la autorización de la API de usuario no esté disponible.

Clip To Discourse en la Chrome Web Store