Open rdela opened 6 months ago
here are the errors that came from running a big batch of gnarly old feeds through.
maybe we could use them to test and decide what to investigate.
the CSS parsing bug is in there twice, once for https://feeds.feedburner.com/leaverou and the other for the actual feed https://lea.verou.me/feed.xml
Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._poppedOffStackOfOpenElements (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:42:10) at JSDOMParse5Adapter.onItemPop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/browser/parser/html.js:175:43) at Parser.onItemPop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:158:90) at OpenElementStack.pop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/open-element-stack.js:89:22) at endTagInText (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:2287:20) at Parser._endTagOutsideForeignContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:931:17) at Parser.onEndTag (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:897:18) at Tokenizer.emitCurrentTagToken (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/tokenizer/index.js:402:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._childTextContentChangeSteps (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:36:12) at TextImpl.replaceData (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:108:23) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:26:10) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js:385:35) at collapseWhitespace (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1030:17) at new RootNode (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1153:3) at TurndownService.turndown (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1331:37) at safeContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:36:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._childTextContentChangeSteps (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:36:12) at TextImpl.replaceData (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:108:23) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:26:10) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js:385:35) at collapseWhitespace (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1036:25) at new RootNode (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1153:3) at TurndownService.turndown (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1331:37) at safeContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:36:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Processing https://lea.verou.me/feed.xml Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._poppedOffStackOfOpenElements (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:42:10) at JSDOMParse5Adapter.onItemPop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/browser/parser/html.js:175:43) at Parser.onItemPop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:158:90) at OpenElementStack.pop (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/open-element-stack.js:89:22) at endTagInText (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:2287:20) at Parser._endTagOutsideForeignContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:931:17) at Parser.onEndTag (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/parser/index.js:897:18) at Tokenizer.emitCurrentTagToken (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/parse5/dist/cjs/tokenizer/index.js:402:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._childTextContentChangeSteps (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:36:12) at TextImpl.replaceData (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:108:23) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:26:10) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js:385:35) at collapseWhitespace (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1030:17) at new RootNode (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1153:3) at TurndownService.turndown (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1331:37) at safeContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:36:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Error: Could not parse CSS stylesheet at exports.createStylesheet (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js:37:21) at HTMLStyleElementImpl._updateAStyleBlock (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._childTextContentChangeSteps (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js:36:12) at TextImpl.replaceData (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:108:23) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js:26:10) at set data [as data] (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js:385:35) at collapseWhitespace (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1036:25) at new RootNode (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1153:3) at TurndownService.turndown (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@joplin/turndown/lib/turndown.cjs.js:1331:37) at safeContent (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:36:26) .contrast-color { --text-shadow: 0 0 .05em black; --text-shadow-2: var(--text-shadow), var(--text-shadow); --text-shadow-4: var(--text-shadow-2), var(--text-shadow-2); --text-shadow-8: var(--text-shadow-4), var(--text-shadow-4); text-shadow: var(--text-shadow-8); color: white; } #demo { display: flex; gap: 2em; padding-block: 2rem; color-picker { flex: 1; &::part(swatch) { flex: 1.8; } } input[type=number] { field-sizing: content; background: none; color: inherit; border: .1em solid; border-radius: .2em; } table { width: auto; margin-bottom: 0; } } @supports (color: oklch(from red l c h)) { :root { --supports-rcs: 1; } .if-no-rcs { display: none; } .contrast-color { --l: clamp(0, (var(--l-threshold) / l - 1) * infinity, 1); color: oklch(from var(--color) var(--l) 0 h); text-shadow: none; } } Processing https://feeds.feedburner.com/leaverou Processing https://blog.alfredapp.com/feed/ Error: Unquoted attribute value Line: 0 Column: 27 Char: e at error (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:652:10) at strictFail (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:678:7) at SAXParser.write (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:1368:13) at exports.Parser.Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:327:31) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:5:59) at /Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:33:22 at new Promise (<anonymous>) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:32:16) at parseFeed (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:148:5) at async Promise.allSettled (index 84) Processing https://zinasaunders.blogspot.com//feeds/posts/default Error: Invalid character in tag name Line: 40 Column: 121 Char: ; at error (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:652:10) at strictFail (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:678:7) at SAXParser.write (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:1284:17) at exports.Parser.Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:327:31) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:5:59) at /Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:33:22 at new Promise (<anonymous>) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:32:16) at parseFeed (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:148:5) at async Promise.allSettled (index 135) Processing https://objective-see.com/rss.xml Error: Attribute without value Line: 54 Column: 17 Char: s at error (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:652:10) at strictFail (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:678:7) at SAXParser.write (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/sax/lib/sax.js:1341:13) at exports.Parser.Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:327:31) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/xml2js/lib/parser.js:5:59) at /Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:33:22 at new Promise (<anonymous>) at Parser.parseString (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/rss-parser/lib/parser.js:32:16) at parseFeed (/Users/r/Documents/code/gh/rdela/eleventy/feed/feeds.js:148:5) at async Promise.allSettled (index 153) Error: Bad response for https://www.hackingwithswift.com/articles/rss (403): Forbidden at RemoteAssetCache.fetch (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/@11ty/eleventy-fetch/src/RemoteAssetCache.js:69:11) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async run (/Users/r/Documents/code/gh/rdela/eleventy/feed/node_modules/p-queue/dist/index.js:163:29) { [cause]: Response { size: 0, timeout: 0, [Symbol(Body internals)]: { body: [Gunzip], disturbed: false, error: null }, [Symbol(Response internals)]: { url: 'https://www.hackingwithswift.com/articles/rss', status: 403, statusText: 'Forbidden', headers: [Headers], counter: 0 } } } Could not reach https://www.hackingwithswift.com/articles/rss
code https://github.com/rdela/11feed/tree/ricky
feed list (OPML export from feedbin) https://github.com/rdela/11feed/blob/ricky/src/_feeds/ricky.xml
here are the errors that came from running a big batch of gnarly old feeds through.
maybe we could use them to test and decide what to investigate.
the CSS parsing bug is in there twice, once for https://feeds.feedburner.com/leaverou and the other for the actual feed https://lea.verou.me/feed.xml