当前位置: 首页 > news >正文

解决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

image-20231019112614355

解决方案

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

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

运行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的图片缓存一样,即使缓存有问题,也允许用户通过简单的命令清理旧图缓存,触发新缓存。

相关文章:

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

title: 解决Github Markdown图片显示残缺的问题 tags: 个人成长 categories:杂谈 在Github存放Markdown文档,如果图片没有存放在Github服务器上,github会尝试生成Github图片缓存,使用Github图片缓存,进行实际的展示。但比较蛋疼的…...

[MAUI]深入了解.NET MAUI Blazor与Vue的混合开发

文章目录 Vue在混合开发中的特点创建MAUI项目创建Vue应用使用element-ui组件库JavaScript和原生代码的交互传递根组件参数从设备调用Javascript代码从Vue页面调用原生代码 读取设备信息项目地址 .NET MAUI结合Vue的混合开发可以使用更加熟悉的Vue的语法代替Blazor语法&#xff…...

1209. 带分数

题目: 1209. 带分数 - AcWing题库 思路: 1.targetab/c,由题意a,b,c会包含1~9 且每个数出现且只能出现一次。我们可以抽象化为9个坑位分成3份分别给a,b,c。 2.先采用递归搜索树写出9个坑位的全排列,再分成3个区,分…...

【树莓派触摸屏等学习笔记】

前言 树莓派触摸屏 提示:以下是本篇文章正文内容,下面案例可供参考 一、触摸屏硬件驱动 出现黑屏的时候,恢复一下txt config.txt 全屏显示 showFull Exec :自启动 surf 算法 特征点识别 算法的复杂度挺高的 特性树莓派强大…...

ERR_PNPM_JSON_PARSE Unexpected end of JSON input while parsing empty string in

终端报错:  ERR_PNPM_JSON_PARSE  Unexpected end of JSON input while parsing empty string in   报错原因:依赖没有删除干净  解决办法:  ①删除node_modules  ②在package.json的dependencies删除不需要依赖  ③重新pnpm i...

linux基础IO

文章目录 前言一、基础IO1、文件预备知识1.1 文件类的系统调用接口1.2 复习c语言接口 2、文件类的系统调用接口2.1 open系统调用2.2 close系统调用2.3 write系统调用2.4 read系统调用 3、文件描述符3.1 文件描述符fd介绍3.2 文件描述符fd分配规则与重定向3.3 重定向原理3.4输入…...

华为OD机试 - TLV格式 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…...

LLMs之RAG:利用langchain实现RAG应用五大思路步骤—基于langchain使用LLMs(ChatGPT)构建一个问题回答文档的应用程序实战代码

LLMs之RAG:利用langchain实现RAG应用五大思路步骤—基于langchain使用LLMs(ChatGPT)构建一个问题回答文档的应用程序实战代码 目录 相关文章...

链式队列----数据结构

队列的基本概念 队列是一种操作受限的线性表(先进先出),只允许在队尾插入,队头删除。 例如去银行办理业务,肯定是先来的先出去,后来的人排在后方,只有第一个人业务办理完了,才会有…...

VM虚拟机VMware Fusion(13.5.0)

VMware Fusion提供了在Apple Mac上运行Windows、Linux等操作系统的最佳方式,无需重新启动。Fusion 13支持运行macOS 12及更高版本的Intel和Apple Silicon Mac,并包含面向开发人员、IT管理员和日常用户的功能。 Fusion 13 新增功能 支持新的客户机操作系…...

自动化测试08

Junit 为什么学了Selenium还需学习Junit Selenium自动化测试框架;Junit单元测试框架。 拿着一个技术写自动化测试用例(Selenium3) 拿着一个技术管理已经编写好的测试用例(Junit5) Junit相关的技术 Junit是针对Java的一…...

d3dx9_43.dll丢失有什么办法可以解决,解决d3dx9_43.dll丢失

通常d3dx9_43.dll丢失都是在运行游戏时汤出的d3dx9_43.dll找不到的错误窗口,因为d3dx9_43.dll文件更多是在使用游戏时会被调用的dll文件,d3dx9_43.dll是属于DirectX9的一个组件,DirectX9是游戏系统中的一个重要程序,所以当d3dx9_4…...

【C++】: auto关键字(C++11)+基于范围的for循环(C++11)+指针空值nullptr(C++11)

auto关键字&#xff08;C11&#xff09; 随着程序越来越复杂&#xff0c;程序中用到的类型也越来越复杂&#xff0c;经常体现在&#xff1a; 类型难于拼写含义不明确导致容易出错 #include <string> #include <map> int main() {std::map<std::string, std::…...

