# 前言

信心满满给 Hexo 布置 Shoka 主题时,发现新浪微博 (图床) 把背景图片屏蔽了(哭)
折腾了好几天终于找到恢复的方法了,下面就跟我一起来看看吧

# 恢复方针

  1. 使用图床配合图缓存链接实现图片显示(图床当然是 Github 白嫖来的,咱可是白嫖帝😋)
    点击查看 具体操作
    • 把图片下载至本地(或者使用现有的本地)
    • 使用 PicGo 上传至 Github 仓库
    • 随随便便修改一下文件

    小声说一下其实前两步可以省略,直接第三步套用我的图床 😏 图源已删除,现已无法使用

  2. 使用 CDN 加速网站顺便也加速了本地图片(CDN 加速用免费的 CloudFlare)
    点击查看 具体操作
    • 把图片下载至本地(或者使用现有的本地)
    • \shoka\source\ 创建一个文件夹把图片丢进去
    • 随随便便修改一下文件
  3. 使用图片 API
    点击查看 具体操作

    主题配置文件中( <root>\themes\_config.yml ),设置图床 API:

    image_server: "https://acg.xydwz.cn/api/api.php" #填你的 API

    这个就不细讲了,没啥好说的

# 关于如何下载和图片在哪找?

推荐两个网站,大部分想要的图都可以找到
https://www.wallpapermaiden.com/
https://konachan.net/
要不然用 P 站 Pixiv 也可以,只不过需要梯子 量力吧
这里就不多说了,我相信大家的图库都很大

# 图片缓存 + Github 图床

PicGo 官网:https://picgo.github.io/PicGo-Doc/zh/
使用与配置方法请阅读官方文档

# 修改文件

<root>\themes\shoka\scripts\helpers\engine.js 文件内修改

var parseImage = function(img, size) {
  if (img.startsWith('//') || img.startsWith('http')) {
    return img
  } else {
    return 'https://tva'+randomServer+'.sinaimg.cn/'+size+'/'+img // 替换成自己 Github 图床前链
  }
}

(图缓存链接) + https://raw.githubusercontent.com/ 用户名 / 仓库名 /main/ 仓库文件夹 /

例:https://images.weserv.nl/?url=https://images.weserv.nl/?url=https://raw.githubusercontent.com/UI123456ax/PicGo/main/ACG-img/
这里以 https://images.weserv.nl/?url= 为例

当然啦,也可以不用加图缓存!只不过 Github 图片访问需要科学上网

如下修改

var parseImage = function(img, size) {
  if (img.startsWith('//') || img.startsWith('http')) {
    return img
  } else {
    return 'https://images.weserv.nl/?url=https://raw.githubusercontent.com/UI123456ax/PicGo/main/ACG-img/'+img
  }
}

可能会有人问:为什么不使用 jsdelivr 公共 CDN 加速 Github 图床?
jsdelivr大部分时候加载不出图片,用了跟没用没两样 当然如果你坚持要用的话就把 Return 里的改成 jsdelivr 的

return 'https://cdn.jsdelivr.net/gh/用户名/仓库名@main/仓库文件夹/'+img

继续
复制所有 Github 图片链接
tLIT.png
这里教你们一个技巧

  • 新建一个空白文本文档.txt
  • 把复制的链接粘贴到文本中,CTRL+H 打开替换

替换内容:

https://raw.githubusercontent.com/用户名/仓库名/main/仓库文件夹/

替换为:

- <-(空格)

注意在 - 之后要加上空格!
tBaz.png

  • 全部替换
  • 再将链接全部复制粘贴替换 themes\shoka\ _images.yml 内的所有内容
