插件简介
AAEditor 是一款基于 Typecho 自带编辑器二次开发的编辑器插件。仅能用于 Typecho1.2 ,是 XEditor 插件的升级版。
插件功能
features:
- title: 实时预览
details: 左边编写,右边预览 - title: 额外增强功能
details: 新增多个短代码 - title: 前台短代码渲染
details: 全自动处理,无需修改主题 - title: 模块化编写
details: 方便二改 - title: 附件插入优化
details: 支持一键插入所有图片附件 - title: 图片链接优化
details: 使用短图片链接方式插入图片
插件缺点
因为 Typecho 编辑器原来就没做好通过处理,所以这个插件不可避免地继承了预览不同步的问题。
插件预览
截图
短代码预览
插件使用
二次开发
推荐使用 PHPStorm 进行开发,模块 css 推荐使用 PHPStorm 的 File Watcher 功能进行编译。
程序:sass 的路径(npm install -g sass sass-cli)
实参:$FileName$:$FileNameWithoutExtension$.css --style compressed
输出路径:$FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map
工作目录:$FileDir$
如何自行增加按钮
请查看插件的README.md自述文档
摘要有短代码漏出
不知道为什么 Typecho 的钩子不生效,那就要修改主题调用插件的过滤。
把
<?php $this->excerpt(100, ...); ?>
替换为
<?php
$content = $this->excerpt;
$all = Typecho_Plugin::export();
if (array_key_exists('AAEditor', $all['activated'] && method_exists('\TypechoPlugin\AAEditor\Util', 'excerptEx')) {
$content = \TypechoPlugin\AAEditor\Util::excerptEx($content, $this, null);
}
echo \Typecho\Common::subStr(strip_tags($content), 0, 100, '...');
Pjax 如何回调
如果你的主题有 Pjax 回调代码填写的地方,填入下边的代码即可。
// 创建一个新的Event实例
var event = new Event('pjax:complete');
// 触发document上的'pjax:complete'事件
document.dispatchEvent(event);
TePass 插件导致短代码漏出问题(其他插件导致的也类似)
修改 TePass 的 Plugin.php
,找到excerpt
函数,如下所示,可能在将来的版本有变化。
public static function excerptEx($html, $widget, $lastResult){
$TePassRule='/<!--TePass start-->([\s\S]*?)<!--TePass end-->/i';
preg_match_all($TePassRule, $html, $hide_words);
if(!$hide_words[0]){
$TePassRule='/<!--TePass start-->([\s\S]*?)<!--TePass end-->/i';
}
$html=trim($html);
if (preg_match_all($TePassRule, $html, $hide_words)){
$html = str_replace($hide_words[0], '', $html);
}
return $html;
}
修改为
public static function excerptEx($html, $widget, $lastResult){
if ($lastResult) $html = $lastResult; // 主要是增加了这一句
$TePassRule='/<!--TePass start-->([\s\S]*?)<!--TePass end-->/i';
preg_match_all($TePassRule, $html, $hide_words);
if(!$hide_words[0]){
$TePassRule='/<!--TePass start-->([\s\S]*?)<!--TePass end-->/i';
}
$html=trim($html);
if (preg_match_all($TePassRule, $html, $hide_words)){
$html = str_replace($hide_words[0], '', $html);
}
return $html;
}
插件历史
这里不再发布完整更新日志,相关更新日志请在插件设置页面查看。
2.重写多标签卡片,支持可视化插入多标签
3.前端样式大量优化
4.静态资源支持手动切换 CDN
5.增加编辑器预览窗口开关
6.编辑器支持关闭视频实时预览
7.支持编辑器页面实时切换代码高亮主题
8.支持更多短代码
短代码模块默认不开启,默认情况下是不会像截图那么多按钮的,请自行到插件设置里打开
为何我的编辑器打不开“符号/表情”,也没有可以勾选的勾选框按钮?
按 F12 看看控制台有什么报错
额,Safari按F12没用
Safari 没有 devtools 吗
有啊,只是快捷键不一样
测试
感谢
拿来看看
测试
感谢博主
试试
感谢
为何更新0.2.2后报错?
看看
表情添加的时候没有定义class会被原有主题样式影响导致表情显示太大什么的异常,请添加一下class样式固定一下
请找你的主题作者,我这里测试默认主题没问题的,带
owo
的 class又更新啦,感谢大佬的维护!
查眼,快更新
启用插件后为何编辑器上方没有工具栏啊
我也没有!返回查看,没有编辑器
自行检查是不是与主题或者插件冲突
支持
看看
下载使用一下
感谢分享
kaka看看
为什么 后台显示不了 Mathjax ?