解决hexo引入图床,手机和web不显示图片的问题

解决hexo引入图床,手机和web不显示图片的问题,第1张

hexo引入图片的方式有很多种:

Hexo使用图床的方式加载在blog中加载图片,会在非本人的电脑或者手机端报“html访问图片资源403问题(http referrer)”,导致采用图床方式加载的图片全部无法加载。

http请求体的header中有一个referrer字段,用来表示发起http请求的源地址信息,这个referrer信息是可以省略但是不可修改的,就是说你只能设置是否带上这个referrer信息,不能定制referrer里面的值。

服务器端在拿到这个referrer值后就可以进行相关的处理,比如图片资源,可以通过referrer值判断请求是否来自本站,若不是则返回403或者重定向返回其他信息,从而实现图片的防盗链。上面出现403就是因为,请求的是别人服务器上的资源,但把自己的referrer信息带过去了,被对方服务器拦截返回了403。

在前端可以通过meta来设置referrer policy(来源策略),具体可以设置哪些值以及对应的结果参考 这里 。所以针对上面的403情况的解决方法,就是把referrer设置成 no-referrer ,这样发送请求不会带上referrer信息,对方服务器也就无法拦截了。

浏览器中referrer默认的值是 no-referrer-when-downgrade ,就是除了降级请求的情况以外都会带上referrer信息。降级请求是指https协议的地址去请求http协议,所以上面403的情况还有另一种解决方法就是,请求的图片地址换成http协议,自己的地址使用http协议,这样降级请求也不会带上referrer。

在G:\blog\themes\butterfly\layout\includes目录下有一个head.pug文件,修改该文件的meta信息,会使生成的所有页面都带有该head。在head.pug文件中添加如下内容,结果参见图片。

在G:\blog\themes\yilia\layout_partial目录下有一个head.ejs,同样在head.ejs文件中添加如下meta信息即可

在G:\blog\public\2021目录下就是所有21年生成的blog,找到该目录下的任意一个index.html,用文本编辑器打开就可以看到已经自动生成了referrer标签了。

然后使用hexo d指令将工程同步到github即可

1. 加载本地图片的方法

2. html访问图片资源403问题(http referrer)

来自肥宅的小乐趣,带你玩转hexo自建博客,生活还是需要装一下的嘛:)。

官网 : https://hexo.io/zh-cn/

关于hexo,如官网的一句话介绍,

正如上面的介绍,hexo会在本地生成一个静态html页面,为了让别人看到我们的博客,我们就需要将其推到远端--服务器。

那么github就提供给我们一个免费的仓库,对于新人练手是再好不过了。当然,也可以购买属于自己的域名,让更多的朋友看到你的博客。话不多说,让我们开始吧!(作者使用的是mac os系统,其他系统也类似)

mac用户推荐使用 Homebrew

笔者安装的版本为v12.6.0

安装hexo需要依赖node.js的 npm 的包管理器,由于国内镜像源速度很慢,为了避免出错,所以在使用之前一般是利用 npm 来安装 cnpm , cnpm 为淘宝的镜像源。

至此,我们hexo的博客搭建初步完成了。 INFO Start blogging with Hexo!

若不存在,请进行下一步(存在,请跳过创建步骤)

输入后按回车,然后会提示输入密码,可以按回车设为空。之后SSH就生成了,下图所示:

4. 检验SSH Key

执行yes,若出现下例,则表示配置成功。

5. 设置用户信息

6. 本地博客部署至Github

终端 myblog 目录下,使用 vim 打开 _config.yml ,

滑动至最底部,如图,编辑 deploy 节点,

type: git

repo: git@github.com:codehory/codehory.github.io.git

branch: master

注:1.冒号后有空格 2. repo 一行为新建仓库的SSH地址,打开新建仓库就能看见

输入完毕,按 esc , :wq 保存退出。

7. 安装部署插件

在 myblog 目录下,

8. Deploy to Github

至此,恭喜,完成全部部署,在网址栏输入: yourusername.github.io 就能看到你的初步博客啦!( yourusername 为你github用户名)

在 myblog 目录下,新建一篇博客,

在本地博客的 source->_posts 路径下看到新建的文章,是md格式的,使用markdown文本编辑器进行编辑即可。

编辑完成之后,执行以下命令,即可更新博文,

为了继续满足我们深入骨髓的DIY之心,换一个自己喜欢的主题也是必不可少的环节。Github上有很多眼花缭乱的主题,去选一个自己喜欢的吧! https://hexo.io/themes/

本文例程使用的是: https://github.com/litten/hexo-theme-yilia

在 myblog 目录下,用 vim 打开 _config.yml ,

可以修改 title,subtitle,description,keywords,author 等内容,这些属性依赖于你选择的主题。

输入完毕,按 esc , :wq 保存退出。

menu 用来设置你博客的分类,标签等。

subnav 为你的社交媒体的链接,如github,微博等。

用github当图床

头像 更换:在 myblog 目录下的 source 文件下创建 img 文件,将图片保存在其中。我们通过部署生成,把图片放到 github 上,通过链接找到。

例如:本文将一张 timg.jpeg 的图片存放到 myblog/source/img/ 下,那么我们可以通过之前生成的链接,如 https://codehory.github.io/img/timg.jpeg ,进行图片的插入。

还有许多诸如此类的设置,各自进去修改吧,同样的 *** 作,保存退出。

最后来看看我们的博客吧,还不错吧:

由于博客是在本地生成的,如果更换电脑,那我们是不是就不能用这个博客了?方法总比问题多,我们可以利用 github 来备份博客的文件和数据。

第一次备份完毕,以后的备份,只需进行如下 *** 作:

这样备份完毕后,我们在另一台电脑上,只需 git clone 一下就行了。

说长不长,说短不短,一通 *** 作下来,不知你是否成功了呢?作者只是抛砖引玉,带你入门,之后的进阶过程,还望各位继续探索,玩转hexo。欢迎在评论区展示下你们的成果咯,让作者也学习学习,哈哈。同样,如若有任何纰漏或者相关问题,请在评论区留言吧!感谢各位观看!See you~

Yilia是法语,读音:ilia

词语释义:there is、“有,存在 ”的意思。

中文翻译:伊丽娅,是英文中女生名字。

名字详解:Yilia 伊丽娅,典雅之名,宁如神女。

双语例句:

This is what I will do. I will telephone Yilia and explain.

下面是我要做的:我要给伊丽娅打电话解释清楚。

扩展资料:

英语个人名的来源大致有以下几种情况:

1. 采用圣经、希腊罗马神话、古代名人或文学名著中的人名作为教名。

2. 采用祖先的籍贯,山川河流,鸟兽鱼虫,花卉树木等的名称作为教名。

3. 教名的不同异体。

4. 采用(小名)昵称。

5. 用构词技术制造新的教名,如倒序,合并。

6. 将母亲的娘家姓氏作为中间名。

常用女英文名:

1、Abby/Abbie 是Abigail的简写。人们认为Abby是娇小可爱的女人、文静、令人喜爱、个性甜美。

2、Alina 爱丽娜,古德语,高贵的意思。

3、Coral 卡洛儿,希腊语,法国珊瑚或赠品,彩石的意思。

参考资料来源:百度百科-英文名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11603769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存