l
- e3db001ca1ff57749d14004c392accff.jpg
- dfe2f1c4c2c9f926c0db1122cb5117b2.jpg
- dc8870b29798b5ade59b5b6805550904.jpg
- dc71f9aaa4c2c23df93f5473e0d65c50.jpg
- db86e338a1b3b97e7d8c2217e1d2bf48.jpg
- d047cba5f424d9cfbf857bf1d6690773.jpg
- d1d6420e8a4b75574864f6782240ac33.jpg
- d0bb5becc1c2934e54379eab25746ca8.jpg
- c70a9e45dcfbb6859374570714502db6.jpg
- c62ab5ee354665e3151216320ce140d9.jpg
- c4a826638dd14b7fe2abfad207b1e912.jpg
- bef2fc82f00cbd6a6f1fd5f569ab50c3.jpg
- bbe32387e020ade5a40269ce6ba5471c.jpg
- b3b3c729b93edb06d6059682c7a60e9c.jpg
- b1fd49321ea59220513f8995bfff313c.jpg
- ae871e04ea128b149f8ecef6fca4da33.jpg
- adf77fe6926d1ff5d19dfcccdf39d1de.jpg
- adc9b9e771145bea157df1cc255f6cc2.jpg
- a965cf7c09947f7fe414bddacdd9d0b8.jpg
- a646e517b1405f3855b350999bcb05d9.jpg
- a062f0325a3cfb64fb1443ae5be8b4e7.jpg
- a6de80ed3cd16ea1c7c4cca496a0f492.jpg
- a005f8200d7fd27c84489972b49a92ba.jpg
- a2ec7cec9a1e7456d29c7d250cd7452a.jpg
- a2bf079ec5150592e27e396ca5d321a1.jpg
- 94931551657fafc74bd2dce512183857.jpg
- 84039576b96363bc284fc048283cd7c5.jpg
- 5573333f45cab633a876749a24cdf0fb.jpg
- 5311300a12f2d5ca050dba5a3a771bc7.jpg
- 130223e071a734cd85e6b99a83af4798.jpg
- 99546b3a8824c86bcee697fdb2f1c078.jpg
- 60799bad4e738c34399c018c7b205fbc.jpg
- 51764cd5a8120db25e9e42c81bb1d60e.jpg
- 08182b4baa04601e25bf6ca7945ee1e2.jpg
- 5182e389e0c71d21698c31575f1f57e0.jpg
- 4804c039150f917b3bfc9bf5a21fe0f7.jpg
- 4592ac3071dc6e715bbd31dcde8dd403.jpg
- 4012d96fdc5ec530bf9bca94233d41e6.jpg
- 2502e84dfb214f09f68170a0a1e2d492.jpg
- 2476ea63b66d5eebaa1d2f5229e7ca1f.jpg
- 960e5da3cf8d45aa3fcab6400195c436.jpg
- 0923f285d316f9567eddfdfa7e13b91a.jpg
- 788c70e8f45172d49662d9a35168dde9.jpg
- 651abfed7e735d7908e08caf22dd69a8.jpg
- 496b429666d5bf470a122e087b89cb40.jpg
- 207fc2a84cfe6045c754576fe1a85314.jpg
- 0175e1dfd1fd5fff00deb7a2af971f46.jpg
- 138bcad99511378a15d4061c5ce729ce.jpg
- 99e4538446c090fa1ee0105a7ded7f1f.jpg
- 94d83a5128a645d6225817f507a76b60.jpg
- 94a41f65053699b245977621728bd658.jpg
- 86b7a62e5e158c6d1f98da1f85916496.jpg
- 84ca7d2168efbb4ebcbe7b0c007c0a48.jpg
- 081eebfe88449755af1782ff0a238791.jpg
- 070e21bea949d71faaf613f609f5bc25.jpg
- 69e95f2171ff6ed40bbf307d85a27e53.jpg
- 58bcc73a1042e227a680fae8d0c60e4e.jpg
- 51bd95f698debcc40453f748e722ec57.jpg
- 50d09d73d9aba3ededef6943731a1d38.jpg
- 29ca60308337b405c9a9a5724045976d.jpg
- 27cb68c074bd9edc70039fd7811bbab5.jpg
- 23e74792ff64a22749562f1e129bd70b.jpg
- 11faebcaae455963b927046d47d4e484.jpg
- 10e7262a92eedcf32868baaf529bff6c.jpg
- 9e213346c2d68e787c7acc39f0f46284.jpg
- 9e45cf91e3c04e94df1636b2cd8d72ed.jpg
- 9c985751e135e7706a666f643e31474f.jpg
- 9bf18fcec6c8c234cb7aa085f00451e2.jpg
- 9a112cfaf02bb74699580d5d9b876796.jpg
- 8ca90989ee1ab7367130b81e37cdd0ff.jpg
- 7b6b4eb75e08bc02ad84f04b327faadf.jpg
- 7af92c650fa3de70a547579228d91336.jpg
- 07bccd57ccb1641052cd1dc086c417cc.jpg
- 5ef02b8dcf7921e6c3a51e1a58733e75.jpg
- 5db3450aea286ea15a38332502400841.jpg
- 5cef39f9c16e3d2508a33d3c7979a04c.jpg
- 5b6bf3d387f05f17ee32312ef75ed6b6.jpg
- 5a6e0202925f2ad141f5fe5162d47085.jpg
- 4da8e0c1a04101a7927b54d35f4c984b.jpg
- 4acf5b788331a25c5aae532d0eddb6cb.jpg
- 4a20897e9d038161c148b6b5a509b411.jpg
- 4a12ab3b36e9a18b6260265a4f808186.jpg
- 3efbf07538fd53ba15f64b907f024792.jpg
- 3ae36ebe6ba249cf8f75042f1d10c582.jpg
- 2a8343aa0b84ebe1d31538423efcd9be.jpg
- 1dd656b56c466512d3e5ee530b697d7e.jpg
- 1a299ec38d38a13db9d852856b368bd3.jpg
- 0cb1bc5a66e556f1c3328772117051b9.jpg
- 0aa087029f7e809ef6485ce8b41f1fd7.jpg
- f596ae1c48dfd42a71955c9e36e56926.jpg
- f9aa7e764ffae9f0d2a83370e4819a7b.jpg
- f4e0c401a095d26628aa1b3d178ee094.jpg
- ee1048baa73c396c8fc49afbb531ed2b.jpg
- ea7c56ba50627e216ee4f72a0f7525e0.jpg
- e749836dca3d1f16836561aa5a1319cd.jpg
- e757bc843c78f455519eeeff5f51e76a.jpg
- e092cf59ea4b4b0f90a782cb75ef127c.jpg
- e9c3771ed0c9f7f15a0181c10d748c4d.jpg
- e4f65cd3d277234681c4d35d5af0547e.jpg

