导航菜单
登录 注册

插件简介

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. 1
    广东省

    123好好好

  2. error
    广西

    该评论仅登录用户及评论双方可见

  3. 123
    陕西省

    学习一下

  4. nb_class
    江苏省

    这个好,mark,谢谢。

  5. RONGYAN
    江苏省

    真是个好东西。

  6. loong
    广东省

    来学习啦

  7. 福建省

    看看太开心

  8. 米修修
    湖北省

    谢谢楼主的分享,插件很棒

  9. ddd
    四川省

    感谢更新

  10. 1
    广东省

    很好

  11. ming
    广东省

    感谢分享

  12. 辽宁省

    看看