导航菜单
登录 注册

插件简介

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. 叫我沈同学
    浙江省

    为何我的编辑器打不开“符号/表情”,也没有可以勾选的勾选框按钮?

  2. 124
    安徽省

    感谢

  3. test
    安徽省

    感谢博主小眼睛

  4. noo
    四川省

    试试

  5. 上官
    江西省

    表情添加的时候没有定义class会被原有主题样式影响导致表情显示太大什么的异常,请添加一下class样式固定一下

    1. Ryan
      未知地区

      请找你的主题作者,我这里测试默认主题没问题的,带owo的 class

  6. 小元
    浙江省

    又更新啦,感谢大佬的维护!

  7. blond等等
    陕西省

    启用插件后为何编辑器上方没有工具栏啊

  8. Jiyc
    河南省

    支持

  9. dooli
    四川省

    下载使用一下

  10. Iridescent41
    重庆市

    为什么 后台显示不了 Mathjax ?