网上有很多 Typecho 首页文章显示摘要的方法介绍,但是,使用了后发现,效果并不太好,尤其是文章的开头部分有多种格式的内容时,在首页只会显示纯文字,各种格式都会消失不见。还有一个专门显示摘要的插件,但是那个插件只是将文章输出的高度限制了,在打开首页时,仍然会加载所有的内容,而且有些图片会被截断显示。或者还有个添加 <!--more-->
标签的方法,但是太麻烦,需要每次都添加,而且容易忘记添加。
但是前段时间自己鼓捣研究了一下,有了更好的显示摘要效果。
方法:
编辑模板的 index.php
文件,找到这一行代码:
<?php $this->content('阅读剩余部分...'); ?>
将其替换为:
<?php $this->summary(); ?><p class="more"><a href="<?php $this->permalink() ?>">展开阅读</a></p>
保存,刷新你的首页看看效果吧!
如果以同样的方法修改模板的 archive.php
文件,那么在文章分类显示页也可以做到显示摘要。
而且我有文章是用 HTML 写的,有的是用 MD 写的,不知能否区分开来。
如果采用 Markdown ,会显示
Notice: Undefined offset: 1
,因为/var/Widget/Abstract/Contents.php
里的summary()
无法解析 MD 语法,请问有什么好的解决方法吗?我想不到简单的办法😂,只是个菜🐔,如果你对 PHP 语言比较熟悉,那你尝试着改一改 summary 函数,所以问题就是如何用 PHP 区分 HTML 和 MD,这一块我不太熟悉。
summary() 里的正则只适合解析HTML,但作为一个两年没摸过PHP的弱🐔,我不知道如何让它同时能符合HTML和MD的解析