插件简介
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.支持更多短代码
短代码模块默认不开启,默认情况下是不会像截图那么多按钮的,请自行到插件设置里打开
支持一下!!!
功能很强大!
很不错,支持一下
支持一下
看起来真不错啊
支持一下!!!
支持一下!!!