部署个性化的图片api, 并应用到网站上
部署图片api
将图片上传到图床
我把预先精挑细选的图片都存放到gitee仓库里
在Vercel部署图片api
将GitHub上的一个开源项目random-pictures复制到本地
这个项目可以自定义设定不同的图片类型(图片的类型不同, api的链接不同)
目录结构
项目原先的目录结构为
random-image-api/
├── api/
│ ├── meinv.txt
│ ├── dongman.txt
│ ├── nature.txt
│ ├── randomImage.js
├── public/
│ ├── index.html
│ ├── favicon.ico
├── package.json
└── vercel.json
添加或删除图片分类
如果想要删除或添加分类只需添加或删除api文件夹
里面的文本文件(.txt)
, 名字可以根据自己的喜好来取
自定义图片链接
api文件夹
里面的三个文本文件(.txt)
中分别记录了不同类型图片的url链接
, 可以根据自己的喜好将分类好的图片链接分别添加到不同的文本文件里
以dongman.txt
为例
https://example.com/dongman1.jpg |
部署到Vercel
- 在GitHub新建仓库, 存放刚刚自定义过的项目的所有文件(不要改变原有的目录结构)
- 进入Vercel官网, 选择刚刚创建的GitHub仓库, 进行部署
部署完成后可以获得一个域名(该域名国内需要科学上网才能访问, 如果想直接访问需要绑定国内的域名)
通过访问该域名及其路径,可以实现的功能如下:
https://your-domain.vercel.app/
显示项目的主页https://your-domain.vercel.app/类型
随机显示一张类型.txt
文件中的图片
修改项目主页的内容
这个与api的使用没有关系, 但是最好还是让项目主页显示的内容与自己设定的图片类型同步
根据自己设定的类型, 修改public文件夹
内index.html文件
中相应的内容就可以
hint: 千万不要忘了, 将修改后的项目文件重新提交到GitHub仓库里呀(Vercel会自动与GitHub仓库中的内容保持同步, 所以不用担心)
将api应用到网站
修改主题的配置文件
在网站源码的根目录下的butterfly主题
的配置文件_config.butterfly.yml
中添加刚刚部署好的api
例如, 我想让文章的封面使用api加载
cover: |
预览后会发现, 虽然每次每次刷新页面会加载不同的图片, 但是所有文章的封面显示的图片全部相同
让每个封面显示不同的图片
配置方法如下:
在网站根目录\themes\butterfly\scripts
下, 新建random_img.js文件
|
xxxxxxxxxx4 12 描述
3 foo bar baz
4html
描述
3foo bar baz
4修改后如下:
cover: |
再次预览, 会发现每个文章的封面成功显示不一样的图片