Typecho 短代码插件 ShortCode

Typecho ShortCode 是一款用于自定义短代码的Typecho插件
GitHub 地址 | GitHub 下载

注意:
由于Typecho目前自带的MarkDown解析不支持许多HTML标签(比如 voide audio 标签等等),可能影响你使用ShortCode短代码
建议使用其他的MarkDown解析,例如:Parsedown插件)等等

函数说明

使用以下函数来自定义短代码,均为公开静态

ShortCode::set

注册短代码,返回一个ShortCode实例

参数名类型说明
namesmixed短代码名称,可以一个字符串或字符串数组
callbacksmixed短代码对应回调函数,可以一个回调函数或回调函数数组
overriedbool覆盖已存在的短代码设置
可选,默认false

ShortCode::get

获取已注册短代码列表,返回数组,格式例如:

array{
    [短代码名称] => 回调函数或回调函数名
    ...
}

ShortCode::remove

移除已注册的短代码,返回一个ShortCode实例

参数名类型说明
namesstring短代码名称
callbackscallback只有回调函数相同,短代码才会被移除
可选,默认null

ShortCode::removeAll

移除所有已注册短的代码,返回一个ShortCode实例

ShortCode::isForce

是否强制处理内容,返回布尔值,当前设置
使用此插件后Markdown或AutoP失效,使用此函数,并传入true

参数名类型说明
boolbool可选,默认null

ShortCode::handle

字符串处理,返回字符串

参数名类型说明
contentstring要处理的字符串

短代码回调函数参数说明

参数名类型说明
namestring短代码名称
attrstring短代码属性
textstring短代码内容
codestring整条短代码内容

注册短代码栗子

#1 一个对一个

ShortCode::set('video',function ShorCode($name,$attr,$text,$code){
    return '<video controls="controls"'.$attr.'><source src="'.$text.'"></video>';
});

#2 多个对一个

ShortCode::set(['video','audio'],'ShorCode');
function ShorCode($name,$attr,$text,$code){
    switch($name){
        case 'video':
            return '<video controls="controls"'.$attr.'><source src="'.$text.'"></video>';
        case 'audio':
            return '<audio controls="controls"'.$attr.'><source src="'.$text.'"></audio>';
    }
    return $code;
}

[TOC]自动生成目录说明

上下不要有文本,自己占一行,与<!--import-->写法一样
在文章列表里不显示也不生成目录

举个栗子

MarkDown:

[TOC]
# 文章大标题
## 文章中标题
### 文章小标题
...CopyMarkdown

HTML:

<div class="TOC">
    <span>目录</span>
    <ol>
        <li>
            <a href="#TOC0">文章大标题</a>
            <ol>
                <li>
                    <a href="#TOC1">文章中标题</a>
                    <ol>
                        <li>
                            <a href="#TOC2">文章小标题</a>
                        </li>
                    </ol>
                </li>
            </ol>
        </li>
    </ol>
</div>
<h1 id="TOC0">文章大标题</h1>
<h2 id="TOC1">文章中标题</h2>
<h3 id="TOC2">文章小标题</h3>
<p>...</p>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索