@akira108sys/html-rewriter-readability
Version:
A library to extract readable content with Mozilla/Readability algorithm using Cloudflare HTMLRewriter.
23 lines (22 loc) • 1.75 kB
TypeScript
import type { ElementInfo, Metadata } from './types';
/** Decode HTML entities */
export declare function unescapeHtmlEntities(str: string | undefined | null): string | undefined;
/** Escape special HTML characters */
export declare function escapeHtml(unsafe: string | undefined | null): string;
/** Extract metadata from META element */
export declare function extractMetadataFromElement(element: Element): Partial<Metadata>;
export declare function getElementInfo(id: number, store: Map<number, ElementInfo>): ElementInfo | undefined;
export declare function getParentId(id: number, store: Map<number, ElementInfo>): number | null;
export declare function getAncestorIds(id: number, store: Map<number, ElementInfo>, maxDepth?: number): number[];
export declare function getChildrenIds(parentId: number, store: Map<number, ElementInfo>): number[];
export declare function getDescendantIds(id: number, store: Map<number, ElementInfo>): number[];
export declare function getInnerText(id: number, store: Map<number, ElementInfo>, normalizeSpaces?: boolean): string;
export declare function getTotalVisibleInnerText(id: number, store: Map<number, ElementInfo>, normalizeSpaces?: boolean): string;
/** Calculate weight based on class/ID */
export declare function getClassWeight(id: number, store: Map<number, ElementInfo>): number;
/** Calculate link density (considering only visible links) */
export declare function getLinkDensity(id: number, store: Map<number, ElementInfo>): number;
/** Initialize node score */
export declare function initializeNodeScore(id: number, store: Map<number, ElementInfo>): void;
/** Check if it's an unlikely candidate */
export declare function isUnlikelyCandidate(id: number, store: Map<number, ElementInfo>): boolean;