• 解决Github Markdown图片显示残缺的问题



    title: 解决Github Markdown图片显示残缺的问题
    tags:

    • 个人成长
      categories:
    • 杂谈

    在Github存放Markdown文档,如果图片没有存放在Github服务器上,github会尝试生成Github图片缓存,使用Github图片缓存,进行实际的展示。但比较蛋疼的是,如果原图片尺寸很大,缓存图片失败,会只显示一部分图片内容。

    image-20231019112741686

    预览图显示

    image-20231019112539461

    原图缓存图对比

    image-20231019112904309

    缓存图片的格式大概是这样

    https://camo.githubusercontent.com/ac3c95be743bed67a21823a6fc976264729c84678d5fd557aca8c71bf5a5a632/68747470733a2f2f63646e2e66616e677975616e7869616f7a68616e2e636f6d2f6173736574732f313631353532393239373634385244376843686a7a2e6a706567
    
    • 1

    image-20231019112614355

    解决方案

    如果我们发现图片有问题,需要手动触发Github图片缓存,运行 curl -X PURGE {图片url} 即可

    curl -X PURGE https://camo.githubusercontent.com/ac3c95be743bed67a21823a6fc976264729c84678d5fd557aca8c71bf5a5a632/68747470733a2f2f63646e2e66616e677975616e7869616f7a68616e2e636f6d2f6173736574732f313631353532393239373634385244376843686a7a2e6a706567
    
    • 1

    运行curl -X PURGE触发重新缓存后,再次使用浏览器尝试访问图片url, 可以看到完整的图片 (如果依然不完整,就多触发几次)

    2023-10-19 11.32.20

    image-20231019114559029

    如果你想完全规避以上情况,建议直接将图片存储到github仓库,我写过一个开源小工具,专门用于把README.md里面的图片进行一键转储

    https://github.com/zhaoolee/replace_readme_md_image

    image-20231019114023728

    小结

    缓存问题是编程领域的经典问题,用得好可以节约珍贵的算力,提升用户体验,做的烂就全是bug, 我觉得设计缓存机制最基础的原则就是可以很方便地清理缓存,就像Github的图片缓存一样,即使缓存有问题,也允许用户通过简单的命令清理旧图缓存,触发新缓存。

  • 相关阅读:
    二进制十六机制CRC总和异或等工具类
    5.1 C/C++ 使用文件与指针
    二 linux操作系统安装git并与gitlab通过SSH方式互通
    云计算中的关键技术——虚拟化
    homeassistant安装HACS应用商店
    Linux中的进程终止(详解)
    【Node.js】Node.js入门(七):Express接口覆盖、模板引擎、错误处理、调试
    MySQL查询(基础到高级)
    不专业面试官的经验总结
    VM虚拟机的安装与配置及操作系统的安装
  • 原文地址:https://blog.csdn.net/zhuoyuedelan/article/details/133923635