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]自动生成目录功能
- 支持短代码转义(在短代码前加上反斜杠)
赏



支付宝红包

支付宝

微信
博主你好,能说下插件具体怎么使用吗?比如说自定义短代码需要在哪个文件里添加代码。是在插件文件里改还是在博客程序文件里改,我看你回复说在MarkDown里改,是哪个文件呢?刚玩Typecho很不熟悉
回复 @masy:
注册短代码是写在 PHP 文件里,比如主题下的 functions.php。
Markdown 是一种语法,是写文章用的,Typecho 默认启用,在 【控制台】-【个人设置】-【撰写设置】-【使用 Markdown 语法编辑和解析内容】。
文章写得有点久,忘记自己举了两个栗子,上次回复时只记得有个“[TOC]自动生成目录”的栗子
,就说只要写在 Markdown 里。
回复 @小さな手は:
谢谢了,使用的话是类似[vidoe]链接地址[/video],这样用吗
回复 @masy:
嗯嗯,如果是用上面注册短代码的栗子
你这个栗子我都不知道加到哪里,悲剧。
回复 @枫叶:
抱歉哈
,文章写得有点久,忘记自己举了两个栗子
,上次回复时只记得有个“[TOC]自动生成目录”的栗子,就说只要写在 Markdown 里。
注册短代码是写在 PHP 文件里,比如主题下的 functions.php。
大佬,想问一下这个插件具体怎么用
回复 @ZD:
下面不是有栗子么
Typecho越来越多人使用,只是技术方面资源欠缺,有你这种爱好者相信Typecho会更强大
我用了快三年typecho,才记起来还有插件这个功能qwq