Extensão Chrome 'Clip To Discourse'

Prezada Comunidade Discourse, aqui está meu pequeno presente de Natal :wrapped_gift: :christmas_tree: para todos vocês. É simples, mas útil, e foi construído puramente porque eu o queria.

Inspirado no ótimo blog de Simon Willison sobre o uso de LLMs para desenvolvimento, eu codifiquei isso por vibe durante o Natal, entre eventos sociais, assistir a filmes e embrulhar presentes! Eu não escrevi nenhum código, mas revisei o código e supervisionei o LLM. Tudo foi guiado por spec.md e roadmap.md.

Para que serve?

Eu uso uma instância Discourse pessoal auto-hospedada como Caderno de Notas, Diário, Blog, CV, Wiki, ferramenta de IA e base de conhecimento de desenvolvedor. Frequentemente, me vejo querendo ‘clipar’ conteúdo da web (título da página + URL) e jogá-lo diretamente no meu Discourse, de onde posso incorporá-lo em uma Nota ou em uma entrada do Diário.

Minhas necessidades são simples, então isso é bem básico, apenas publica o Título da Página e a URL, embora eu gostaria de adicionar no futuro as opções ‘Incluir excerto da página’ e ‘Clipar página inteira’.

Privacidade

Funcionalidades

  • Clipa o título da página e a URL. ‘Excerto da página’ ou ‘texto completo da página’ opcionais estão implementados, mas é um pouco pouco sofisticado (no entanto, sua IA do Discourse pode resumi-lo mais tarde em sua instância do Discourse?..).
  • Cria Novos Tópicos com cada clipagem, ou anexa clipagens como respostas a um Tópico existente.
  • Suporta múltiplos perfis, permitindo que você armazene múltiplas chaves de API, instâncias Discourse de destino e configurações padrão - para diferentes casos de uso.
  • O ícone Clip To Discourse mudará automaticamente para refletir o Favicon do site do Perfil atualmente selecionado, para que você possa dizer facilmente para onde você está clipando!

Limitações

  • A principal limitação é que um Administrador precisa criar uma chave de API com escopo de usuário para você, na instância Discourse para a qual você está clipando. Para mim, isso não é um problema, pois sou o Administrador principal em todos os Discourses que pretendo usar isso.

  • Claramente, se a funcionalidade Clip To Discourse fosse habilitada para muitos usuários, poderia produzir muitas postagens de baixa qualidade em uma instância Discourse compartilhada ou pública. Portanto, meu foco principal com esta Extensão é para aqueles de vocês que, como eu, estão usando o Discourse como um caderno de notas pessoal.

Como Instalar

  • Instale em qualquer navegador baseado em Chromium (Chrome, Edge, Brave, etc.) através do link para a Chrome Web Store https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi

  • (Opcional, mas recomendado) ‘Fixe’ a extensão na barra de ferramentas do navegador.

  • Crie uma chave de API de Usuário Único com os seguintes escopos Granulares: Tópicos: read (usado apenas para o teste de conexão), write e update

  • Determine em qual Categoria as Clipagens devem ir. Se você quiser que cada clipagem seja um novo Tópico, você só precisa do CategoryID. Ao visualizar a Categoria, este ID está na URL assim: https://discourse.seusdominio.com/c/NomeDaCategoria/CategoryID (Nota: O termo em inglês é CategoryID, mantido para consistência técnica)

  • Você também pode definir um Tópico para responder, e todas as Clipagens serão anexadas como novas respostas a este Tópico. Para obter o TopicID, você também o obtém da URL: Ao visualizar o Tópico, este ID está na URL assim: https://discourse.seusdominio.com/t/TituloDoTopico/TopicID (Nota: O termo em inglês é TopicID, mantido para consistência técnica)

  • Clique no ícone da extensão para abrir o pop-up e vá em Configurações para configurar a chave de API e definir seus padrões. Note que você pode ter múltiplos ‘perfis’ para vários Discourses diferentes que você pode querer usar.

  • Salve as configurações e (opcionalmente) teste a conexão, que lerá um tópico para garantir que a conexão da API funcione.

  • Feche as Configurações e comece a clipar para testar!

Imagens

Clipping Settings
Demo Clip to New Topic
Demo Clipped Topic
Demo Clipped as a Reply

Roteiro (Roadmap)

  • ‘Incluir excerto da página’ e ‘Clipar página inteira’ podem precisar de algum teste e refinamento. Alternativamente, este recurso poderia permitir que o usuário selecionasse a área de texto a ser clipada como o excerto.

  • Não estou planejando uma extensão para Firefox ou Safari (pois não uso esses navegadores), mas ficaria feliz se alguém assumisse a tarefa de portar esta extensão. Poderíamos colaborar para mantê-la em um único repositório e manter a paridade de recursos.

  • Posso considerar implementar o fluxo de API de Usuário do Discourse, para que as chaves de API não precisem ser criadas por Administradores, no entanto, a API de Usuário funciona através de um fluxo OAuth, então não seria uma alternativa de substituição direta.

Discussões Relacionadas

Solicitação para basicamente esta ferramenta: https://meta.discourse.org/t/chrome-firefox-extension-share-to-discourse/21104/28

Uma postagem relacionada, sugerindo recursos adicionais ao clipar um Discourse: https://meta.discourse.org/t/need-web-clipper-for-discourse-post/45105

Compartilhamento Social é um conceito relacionado, mas usa URLs simples https://meta.discourse.org/t/social-share/89980

Feedback, Ideias e Contribuições

Este tópico é um lugar muito bom para colocar qualquer feedback que você tenha. Estou aberto a ideias para melhorias, desde que não compliquem demais a extensão e/ou a tornem menos útil para mim!

Se você quiser abrir issues ou fazer PRs, o repositório do GitHub está aqui:

Esta extensão é uma ferramenta gratuita, de código aberto e com foco em privacidade, criada para a comunidade Discourse pela minha empresa Koloki.co

5 curtidas

Parabéns pela extensão :clap: