后台obsidian自动同步typecho的过程中,因为xmlrpc不支持自定义字段的接口上传,导致首页图片无法展现,这可害苦了我这强迫症。
考虑后台守护更新和帮着typecho完善xmlrpc接口功能之后,还是决定选择最简单和偷懒的方式,直接将主题修改了,自动将正文中的第一个图片作为首页图片展现处理。
付出的代价就是首页图片增多后网站的响应速度下降了,反正自用小网站,不去追求性能极致了,自己看着舒服就行了。
下面记录下修改jasmine这个主题,实现首页标题旁边的图片展现的方法:
修改后的效果
修改内容
1. function.php增加一个读取正文中第一张图片的函数,放入到文件的任意为止就可
//获取文章中第一个图片
function getFirstImageFromContent($content) {
$output = preg_match_all('/<img.+src="([^"]+)"/i', $content, $matches);
if ($output && !empty($matches[1])) {
return $matches[1][0]; // 返回第一个匹配的图片URL
}
return false; // 如果没有图片,则返回false
}
2. 找到主题下面component目录下的post-item-default.php,找到原文件的
<?php if ($thumbnail = getThumbnail($this->cid, "")): ?>
将其修改为:
<?php if ($thumbnail = getFirstImageFromContent($this->content, "")): ?>
保存刷新,