其实直接使用我的图床就解决问题啦 图源已删除,现已无法使用

# 使用本地图片

<root>\themes\shoka\source 内随便创建一个文件夹(这里我创建一个名为 images_ACG 的文件夹)
gO2G.png
把你要使用图片丢进去

# 提取文件名称

  1. 用 CMD 打开文件夹再往里面输入以下代码:
    dir *.*/b> 名称.txt
    就会在里面生成一个 名称.txt 的文件,里面就总结了文件夹里的文件名称
  2. 或者说,在这个文件夹里建立一个 名称.txt 文本文档,然后打开这个.txt 文本文档
    输入上面的代码,把这个.txt 文件的后缀名改为 名称.bat ,打开运行之后,也是同样的效果

全部完成后别忘了把.txt 文本删除

# 修改文件

<root>\themes\shoka\scripts\helpers\engine.js 文件内修改

var parseImage = function(img, size) {
  if (img.startsWith('//') || img.startsWith('http')) {
    return img
  } else {
    return '/images_ACG/'+img // 在两个 / 之间写你的文件夹名称
  }
}

用老办法(替换)在刚才的文本的每一项前添加 - (-后有一个空格)
再将链接全部复制粘贴替换 themes\shoka\ _images.yml 内的所有内容

# 注意!

这种方法需要把网站进行加速处理,不然的话一样是需要魔法上网才能看到背景图片的
推荐使用 CloudFlare 免费计划的 CDN 加速(免费的流量够用)

# 结语

终端输入 hexo cl && hexo g && hexo s 看你的成果
不管用哪种方法用最方便最适合的就可以了,仅供参考