Como construir uma extensão do Chrome para resumir e salvar páginas da Web

Introdução

Bem-vindo ao tutorial de hoje sobre como criar uma extensão do Chrome que resume e salva páginas da web. Esta ferramenta poderosa pode ajudar você a criar resumos concisos de artigos e páginas da web, armazenando-os em uma base de conhecimento para fácil referência.

O que você precisa

Configurando seu ambiente

Etapa 1: Criar arquivo de manifesto

Comece criando um manifest.json arquivo. Este arquivo contém os metadados necessários para o funcionamento da extensão do Chrome.

{
 "version": "1.0",
 "name": "Web Summarizer",
 "description": "Summarize and save web pages",
 "permissions": ["activeTab", "scripting", "storage"],
 "background": {
   "service_worker": "background.js"
 },
 "action": {
   "default_popup": "popup.html",
   "default_icon": "images/icon.png"
 }
}

Etapa 2: Criar opções e arquivos de fundo

Adicione um options.html arquivo e seu arquivo JavaScript correspondente, options.js, para manipular configurações de pontos de extremidade e chaves de API.

<!DOCTYPE html>
<html>
<head>
 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css" rel="stylesheet">
 <script defer src="options.js"></script>
</head>
<body>
 <div>
   <label for="api-endpoint">API Endpoint:</label>
   <input type="text" id="api-endpoint" name="api-endpoint" class="border">
   <label for="api-key">API Key:</label>
   <input type="text" id="api-key" name="api-key" class="border">
   <button id="save">Save</button>
   <span id="status"></span>
 </div>
</body>
</html>

In background.js, configurar menus de contexto e manipular ações.

chrome.runtime.onInstalled.addListener(() => {
 chrome.contextMenus.create({
   id: "summarizePage",
   title: "Summarize Page",
   contexts: ["page"]
 });
 chrome.contextMenus.create({
   id: "summarizeSave",
   title: "Summarize and Save",
   contexts: ["page"]
 });
 chrome.contextMenus.create({
   id: "openOptions",
   title: "Open Options",
   contexts: ["browser_action"]
 });
});

Criando o Popup

Em seguida, crie popup.html e popup.js para gerenciar as interações dentro da janela pop-up.

<!DOCTYPE html>
<html>
<head>
 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css" rel="stylesheet">
 <script defer src="popup.js"></script>
</head>
<body>
 <div>
   <button id="summarize-page">Summarize Page</button>
   <button id="summarize-save">Summarize and Save</button>
 </div>
</body>
</html>document.addEventListener('DOMContentLoaded', function () {
 let summarizeButton = document.getElementById('summarize-page');
 let saveButton = document.getElementById('summarize-save');
 summarizeButton.addEventListener('click', summarizePage);
 saveButton.addEventListener('click', summarizeAndSave);

 function summarizePage() {
   // Logic to summarize page
 }

 function summarizeAndSave() {
   // Logic to summarize and save
 }
});

Etapa 3: Nó tardio e APIs

Configure seu backend usando Late Node. Certifique-se de que você lida com os webhooks e a validação da chave da API, chamando Staco ou OpenAI para resumir o conteúdo.

lateNode.createWebhook({
 path: '/api/summary',
 handler: async (req, res) => {
   const { action, content, apiKey } = req.body;
   let summary = await getSummary(content, apiKey);
   return res.status(200).json({ message: summary });
 }
});

Use o Markup Go para converter URLs em imagens e markdown em PDFs, salvando-os no Google Drive e no Notion.

Implantar e testar

Carregue sua extensão descompactada no modo de desenvolvedor do Chrome. Teste cada recurso para garantir que sua extensão resuma e salve o conteúdo conforme o esperado. Solucione quaisquer problemas e otimize para velocidade e confiabilidade.

Conclusão

Construir uma extensão do Chrome para resumir e salvar páginas da web pode simplificar significativamente seu fluxo de trabalho. Com ferramentas como Late Node, Staco e Markup Go, integrar funcionalidades robustas se torna mais simples.

Se você achou este tutorial útil, certifique-se de se inscrever e curtir o vídeo. Deixe sugestões ou perguntas nos comentários abaixo.

Outros vídeos