From 06df4b7a8cc9ce2a1b0e97b3457e17830e020073 Mon Sep 17 00:00:00 2001 From: ekzyis Date: Sun, 6 Jul 2025 22:14:14 +0200 Subject: [PATCH] Add custom title rule for YouTube (#2267) --- api/resolvers/item.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/api/resolvers/item.js b/api/resolvers/item.js index 8f3ebc60..a03a0cf9 100644 --- a/api/resolvers/item.js +++ b/api/resolvers/item.js @@ -28,8 +28,6 @@ import { verifyHmac } from './wallet' import { parse } from 'tldts' import { shuffleArray } from '@/lib/rand' -metadataRuleSets.title.rules.unshift(['h1 > yt-formatted-string.ytd-watch-metadata', el => el.getAttribute('title')]) - function commentsOrderByClause (me, models, sort) { const sharedSortsArray = [] sharedSortsArray.push('("Item"."pinId" IS NOT NULL) DESC') @@ -597,7 +595,13 @@ export default { const response = await fetch(ensureProtocol(url), { redirect: 'follow' }) const html = await response.text() const doc = domino.createWindow(html).document - const metadata = getMetadata(doc, url, { title: metadataRuleSets.title, publicationDate: publicationDateRuleSet }) + const titleRuleSet = { + rules: [ + ['h1 > yt-formatted-string.ytd-watch-metadata', el => el.getAttribute('title')], + ...metadataRuleSets.title.rules + ] + } + const metadata = getMetadata(doc, url, { title: titleRuleSet, publicationDate: publicationDateRuleSet }) const dateHint = ` (${metadata.publicationDate?.getFullYear()})` const moreThanOneYearAgo = metadata.publicationDate && metadata.publicationDate < datePivot(new Date(), { years: -1 })