插件简介
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.支持更多短代码
短代码模块默认不开启,默认情况下是不会像截图那么多按钮的,请自行到插件设置里打开
谢谢博主分享
多谢博主
我来测试一下
感谢博客分享
谢谢
感谢博主分享!
谢谢
感谢博主!
之所以评论是因为......懂吧
试试
谢谢大佬分享!!
谢谢分享
谢谢分享
谢谢分享
的点点滴滴多多多多
多谢博主
谢谢分享
感觉原有的不好用,正在找新的编辑器。。
感谢 我试试
谢谢