对typecho的jasmine主题进行修改实现首页图片展现

技术专业 · 04-28

后台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, "")): ?>

保存刷新,

Theme Jasmine by Kent Liao