updated getRSSItemTitle and getLetterboxdActivity to set content type for JSDOM and removed unnecessary link element logging

This commit is contained in:
dylan 2025-12-25 18:52:25 +00:00
parent 1b5c733653
commit 5328d0fd25

View file

@ -38,13 +38,10 @@ export function markdownCharEscape(text) {
export async function getRSSItemTitle(feedUrl) { export async function getRSSItemTitle(feedUrl) {
const res = await fetch(feedUrl) const res = await fetch(feedUrl)
const data = await res.text() const data = await res.text()
const dom = new JSDOM(data) const dom = new JSDOM(data, { contentType: 'text/xml' })
const item = dom.window.document.querySelector('item') const item = dom.window.document.querySelector('item')
const title = item.querySelector('title').textContent const title = item.querySelector('title').textContent
const linkEl = item.querySelector('link') const link = item.querySelector('link').textContent.trim()
console.log(`RSS link element found: ${!!linkEl}`)
if (linkEl) console.log(`RSS link text: "${linkEl.textContent}"`)
const link = linkEl ? linkEl.textContent.trim() : ''
const cleanTitle = markdownCharEscape( const cleanTitle = markdownCharEscape(
sanitizeHtml(title, { sanitizeHtml(title, {
allowedTags: [], allowedTags: [],
@ -100,13 +97,10 @@ export async function getMalojaScrobble(malojaUrl) {
export async function getLetterboxdActivity(username, showImage = true) { export async function getLetterboxdActivity(username, showImage = true) {
const res = await fetch(`https://letterboxd.com/${username}/rss/`) const res = await fetch(`https://letterboxd.com/${username}/rss/`)
const data = await res.text() const data = await res.text()
const dom = new JSDOM(data) const dom = new JSDOM(data, { contentType: 'text/xml' })
const item = dom.window.document.querySelector('item') const item = dom.window.document.querySelector('item')
const title = item.querySelector('title').textContent const title = item.querySelector('title').textContent
const linkEl = item.querySelector('link') const link = item.querySelector('link').textContent.trim()
console.log(`Letterboxd link element found: ${!!linkEl}`)
if (linkEl) console.log(`Letterboxd link text: "${linkEl.textContent}"`)
const link = linkEl ? linkEl.textContent.trim() : ''
const cleanTitle = markdownCharEscape(title) const cleanTitle = markdownCharEscape(title)
const image = item.querySelector('description > img').src const image = item.querySelector('description > img').src
const text = !showImage const text = !showImage