标签 typecho 下的文章
Typecho主题通过插件接口更换markdown解析
跟插件原理一样,我这里使用Parsedown解析~
水了一篇~
下载地址:
插件版
Parsedown.php
在主题function.php文件下添加:
/**
* 主题插件
*
* @package theme_plugin
*/
class theme_plugin{
public static function markdown($text){
require_once 'Parsedown.php'; //Parsedown.php文件路径
return Parsedown::instance()->setBreaksEnabled(true)->text($text);
}
}
在themeInit函数下添加:
Typecho_Plugin::factory('Widget_Abstract_Contents')->markdown = ['theme_plugin', 'markdown'];
Typecho_Plugin::factory('Widget_Abstract_Comments')->markdown = ['theme_plugin', 'markdown'];
Typecho使用相同插件接口,引用上一个插件返回值
一般一个插件接口被多次绑定,插件的接口参数值不会因为上一个插件的返回而改变,这样上一个插件的返回值就没有作用了
我查看内核发现,回调函数传递参数时,除插件的接口参数外,后面还会多出一个参数,此参数是上一个插件返回的值
这样我们在写插件时加个判断就不会导致上一个插件的返回值失效
一个插件接口所绑定的第一个插件或者上一个插件没有返回值,其多出的参数的值均为false
Typecho非插件文章置顶
这次在重写主题时,看到别人有的置顶文章这种功能,于是自己参考 Sticky插件 写了这种方法,添加在自己主题里~
跟 Sticky插件 一样
在 index.php 的 $this->title(); 前面加上 $this->sticky();可出现这段 html.
例: <h2 class="title"><a href="<?php $this->permalink() ?>"><?php $this->sticky(); $this->title() ?></a></h2>
......