import * as entities from 'entities'; import { load, type CheerioAPI, type Element } from 'cheerio'; import { simplecc } from 'simplecc-wasm'; import got from '@/utils/got'; import { config } from '@/config'; import { RE2JS } from 're2js'; import markdownit from 'markdown-it' import htmlToText from 'html-to-text' import { MiddlewareHandler } from 'hono'; import cache from '@/utils/cache'; import Parser from '@postlight/parser'; import { Data, DataItem } from '@/types'; const md = markdownit({ html: true, }) const resolveRelativeLink = ($: CheerioAPI, elem: Element, attr: string, baseUrl?: string) => { const $elem = $(elem); if (baseUrl) { try { const oldAttr = $elem.attr(attr); if (oldAttr) { // e.g. should leave