Typecho ShortCode 短代码插件
Typecho ShortCode 短代码插件
目录
Typecho ShortCode 是一款用于自定义短代码的Typecho插件
GitHub 地址 | GitHub 下载
注意:
由于Typecho目前自带的MarkDown解析不支持许多HTML标签(比如 voide
audio
标签等等),可能影响你使用ShortCode短代码
建议使用其他的MarkDown解析,例如:Parsedown(插件)等等
函数说明
使用以下函数来自定义短代码,均为公开静态
ShortCode::set
注册短代码,返回一个ShortCode
实例
参数名 | 类型 | 说明 |
---|---|---|
names | mixed | 短代码名称,可以一个字符串或字符串数组 |
callbacks | mixed | 短代码对应回调函数,可以一个回调函数或回调函数数组 |
overried | bool | 覆盖已存在的短代码设置 可选,默认 false
|
ShortCode::get
获取已注册短代码列表,返回数组,格式例如:
array{
[短代码名称] => 回调函数或回调函数名
...
}
ShortCode::remove
移除已注册的短代码,返回一个ShortCode
实例
参数名 | 类型 | 说明 |
---|---|---|
names | string | 短代码名称 |
callbacks | callback | 只有回调函数相同,短代码才会被移除 可选,默认 null
|
ShortCode::removeAll
移除所有已注册短的代码,返回一个ShortCode
实例
ShortCode::isForce
是否强制处理内容,返回布尔值,当前设置
使用此插件后Markdown或AutoP失效,使用此函数,并传入true
值
参数名 | 类型 | 说明 |
---|---|---|
bool | bool | 可选,默认null
|
ShortCode::handle
字符串处理,返回字符串
参数名 | 类型 | 说明 |
---|---|---|
content | string | 要处理的字符串 |
短代码回调函数参数说明
参数名 | 类型 | 说明 |
---|---|---|
name | string | 短代码名称 |
attr | string | 短代码属性 |
text | string | 短代码内容 |
code | string | 整条短代码内容 |
注册短代码栗子
#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]
# 文章大标题
## 文章中标题
### 文章小标题
...
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>
更新
2018.03.24
- 添加[TOC]自动生成目录功能
- 支持短代码转义(在短代码前加上反斜杠)
赏



支付宝红包

支付宝

微信
博主你好,麻烦问下这个是怎么使用的呢,上传插件并启用后,在哪里能够设置短代码呢,求一份详细的食用说明。
回复 @不吃猫的鱼:
插件只有 [video] [audio] [TOC],要自定义的话直接写在插件代码里
回复 @MoeShin:
Class 'ShortCode' not foundsyntax error, unexpected 'ShorCode' (T_STRING), expecting '('
出行错误,之前你说代码已改,好像没有什么作用
回复 @李:
能具体到哪一行吗
报错语句如下:
Class 'ShortCode' not found
syntax error, unexpected 'ShorCode' (T_STRING), expecting '('
回复 @枫叶:
我改了一下代码,应该没问题了
2021年了,再来打个卡,你举个那例子。我试了下,至今报错。
例子写了,但是没有编辑器里使用的例子。如何用短代码去使用你的注册短代码。。。哭了我
短代码这部分非常迫切需要个详细的例子和具体步骤,代码小白一直没搞懂functions.php里面具体要怎么写QAQ
能注册那种标签卡嘛
回复 @倪殇秋雨:
什么标签卡呢?
回复 @小さな手は:
那个标签卡,我特想要那个功能,放视频时候可以分类
回复 @倪殇秋雨:
抱歉哈,没有哦。以前也有人问过
回复 @小さな手は:
好的,谢谢。我找了好久都没有找到插件
回复 @小さな手は:
类似这里面的https://get233.com/archives/mirages-shortcode-docs.html