mirror of
https://github.com/misskey-dev/summerflare.git
synced 2025-04-29 02:37:17 +09:00
fix: decode html entities
This commit is contained in:
parent
8fa8ab8bc7
commit
79d0dafaa2
@ -2,13 +2,13 @@
|
||||
"packageManager": "pnpm@8.3.1",
|
||||
"devDependencies": {
|
||||
"@cloudflare/vitest-pool-workers": "0.1.17",
|
||||
"@cloudflare/workers-types": "^4.20240405.0",
|
||||
"@cloudflare/workers-types": "^4.20240524.0",
|
||||
"@types/whatwg-mimetype": "^3.0.2",
|
||||
"vitest": "1.3.0",
|
||||
"wrangler": "^3.48.0"
|
||||
"wrangler": "^3.57.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"hono": "^4.2.3",
|
||||
"hono": "^4.4.0",
|
||||
"html-entities": "^2.5.2",
|
||||
"jschardet": "^3.1.2",
|
||||
"summaly": "^2.7.0",
|
||||
|
151
pnpm-lock.yaml
generated
151
pnpm-lock.yaml
generated
@ -2,8 +2,8 @@ lockfileVersion: '6.0'
|
||||
|
||||
dependencies:
|
||||
hono:
|
||||
specifier: ^4.2.3
|
||||
version: 4.2.3
|
||||
specifier: ^4.4.0
|
||||
version: 4.4.0
|
||||
html-entities:
|
||||
specifier: ^2.5.2
|
||||
version: 2.5.2
|
||||
@ -23,10 +23,10 @@ dependencies:
|
||||
devDependencies:
|
||||
'@cloudflare/vitest-pool-workers':
|
||||
specifier: 0.1.17
|
||||
version: 0.1.17(@cloudflare/workers-types@4.20240405.0)(@vitest/runner@1.3.0)(@vitest/snapshot@1.3.0)(vitest@1.3.0)
|
||||
version: 0.1.17(@cloudflare/workers-types@4.20240524.0)(@vitest/runner@1.3.0)(@vitest/snapshot@1.3.0)(vitest@1.3.0)
|
||||
'@cloudflare/workers-types':
|
||||
specifier: ^4.20240405.0
|
||||
version: 4.20240405.0
|
||||
specifier: ^4.20240524.0
|
||||
version: 4.20240524.0
|
||||
'@types/whatwg-mimetype':
|
||||
specifier: ^3.0.2
|
||||
version: 3.0.2
|
||||
@ -34,8 +34,8 @@ devDependencies:
|
||||
specifier: 1.3.0
|
||||
version: 1.3.0
|
||||
wrangler:
|
||||
specifier: ^3.48.0
|
||||
version: 3.48.0(@cloudflare/workers-types@4.20240405.0)
|
||||
specifier: ^3.57.1
|
||||
version: 3.57.1(@cloudflare/workers-types@4.20240524.0)
|
||||
|
||||
packages:
|
||||
|
||||
@ -45,7 +45,14 @@ packages:
|
||||
mime: 3.0.0
|
||||
dev: true
|
||||
|
||||
/@cloudflare/vitest-pool-workers@0.1.17(@cloudflare/workers-types@4.20240405.0)(@vitest/runner@1.3.0)(@vitest/snapshot@1.3.0)(vitest@1.3.0):
|
||||
/@cloudflare/kv-asset-handler@0.3.2:
|
||||
resolution: {integrity: sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==}
|
||||
engines: {node: '>=16.13'}
|
||||
dependencies:
|
||||
mime: 3.0.0
|
||||
dev: true
|
||||
|
||||
/@cloudflare/vitest-pool-workers@0.1.17(@cloudflare/workers-types@4.20240524.0)(@vitest/runner@1.3.0)(@vitest/snapshot@1.3.0)(vitest@1.3.0):
|
||||
resolution: {integrity: sha512-T0F6y3NMqURG1xoJIRajHTnRoysm77NROCNAtjrU9Jz2ObF6ZOJ0nFUfBtP1BoYRHbFbzLC1EHhykJA/n/c+iw==}
|
||||
peerDependencies:
|
||||
'@vitest/runner': 1.3.0
|
||||
@ -60,7 +67,7 @@ packages:
|
||||
esbuild: 0.17.19
|
||||
miniflare: 3.20240404.0
|
||||
vitest: 1.3.0
|
||||
wrangler: 3.48.0(@cloudflare/workers-types@4.20240405.0)
|
||||
wrangler: 3.48.0(@cloudflare/workers-types@4.20240524.0)
|
||||
zod: 3.23.8
|
||||
transitivePeerDependencies:
|
||||
- '@cloudflare/workers-types'
|
||||
@ -78,6 +85,15 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-darwin-64@1.20240512.0:
|
||||
resolution: {integrity: sha512-VMp+CsSHFALQiBzPdQ5dDI4T1qwLu0mQ0aeKVNDosXjueN0f3zj/lf+mFil5/9jBbG3t4mG0y+6MMnalP9Lobw==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-darwin-arm64@1.20240404.0:
|
||||
resolution: {integrity: sha512-V9oPjeC2PYBCoAYnjbO2bsjT7PtzxfUHnh780FUi1r59Hwxd7FNlojwsIidA0nS/1WV5UKeJusIdrYlQbsketA==}
|
||||
engines: {node: '>=16'}
|
||||
@ -87,6 +103,15 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-darwin-arm64@1.20240512.0:
|
||||
resolution: {integrity: sha512-lZktXGmzMrB5rJqY9+PmnNfv1HKlj/YLZwMjPfF0WVKHUFdvQbAHsi7NlKv6mW9uIvlZnS+K4sIkWc0MDXcRnA==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-linux-64@1.20240404.0:
|
||||
resolution: {integrity: sha512-ndO7q6G2X8uYd5byGFzow4SWPqINQcmJ7pKKATNa+9vh/YMO0of2ihPntnm9uv577l8nRiAwRkHbnsWoEI33qQ==}
|
||||
engines: {node: '>=16'}
|
||||
@ -96,6 +121,15 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-linux-64@1.20240512.0:
|
||||
resolution: {integrity: sha512-wrHvqCZZqXz6Y3MUTn/9pQNsvaoNjbJpuA6vcXsXu8iCzJi911iVW2WUEBX+MpUWD+mBIP0oXni5tTlhkokOPw==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-linux-arm64@1.20240404.0:
|
||||
resolution: {integrity: sha512-hto5pjKYFqFu2Rvxnh84TzgDwalBRXQSwOVHltcgqo48en9TJDCN48ZtLj2G7QTGUOMW88h+nqdbj8+P7S/GXQ==}
|
||||
engines: {node: '>=16'}
|
||||
@ -105,6 +139,15 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-linux-arm64@1.20240512.0:
|
||||
resolution: {integrity: sha512-YPezHMySL9J9tFdzxz390eBswQ//QJNYcZolz9Dgvb3FEfdpK345cE/bsWbMOqw5ws2f82l388epoenghtYvAg==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workerd-windows-64@1.20240404.0:
|
||||
resolution: {integrity: sha512-DpCLvNkOeFinKGJwv9qbyT7RLZ1168dhPx85IHSqAYVWZIszNSmNOkEDqklvoJoab01AqETrrEhwBdmjCA7qfA==}
|
||||
engines: {node: '>=16'}
|
||||
@ -114,8 +157,17 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workers-types@4.20240405.0:
|
||||
resolution: {integrity: sha512-sEVOhyOgXUwfLkgHqbLZa/sfkSYrh7/zLmI6EZNibPaVPvAnAcItbNNl3SAlLyLKuwf8m4wAIAgu9meKWCvXjg==}
|
||||
/@cloudflare/workerd-windows-64@1.20240512.0:
|
||||
resolution: {integrity: sha512-SxKapDrIYSscMR7lGIp/av0l6vokjH4xQ9ACxHgXh+OdOus9azppSmjaPyw4/ePvg7yqpkaNjf9o258IxWtvKQ==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@cloudflare/workers-types@4.20240524.0:
|
||||
resolution: {integrity: sha512-GpSr4uE7y39DU9f0+wmrL76xd03wn0jy1ClITaa3ZZltKjirAV8TW1GzHrvvKyVGx6u3lekrFnB1HzVHsCYHDQ==}
|
||||
dev: true
|
||||
|
||||
/@cspotcode/source-map-support@0.8.1:
|
||||
@ -1345,8 +1397,8 @@ packages:
|
||||
function-bind: 1.1.2
|
||||
dev: true
|
||||
|
||||
/hono@4.2.3:
|
||||
resolution: {integrity: sha512-yZDnPOp/XzjIB7KUWaOxwLSywnhxMvAKth8hfKhWQiWXeZhBfC6GlFnEst/FOOgn7rSWjShhQPS89PLEuHxq3Q==}
|
||||
/hono@4.4.0:
|
||||
resolution: {integrity: sha512-Bb2GHk8jmlLIuxc3U+7UBGOoA5lByJTAFnRdH2N2fqEVy9TEQzJ9saIJUQ/ZqBvEvgEFe7UjPFNSFi8cyeU+3Q==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
dev: false
|
||||
|
||||
@ -1702,6 +1754,29 @@ packages:
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/miniflare@3.20240512.0:
|
||||
resolution: {integrity: sha512-X0PlKR0AROKpxFoJNmRtCMIuJxj+ngEcyTOlEokj2rAQ0TBwUhB4/1uiPvdI6ofW5NugPOD1uomAv+gLjwsLDQ==}
|
||||
engines: {node: '>=16.13'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
acorn: 8.11.3
|
||||
acorn-walk: 8.3.2
|
||||
capnp-ts: 0.7.0
|
||||
exit-hook: 2.2.1
|
||||
glob-to-regexp: 0.4.1
|
||||
stoppable: 1.1.0
|
||||
undici: 5.28.2
|
||||
workerd: 1.20240512.0
|
||||
ws: 8.16.0
|
||||
youch: 3.3.3
|
||||
zod: 3.23.8
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/mlly@1.6.1:
|
||||
resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
|
||||
dependencies:
|
||||
@ -2327,7 +2402,20 @@ packages:
|
||||
'@cloudflare/workerd-windows-64': 1.20240404.0
|
||||
dev: true
|
||||
|
||||
/wrangler@3.48.0(@cloudflare/workers-types@4.20240405.0):
|
||||
/workerd@1.20240512.0:
|
||||
resolution: {integrity: sha512-VUBmR1PscAPHEE0OF/G2K7/H1gnr9aDWWZzdkIgWfNKkv8dKFCT75H+GJtUHjfwqz3rYCzaNZmatSXOpLGpF8A==}
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
'@cloudflare/workerd-darwin-64': 1.20240512.0
|
||||
'@cloudflare/workerd-darwin-arm64': 1.20240512.0
|
||||
'@cloudflare/workerd-linux-64': 1.20240512.0
|
||||
'@cloudflare/workerd-linux-arm64': 1.20240512.0
|
||||
'@cloudflare/workerd-windows-64': 1.20240512.0
|
||||
dev: true
|
||||
|
||||
/wrangler@3.48.0(@cloudflare/workers-types@4.20240524.0):
|
||||
resolution: {integrity: sha512-Wv7JS6FyX1j9HkaM6WL3fmTzBMAYc4hPSyZCuxuH55hkJDX/7ts+YAgsaN1U8rKoDrV3FVSgBfI9TyqP9iuM8Q==}
|
||||
engines: {node: '>=16.17.0'}
|
||||
hasBin: true
|
||||
@ -2338,7 +2426,7 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@cloudflare/kv-asset-handler': 0.3.1
|
||||
'@cloudflare/workers-types': 4.20240405.0
|
||||
'@cloudflare/workers-types': 4.20240524.0
|
||||
'@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
|
||||
'@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
|
||||
blake3-wasm: 2.1.5
|
||||
@ -2360,6 +2448,39 @@ packages:
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/wrangler@3.57.1(@cloudflare/workers-types@4.20240524.0):
|
||||
resolution: {integrity: sha512-M8YnWUwdrb8AFiRePtVnzlDn02OX4osWvdl8oVh6eyZqqkqXYg7lwlYBr14Qj92pMN4JvMBmDZoukkYHvwpJRg==}
|
||||
engines: {node: '>=16.17.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@cloudflare/workers-types': ^4.20240512.0
|
||||
peerDependenciesMeta:
|
||||
'@cloudflare/workers-types':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@cloudflare/kv-asset-handler': 0.3.2
|
||||
'@cloudflare/workers-types': 4.20240524.0
|
||||
'@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
|
||||
'@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
|
||||
blake3-wasm: 2.1.5
|
||||
chokidar: 3.6.0
|
||||
esbuild: 0.17.19
|
||||
miniflare: 3.20240512.0
|
||||
nanoid: 3.3.7
|
||||
path-to-regexp: 6.2.2
|
||||
resolve: 1.22.8
|
||||
resolve.exports: 2.0.2
|
||||
selfsigned: 2.4.1
|
||||
source-map: 0.6.1
|
||||
xxhash-wasm: 1.0.2
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
@ -19,7 +19,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +27,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -35,7 +35,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign, toAbsoluteURL } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("src")
|
||||
if (content) {
|
||||
assign(result, 15, content)
|
||||
assign(result, 15, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 7, content)
|
||||
assign(result, 7, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +28,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 6, content)
|
||||
assign(result, 6, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -35,7 +36,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 5, content)
|
||||
assign(result, 5, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -43,7 +44,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 4, content)
|
||||
assign(result, 4, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -51,7 +52,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -19,7 +19,7 @@ export default function getTitle(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +27,7 @@ export default function getTitle(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getCard(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getCard(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,6 +1,7 @@
|
||||
import clip from "summaly/built/utils/clip"
|
||||
import { assign } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
import { decode } from "html-entities"
|
||||
|
||||
export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
const result: PrioritizedReference<string | null> = {
|
||||
@ -12,7 +13,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -20,7 +21,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -28,7 +29,7 @@ export default function getDescription(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign, toAbsoluteURL } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getFavicon(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getFavicon(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign, toAbsoluteURL } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 7, content)
|
||||
assign(result, 7, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 6, content)
|
||||
assign(result, 6, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +28,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 5, content)
|
||||
assign(result, 5, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -35,7 +36,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 4, content)
|
||||
assign(result, 4, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -43,7 +44,7 @@ export default function getImage(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("href")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -59,12 +59,10 @@ export default function getPlayerOEmbed(url: URL, html: HTMLRewriter) {
|
||||
if (!oEmbedHref) {
|
||||
return
|
||||
}
|
||||
console.log(oEmbedHref)
|
||||
const oEmbedData: unknown = await fetch(oEmbedHref, fetchOptions)
|
||||
.then((response) => response.json())
|
||||
.catch(() => undefined)
|
||||
const { success, data } = oEmbed.safeParse(oEmbedData)
|
||||
console.log(oEmbedData, success, data)
|
||||
if (!success) {
|
||||
return
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign, toAbsoluteURL } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getPlayerUrlCommon(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getPlayerUrlCommon(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +28,7 @@ export default function getPlayerUrlCommon(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign, toAbsoluteURL } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getPlayerUrlGeneral(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getPlayerUrlGeneral(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getPlayerUrlHeight(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getPlayerUrlHeight(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +28,7 @@ export default function getPlayerUrlHeight(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getPlayerUrlWidth(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getPlayerUrlWidth(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -27,7 +28,7 @@ export default function getPlayerUrlWidth(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 1, content)
|
||||
assign(result, 1, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { decode } from "html-entities"
|
||||
import { assign } from "../common"
|
||||
import type { PrioritizedReference } from "../common"
|
||||
|
||||
@ -11,7 +12,7 @@ export default function getSiteName(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -19,7 +20,7 @@ export default function getSiteName(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
@ -13,7 +13,7 @@ export default function getTitle(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 3, content)
|
||||
assign(result, 3, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
@ -21,7 +21,7 @@ export default function getTitle(url: URL, html: HTMLRewriter) {
|
||||
element(element) {
|
||||
const content = element.getAttribute("content")
|
||||
if (content) {
|
||||
assign(result, 2, content)
|
||||
assign(result, 2, decode(content))
|
||||
}
|
||||
},
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user