华为OD机试 - 玩牌高手 - 动态规划(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下&#xff1a;具体步骤如下&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 给定一个长度为n的整型数组&#xff0…...

【java】【重构二】分模块开发版本锁定以及耦合(打包)实战

目录 一、创建dependencyManagement标签 二、 将需要版本控制的依赖版本进行标签设置 三、将需要版本控制的依赖从各子模块迁移到此处 四、将父模块的依赖版本控制 五、删除子模块的全部版本 1、bocai-web-management模块 2、bocai-utils模块 六、打包 1、确定代码都…...

Excel提高工作效率常用功能

定位快捷键使用 CtrlG或者F5 根据不同类别插入空行 例&#xff1a;以下表&#xff0c;以部门为单位&#xff0c;每个部门后插入空白行 部门姓名出勤基本工资岗位津贴公体加班绩效基数工龄应发合计财务部姓名73115002101710财务部姓名11116006003401502363财务部姓名5271000…...

物联网_00_物理网介绍

1.物联网为什么会出现? 一句话-----追求更高品质的生活, 随着科技大爆炸, 人类当然会越来越追求衣来伸手饭来张口的懒惰高品质生活, 最早的物联网设备可以追溯到19世纪末的"在线可乐售卖机"和"特洛伊咖啡壶"(懒惰的技术人员为了能够实时看到物品的情况而设…...

华为智选SF5,AITO问界的车怎么样

#华为智选 #赛力斯SF5 #aito问界m5 #aito问界m7 #华为汽车 华为的车&#xff0c;后杠焊两点&#xff0c;拉车的时候&#xff0c;拖车钩断了&#xff0c;后杠拉出来了&#xff0c;这质量可以吗&#xff1f;是否应该全部召回&#xff1f;M5&#xff0c;M7是不是也这样&#xff1f…...

大数据测试用例分析

基于大数据分析&#xff0c;对业务系统产生的日志进行智能分析&#xff0c;能够识别日志中的接口、参数、业务流&#xff0c;并依据分析的结果生成测试用例。 问题与背景 业务复杂 业务系统的复杂性&#xff0c;对测试人员的业务能力提出严格要求&#xff0c;加重测试成本。 …...

Java中的泛型:高效编程的利器

泛型—— 一种可以接收数据类型的数据类型。泛型是Java中的一种参数化类型机制&#xff0c;通过类型参数&#xff0c;可以在类、接口和方法中实现通用的代码。 泛型的引入 泛型&#xff08;Generics&#xff09;是 Java 编程语言中引入的一个重要特性&#xff0c;它可以让程序…...

角色与内容集合:自动化配置的标准化复用机制

一、Ansible 角色&#xff1a;标准化的配置复用单元角色是 Ansible 在 2.0 版本引入的配置复用单元&#xff0c;它通过约定式的目录结构&#xff0c;将任务、变量、模板、处理程序等配置打包为独立的可复用单元&#xff0c;实现了配置的模块化拆分。1.1 角色的标准目录结构Ansi…...

Unlock Music:浏览器中一键解锁加密音乐文件的终极方案

Unlock Music&#xff1a;浏览器中一键解锁加密音乐文件的终极方案 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: http…...

10kWh锂电池完整设计方案要求【浩博电池】

10kWh锂电池完整设计方案要求10kWh锂电池系统属于中型动力与储能一体化电源&#xff0c;广泛应用于AGV/AMR、无人车、工业机器人、移动储能设备及中小型工程机械。该容量段的设计核心已经从“单纯供电”升级为高安全性高功率输出系统级可靠性控制。一、总体设计目标10kWh锂电池…...

别再为故障分析头疼了!手把手教你用CWSOE模块搭建风电场分布式SOE记录系统(含NTP对时配置)

风电运维实战&#xff1a;基于CWSOE模块的分布式SOE系统部署全指南 引言&#xff1a;为什么风电场的故障分析需要专业SOE系统&#xff1f; 去年冬天&#xff0c;北方某200MW风电场遭遇了一次全场停机事故。运维团队花了整整三天时间排查故障原因&#xff0c;最终发现是一台箱变…...

ubuntu安装MySQL8.4 LTS

清华大学镜像库连接&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror 一、更新ubuntu索引包 # 更新包索引&#xff08;必做&#xff09; sudo apt update # 升级现有包&#xff08;可选&#xff0c;推荐&#xff09; sudo apt upgrade -y 二、使用清华大学…...

WaveTools终极指南:免费解锁鸣潮120帧的完整教程

WaveTools终极指南&#xff1a;免费解锁鸣潮120帧的完整教程 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 想要彻底解决《鸣潮》游戏卡顿问题&#xff0c;享受流畅的120帧体验吗&#xff1f;今天我要为你…...

UniApp + ECharts实战:手把手教你打造一个可复用的自定义图表组件(附完整代码)

UniApp ECharts组件化实战&#xff1a;构建高复用性图表组件的完整指南 在当今数据驱动的移动应用开发中&#xff0c;数据可视化已成为提升用户体验的关键要素。对于UniApp开发者而言&#xff0c;将强大的ECharts图表库封装成可复用的组件&#xff0c;不仅能显著提升开发效率&…...

老项目复活记:解决那些年我们遇到的Gradle SSL连接重置问题(附多种环境配置)

老项目复活指南&#xff1a;全方位攻克Gradle SSL连接重置难题 接手一个尘封多年的Android或Flutter项目时&#xff0c;最令人头疼的莫过于构建过程中突然跳出的SSL连接错误。那些红色报错信息仿佛在嘲笑我们与时代脱节的开发环境。本文将带您深入剖析这一经典问题的根源&#…...

MIPI存储

MIPI 存储核心是基于 MIPI M‑PHY UniPro 协议栈&#xff0c;为 UFS&#xff08;通用闪存存储&#xff09; 提供高速、低功耗的物理与链路层&#xff0c;是移动 / 嵌入式主流高速存储接口&#xff1b;同时 MIPI 也定义了 MIPI RAW 紧凑打包格式用于图像数据存储 / 传输。MIPI …...

三菱FX3U PLC编程避坑指南:加减乘除指令用错,小心数据寄存器不够用!

三菱FX3U PLC运算指令实战避坑&#xff1a;寄存器分配的艺术与陷阱 第一次在FX3U上编写配方计算程序时&#xff0c;我遇到了一个诡异的现象——明明乘法运算逻辑正确&#xff0c;最终结果却总是莫名其妙地覆盖了其他变量。经过三天排查才发现&#xff0c;原来是一个32位乘法结果…...