IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    修复 umami 的favicon

    obaby发表于 2024-04-29 02:23:14
    love 0

    早上逛论坛,看到呆哥提的关于 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 部署,我没测试,这是理论上的情况。



沪ICP备19023445号-2号
友情链接