环境配置|GitHub——解决Github无法显示图片以及README无法显示图片

一、问题背景

最近在整理之前写过的实验、项目,打算把这些东西写成blog,并把工程文件整理上传到Github上。但在上传README文件的时候,发现github无法显示README中的图片,如下图所示:

 

在README中该图片路径为:

![contents](./contents.pdf)

而仓库的内容为:

其中,contents.pdf是论文的目录页,虽然是pdf格式,但是按照我的经验,LaTeX、markdown都是可以把pdf识别成高清矢量图的,因此在本地的README中,这个目录是会显示的,如下: 

查阅百度百科:PDF(Portable Document Format的简称,意为“可携带文档格式”),是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。因此,pdf可以是图像的后缀。

二、解决方法(记录了尝试过程,如不想看废话直接看方法总结)

查阅资料,发现github中README.md关联图片的图片地址是具有规范格式:

https://github.com/用户名/repository仓库名/raw/分支名master/图片文件夹名称/***.png or***.jpg

如果没有图片文件夹,则可以直接省略此部分即可。于是,我尝试把图片地址改为:

![contents](https://github.com/RGNil/2020MCM_paper/raw/master/contents.pdf)

 但是依旧显示不了,难道是github不能显示pdf?于是我把pdf转换成了png图片

然后尝试了以下两个地址

![contents](./contents.png)
![contents](https://github.com/RGNil/2020MCM_paper/raw/master/contents.png)

但是依旧显示不了,于是我想,干脆直接用图片的绝对地址试试

 点击仓库的contents.png,找到图片地址,同时发现即使不在README中,还是无法显示该图片。尝试了一下绝对地址

![contents](https://github.com/RGNil/2020MCM_paper/blob/master/contents.png)

但依旧不能在README中显示图片,淦。,。

点击链接查阅一下

 

发现无法访问,显示的地址开头是 raw.githubusercontent.com

查阅资料发现,raw.githubusercontent.com 是github用来存储用户上传文件(不是项目仓库的文件,而是issue里的图片之类的)的服务地址。放在亚马逊s3上。是github 的素材服务器 (assets server), 避免跟主服务抢占负载。 

 

直接搜,发现好像是因为有 墙 的存在。,。 

 

也有说是DNS污染了,这里简要介绍一下DNS 污染:网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。一般来说,在互联网上都有可信赖的网域服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的计算机导引往错误的服务器或服务器的网址。

尝试配置hosts文件,直接指向github的服务器。用ipaddress查一下raw.githubusercontent.com 的ip 

 

修改hosts文件,mac的hosts在 

/etc/hosts

 添加

199.232.68.133 raw.githubusercontent.com
199.232.68.133 githubusercontent.com

 如果不习惯直接命令行修改,可以使用SwitchHosts工具(mac、win都适用)

 

添加hosts配置 

 

添加github相关host 

 

添加之前的配置并开启该配置 

 

这里再赘述一句,如果不需要这个hosts可以直接关掉,如果需要注释某一行配置,只需要单击配置前行号即可 

 

好了,搞了一圈,看看github能不能显示图片了: 

 

激动人心!!!终于可以显示图片了!!!

经过测试,之前的几种路径格式都可以,如此一来就用最简单的相对路径就好了(下述第一行) 

![contents](./contents.png)
![contents](https://github.com/RGNil/2020MCM_paper/raw/master/contents.png)
![contents](https://github.com/RGNil/2020MCM_paper/blob/master/contents.png)

 然而,github的README好像还是不支持把pdf显示,下面的一行仍旧不显示

![contents](./contents.pdf)

 三、方法总结

所以不管是README不能显示图片,还是github网站上不能显示图片,并不是图片路径格式的问题,而是DNS污染了,即无法访问存放了github图片素材的raw.githubusercontent.com站点。

解决方法很简单,查找raw.githubusercontent.com的ip,并将其添加至系统hosts文件即可:

用ipaddress查一下raw.githubusercontent.com 的ip

 

修改hosts文件,添加github相关host 

 

添加之前的配置并开启该配置 

 

然后就可以正常显示github上所有的图片了!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/148761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter笔记:缩放手势

Flutter笔记 缩放手势 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/134485138 目 录 1. 概述2. 缩放手…

FlinkCDC数据实时同步Mysql到ES

考大家一个问题,如果想要把数据库的数据同步到别的地方,比如es,mongodb,大家会采用哪些方案呢? ::: 定时扫描同步? 实时日志同步? 定时同步是一个很好的方案,比较简单,但是如果对实时要求比较高的话,定…

【开源】基于Vue.js的智能教学资源库系统

项目编号: S 050 ,文末获取源码。 \color{red}{项目编号:S050,文末获取源码。} 项目编号:S050,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课…

quinn源码解析:QUIC数据包是如何发送的

quinn源码解析:QUIC数据包是如何发送的 简介QUIC协议中的概念endpoint(端点)connection(连接)Stream(流)Frame (帧) 发包过程解析SendStream::write_allConnectionDriverEndpointDriver 简介 q…

R语言和RStudio的下载安装(非常简便舒适)

目录 R语言和RStudio的关系R语言和Tableau下载R语言进入官网选择清华镜像源Download R for Windows选择base版本开始下载进行安装配置环境变量检查是否安装成功 下载RStudio进入官网点击下载进行安装检查是否安装成功打开选择R语言环境成功打开显示四个工作区 R语言和RStudio的…

【预处理详解】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 预定义符号 2. #define定义常量 3. #define定义宏 4. 带有副作用的宏参数 5. 宏替换的规则 6. 宏函数的对比 7. #和## 7.1 #运算符 7.2 ## 运算符 8. 命名约定 …

你知道什么是SaaS吗?

你知道什么是SaaS吗? 云服务架构的三个概念 PaaS 英文就是 Platform-as-a-Service(平台即服务)PaaS,某些时候也叫做中间件。就是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开…

计算两个向量的叉积numpy.cross()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算两个向量的叉积 numpy.cross() [太阳]选择题 请问代码中最后输出正确的是? import numpy as np a np.array([1, 2, 3]) b np.array([4, 5, 6]) c np.cross(a, b) pri…

nrm的安装以及使用

1,什么是nrm nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。 什么意思呢,npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的,一般我们都会…

云原生专栏丨基于服务网格的企业级灰度发布技术

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,…

ssm+vue的高校疫情防控管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的高校疫情防控管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…

项目自动化构建工具——make/Makefile

目录 一、概念 二、使用实例 三、原理 四、进度条程序 1、缓冲区问题 1、概念 2、\r和\n 2、代码编写 一、概念 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先…

Open AI开发者大会:AI“科技春晚”

ChatGPT的亮相即将满一年之时,OpenAI举行了自己的首次开发者大会。OpenAI首席执行官Sam Altman宣布推出最新的大模型GPT-4 Turbo。正如“Turbo”一词的中文含义“涡轮增压器”一样,本次发布会上,OpenAI的这款最新大模型在长文本、知识库、多模…

Django+Vue项目创建 跑通

参考链接: 【精选】DjangoVue项目构建_django vue-CSDN博客 一、背景 主要介绍如何使用后端Django 前端Vue 的技术栈快速地搭建起一套web项目的框架。 为什么使用Django和Vue? Django是Python体系下最成熟的web框架之一,由于Python语言的易用…

【心得】PHP的文件上传个人笔记

目录 1 php的文件上传绕过 黑名单绕过 2 php文件上传的00截断 3 iconv字符转换异常后造成了字符截断 4 文件后缀是白名单的时候的绕过 web服务器的解析漏洞绕过 5.高级文件上传绕过 1 .htaccess nginx.htaccess 2 服务端内容检测 3 配合伪协议来绕过 4.配合日志包含绕…

Word2Vec浅谈

论文地址:Efficient Estimation of Word Representations in Vector Space 个人认为,word2vec主要解决的问题是one-hot中维度过高并且稀疏的问题。word2vec是Google团队在2013年发表的一篇paper,当时一经问世直接将NLP领域带到了一个新的高度…

038、语义分割

之——介绍与数据集 杂谈 语义分割,语义分割(Semantic Segmentation)方法-CSDN博客: 语义分割是计算机视觉领域的一项重要任务,旨在将图像中的每个像素分配到其对应的语义类别中。与物体检测或图像分类不同,语义分割不仅要识别图像…

Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)

Golang起步篇 Golang起步篇一. 安装Go语言开发环境1. Wondows下搭建Go开发环境(1). 下载SDK工具包(2). 解压下载的压缩包,放到特定的目录下,我一般放在d:/programs下(路径不能有中文或者特殊符号如空格等)(3). 配置环境变量步骤1:先打开环境变…

数据结构【DS】特殊二叉树

完全二叉树 叶子结点只能出现在最下层和次下层, 最下层的叶子结点集中在树的左部完全二叉树中, 度为1的节点数 0个或者1个【计算时可以用这个快速计算, 配合𝑛0𝑛21】若n为奇数,则分支节点每个都有左右孩子;若n为偶数&#xff0…

【STM32】ADC(模拟/数字转换)

一、ADC的简介 1.什么是ADC 1)将【电信号】-->【电压】-->【数字量】 2)ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字量,建立模拟电路到数字电路的桥梁。 3)12位逐次逼近型ADC,1us转换时间&#xf…