早上逛论坛,看到呆哥提的关于 umami 的favicon不显示的问题,猜测肯定是个通病,不过这个东西之前自己看统计也就看个数。所以没注意显示不显示。
现在知道这个问题了,那么就想着修复一下:
原来用的地址是:
https://icons.duckduckgo.com/ip3/
呆哥提供了一个新的网址:
https://favicon.cccyun.cc/
要修复这个问题,如果是源码安装的话直接修改umami/src/components/common/Favicon.tsx文件为以下内容:
import styles from './Favicon.module.css'; function getHostName(url: string) { const match = url.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:/\n?=]+)/im); return match && match.length > 1 ? match[1] : null; } export function Favicon({ domain, ...props }) { if (process.env.privateMode) { return null; } const hostName = domain ? getHostName(domain) : null; return hostName ? ( <img className={styles.favicon} src={`https://favicon.cccyun.cc/${hostName}`} width={16} height={16} alt="" {...props} /> ) : null; } export default Favicon;
执行 yarn build 重新编译启动服务就 ok 了:
如果是 docker 部署可能需要修改的文件有点多:
grep -r "icons.duckduckgo.com" umami/ >grep.txt
docker 部署,我没测试,这是理论上的情况。