/** * 书名 → 稳定色相(0-359):djb2 哈希取模。 * 无封面文本封面的配色来源——同一本书在任何页面、任何刷新下颜色一致, * 不使用 Math.random()(那会导致每次刷新变色)。 * 用法:元素挂 .j13-text-cover 类并内联 --cover-h,取色规则见 globals.css。 */ export function coverHue(title: string): number { let h = 5381; for (let i = 0; i < title.length; i++) h = (h * 33) ^ title.charCodeAt(i); return (h >>> 0) % 360; }