魔改教程魔改hexoHexo-Butterfly 魔改 - 给文章添加随机图片
Pupper制作简单的 随机图片 api
这里以 "腾讯云"为例.
需要有 php 环境
上传图片
在存储桶中创建一个文件夹,将准备的随机图片上传到创建的这个文件夹中, 可以通过网页上传, 也可以通过工具.
创建 网站
创建 文件
在网站根目录中创建 img.txt
和 index.php
两个文件.
在 index.php
中填写随机图片脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?php
$filename = "img.txt"; if(!file_exists($filename)){ die('文件不存在'); }
$pics = []; $fs = fopen($filename, "r"); while(!feof($fs)){ $line=trim(fgets($fs)); if($line!=''){ array_push($pics, $line); } }
$pic = $pics[array_rand($pics)];
$type=$_GET['type']; switch($type){
case 'json': header('Content-type:text/json'); die(json_encode(['pic'=>$pic])); default: die(header("Location: $pic")); } ?>
|
在 img.txt
中放入图片的链接
此时,使用我们当时创建网站的网址就可以获取到随机图片了,如: https://random-img.pupper.cn
在 hexo 博客中使用
修改 js 文件
有 "+"、"-" 号的部分为修改的部分
themes/butterfly/scripts/filters/random_cover.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
'use strict'
hexo.extend.filter.register('before_post_render', function (data) { const { config } = this ...... return data + }, 0)
function randomCover () { const theme = hexo.theme.config let cover let num
if (theme.cover && theme.cover.default_cover) { if (!Array.isArray(theme.cover.default_cover)) { cover = theme.cover.default_cover - } else { num = Math.floor(Math.random() * theme.cover.default_cover.length) cover = theme.cover.default_cover[num] - } } else { cover = theme.default_top_img || 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' - } + if (theme.cover.suffix) { + if (theme.cover.suffix == 1) + cover = cover + ("?" + Math.ceil(Math.random() * 10000)) + else if (theme.cover.suffix == 2) + cover = cover + ("&" + Math.ceil(Math.random() * 10000)) + } return cover }
|
修改 配置文件
_config.butterfly.yml
1 2 3 4 5 6 7 8 9 10 11
| cover: ...... suffix: 1 default_cover: - https://random-img.pupper.cn/api
|
重新编译启动
大功告成