导航菜单
登录 注册

插件简介

AAEditor 是一款基于 Typecho 自带编辑器二次开发的编辑器插件。仅能用于 Typecho1.2 ,是 XEditor 插件的升级版。

插件功能

features:

  • title: 实时预览
    details: 左边编写,右边预览
  • title: 额外增强功能
    details: 新增多个短代码
  • title: 前台短代码渲染
    details: 全自动处理,无需修改主题
  • title: 模块化编写
    details: 方便二改
  • title: 附件插入优化
    details: 支持一键插入所有图片附件
  • title: 图片链接优化
    details: 使用短图片链接方式插入图片

插件缺点

因为 Typecho 编辑器原来就没做好通过处理,所以这个插件不可避免地继承了预览不同步的问题。

插件预览

截图

短代码预览

插件使用

二次开发

推荐使用 PHPStorm 进行开发,模块 css 推荐使用 PHPStorm 的 File Watcher 功能进行编译。

PHPStorm_File_Wather
PHPStorm_File_Wather

程序: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='/&lt;!--TePass start--&gt;([\s\S]*?)&lt;!--TePass end--&gt;/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='/&lt;!--TePass start--&gt;([\s\S]*?)&lt;!--TePass end--&gt;/i';
    }
    $html=trim($html);
    if (preg_match_all($TePassRule, $html, $hide_words)){
        $html = str_replace($hide_words[0], '', $html);
    }
    return $html;
}

插件历史

这里不再发布完整更新日志,相关更新日志请在插件设置页面查看。

1.重构代码,支持模块按需启用
2.重写多标签卡片,支持可视化插入多标签
3.前端样式大量优化
4.静态资源支持手动切换 CDN
5.增加编辑器预览窗口开关
6.编辑器支持关闭视频实时预览
7.支持编辑器页面实时切换代码高亮主题
8.支持更多短代码

资源预览

资源下载

资源为外部正规网站提供,本站不保存任何下载内容,请自行甄别安全性。
解决Typecho 1.1 版本 Helper::widgetById() 方法报错
上一篇
Ginto:响应式门户主题
下一篇
广告

精选留言

已有 699 条评论

  1. ipan
    广东省

    最近一直在用大佬的编辑器插件,发现一个问题,就是在编辑器界面,原先我装的tag插件都失效了,换了几个tag插件都一样。请问大佬下一版可以兼容吗?或者在编辑器插件的基础上,增加标签云?

    1. Ryan
      未知地区

      是什么插件有兼容性问题,给出具体名称

  2. Mr.C
    天津市

    插件的作者您好,我一直在使用AAEditor的0.33版本,现在我想更新一下网站的皮肤,用的是BearWind,但是有个问题,我在本地测试和在网站上测试发现这款插件和主题不兼容。
    我一开始以为是css没引入,手动在herder引入了编辑器的css还没有显示,而且我发现并不只是css的问题,因为bilibili的播放器也无法显示。
    请问您有没有时间,我把改了一半的主题发给您,您帮我看一下到底是什么问题

  3. aicy
    辽宁省

    请问如何修改插入音乐的名称和歌手信息

  4. yaxp
    英国TechnicolorSA

    好好好

  5. coolarec
    山东省

    感谢大佬默默付出

  6. xIAO
    吉林省

    更新了!!!!

  7. Frank
    上海市

    更新了,更新了哈哈

  8. FX
    天津市

    好好好

  9. asdasd
    浙江省

    感谢分享!

  10. aicy
    辽宁省

    新的插件不错呀

  11. aicy
    辽宁省

    这个插件更新的真不错,一直都在使用

  12. anyming
    山东省

    最近一直在用大佬的编辑器插件,发现一个问题,就是在编辑器界面,原先我装的tag插件都失效了,换了几个tag插件都一样。请问大佬下一版可以兼容吗?或者在编辑器插件的基础上,增加标签云?

  13. Jason
    广东省

    插件好用

  14. 木哥
    江苏省

    哦哟 看一下

  15. Sici
    贵州省

    谢谢博主分享