From b2cd54e9c43bc7f8aaa89682f30db1af5d2abf6c Mon Sep 17 00:00:00 2001 From: iamsirsammy <77844774+iamsirsammy@users.noreply.github.com> Date: Fri, 14 Apr 2023 07:28:03 -0400 Subject: [PATCH] change youtube/index.mjs to not confuse chatgpt or run out of tokens (#205 @iamsirsammy) * change youtube/index.mjs to not confuse chatgpt or run out of tokens * Update index.mjs --- src/content-script/site-adapters/youtube/index.mjs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/content-script/site-adapters/youtube/index.mjs b/src/content-script/site-adapters/youtube/index.mjs index 28b4f14..435a119 100644 --- a/src/content-script/site-adapters/youtube/index.mjs +++ b/src/content-script/site-adapters/youtube/index.mjs @@ -1,6 +1,11 @@ import { cropText } from '../../../utils' import { config } from '../index.mjs' +function replaceHtmlEntities(htmlString) { // This function was written by ChatGPT and modified by me (iamsirsammy) + const doc = new DOMParser().parseFromString(htmlString.replace("&", "&"), 'text/html'); + return doc.documentElement.innerText; +} + export default { init: async (hostname, userConfig, getInput, mountComponent) => { try { @@ -41,12 +46,14 @@ export default { let subtitleContent = '' while (subtitleData.indexOf('">') !== -1) { subtitleData = subtitleData.substring(subtitleData.indexOf('">') + 2) - subtitleContent += subtitleData.substring(0, subtitleData.indexOf('<')) + ',' + subtitleContent += subtitleData.substring(0, subtitleData.indexOf('<')) + ' ' } + subtitleContent = replaceHtmlEntities(subtitleContent) + return cropText( - `Provide a brief summary of the video using concise language and incorporating the video title.` + - `The video title is:"${title}".The subtitle content is as follows:\n${subtitleContent}`, + `Provide a brief summary of the following video using concise language, still including all the important details, and incorporating the video title.` + + `The video title is "${title}". The subtitle content is as follows:\n${subtitleContent}`, ) } catch (e) { console.log(e)