一个编辑器折腾了我一天

5个月前 (04-29) 718℃ 0

前言

用习惯了markdown编辑器用富文本编辑器各种别扭憋屈,于是乎我折腾了起编辑器啊哈哈~

给你们看效果,不不错吧,真的是折腾了我一天,作为一个小白只能瞎折腾,结果还给我成功了~

起因

其实在这以前 tp-log 作者就给我一个方案了,editor.md 编辑器在之前我搞““易语言”打造属于自己的静态博客生成器”就了解还不错,但时候感觉很麻烦也不了解这个插件机制就不了了之了。

然后呢今天看到凡哥写给我看的“Tp-log引入第三方类,支持将Markdown内容显示为正常内容” 我在本地测试一番,效果还不错,然后就又起了折腾的心思,主要还是富文本编辑器用的不习惯。

思考

tp-log是二开tpframe框架,官网的插件是可以直接使用的。官网有两个编辑器插件百度编辑器UEditor 2.0kindEditor编辑器 2.1,我就下载来参考了一下...看不懂,于是有看了官方文档插件教程更迷糊了,这是在为难我代码小白,看不懂看不懂。

没办法只能在看下2个编辑器插件代码了,我选择kindEditor作为参考,因为代码更少。参考完以后发现主要文件就view下的两个indexstatic是编辑器资源文件。index主要是编辑器html文件,static是编辑器资源文件css/JS之类的。

分析完以后我就准备按他们的文件格式创建一个新的文件准备测试,但是现实给我了一暴击,我才新建一个文件打开后台就直接报错,什么鬼啊,百度无果,多次测试无果。

最后我选择暴力点,我什么都不改直接替换你kindEditor编辑器的文件,复制粘贴,后台登录测试,0j8k效果非常好,没有一点点问题 哈哈哈~

主要是这些代码要替换一下,灵活调用基本ok~

最蛋疼的就是,图片上传了这个我折腾2小时后,发现有个文章写的明明白白我竟然才百度到“thinkphp5使用Markdown编辑器Editor.md并上传图片”我要是早点百度到这文章,我还需要折腾那么久吗o(╥﹏╥)o

//Markdown上传图片
    public function uploadImg(){
        if(request()->isPost()){
            $file = request()->file('editormd-image-file');                   
                $info = $file->move( './uploads/knowledge');
                if($info){
                    $value=config('uploadFiles').'/knowledge/'.$info->getSaveName();
                     return json(['url'=>$value,'success'=>1,'message'=>'图片上传成功!']);
                }
                else{        
                    echo $file->getError();
                    }            

        }else{
            $this->error('非法请求');
        }

    }

好了最终效果,看图:

很多细节我都忽略了,不想写,写了就赶紧自己是眼瞎,几分钟的事情我花了几小时

后续

编辑器折腾好以后,我像把以前的文章都换回markdown格式的,但是我在本地做了个测试,蛋疼。

直接数据库替换以前文章

对,虽然数据库是markdown格式的文章,但是他没解析我吐了,他需要我在后台编辑一次在保存才能正常解析,日狗了,我就没折腾了。

首页缩略图事件

因为我们不是把文章格式转换成markdown了吗!所以我默认寻找img找不到,然后文章简介也是全输出markdown格式的。

不折腾不爽斯基的我,思考了很久,还是折腾出来。

application\common.php 修改和添加以下代码:

  • 头部添加
use \linyufan\markdown\Parsedown; //引入自定义类 2021.4.27 Linyufan.com
  • 修改原来的寻找缩略图
//取文章内容第一张图片作为缩略图,没有就输出随机缩略图
// postimg($vo['content']);
//{$vo.content|postimg}
//'{empty name="vo.thumb"}{$vo.content|postimg}{else/}{$vo.thumb}{/empty}'

function postimg($content){
$Parsedown = new Parsedown();  //初始化类   
$Parsedown = $Parsedown->text($content);
preg_match('/<img[^>]*?src="([^"]*?)"[^>]*?>/i', $Parsedown, $match);
if (!isset($match[1])) {
    echo "https://picsum.photos/200/150";
} else {
    echo $match[1];
}

}
  • 首页简介转换

有什么用?我忘记了,大概就是不会像原来一样就是了。

//转换首页文章
function markdown($content){
$Parsedown = new Parsedown();  //初始化类   
$Parsedown = strip_tags($Parsedown->text($content));
echo mb_substr($Parsedown,0,100,'utf-8');
}

结尾

markdown大法好,写文速度都快了很多 哈哈哈

这个邮件通知我是真rihou了,有时候可以,有时候又不行,在不行我就按照凡哥的替换数据库了。

( ̄︶ ̄*))让我吃饭把,今天就吃了一泡面,折腾到现在,肚子饿了!!!

标签: none

非特殊说明,本博所有文章均为博主原创。

吐槽啦~



已有 37 条评论


  1. 姜辰 5个月前 (05-03) #37
    @姜辰:你这个折腾的可以啊!markdown写文章的确舒服,基本不需要怎么用鼠标去排版。
    叶开楗 5个月前 (05-03) #37-1
    @姜辰:是,习惯用markdown了以后,用富文本编辑器一点都不习惯,别扭~
  2. jfz 5个月前 (05-01) #36
    牛逼
    叶开楗 5个月前 (05-02) #36-1
    @jfz: 没有啦~
  3. 泽泽 5个月前 (04-30) #35
    能折腾也挺好 ,我在家就啥也不想干,每天就像个刷视频的机器
    叶开楗 5个月前 (04-30) #35-1
    @泽泽:不折腾了,折腾不动了,我要被赶出去了
    2个月没出5公里范围。。
  4. PonYoung 5个月前 (04-30) #34
    域名怎么换了?
    叶开楗 5个月前 (04-30) #34-1
    @PonYoung:这样好记多了吧,也方便了~
  5. 大峰 5个月前 (04-30) #33
    折腾啊,我现在都不想看见代码~
    夏目贵志 5个月前 (04-30) #33-1
    @大峰:我也不想,等我邮件通知搞好一下。
  6. 老司机(FLYER) 5个月前 (04-30) #32
    官网的插件开发文档
    就是一个扯淡!!!
    夏目贵志 5个月前 (04-30) #32-1
    @老司机(FLYER):真的是搞不懂了 楼上的评论有通知,大佬你的没有通知

    是,官网的插件开发文档就那个几个字无语了。
    老司机(FLYER) 5个月前 (04-30) #32-0
    @夏目贵志:是不是你的 不接收gmail的呀
    老司机(FLYER) 5个月前 (04-30) #32--1
    @夏目贵志:但感觉 不应该呀,我能接收你的,回复!
    叶开楗 5个月前 (04-30) #32--2
    @老司机(FLYER): 我又看了我和你来往的邮件,然后又调整set_time_limit,nginx 设置300 ,现在我也搞不懂了,到底是服务器问题还是什么的,估计是我服务器美国一些延迟吧!

    我每次都是自己和自己测试都ok的,但是和别人没有,在看看吧~
    老司机(FLYER) 5个月前 (04-30) #32--3
    @叶开楗:我在我服务器上 用 gmail 和 QQ的测试 都可以 但有延迟 正常
    叶开楗 5个月前 (04-30) #32--4
    @老司机(FLYER):

    这是我今天设置的,没找别人测试,现在看来我和你接受正常,应该是可以了吧!!
    老司机(FLYER) 5个月前 (04-30) #32--5
    @叶开楗:刚才收到 现在又没收到
    叶开楗 5个月前 (04-30) #32--6
    @老司机(FLYER): 可能是刚才我加了代码,评论失败才没有发送吧!!现在应该有吧!!
    老司机(FLYER) 5个月前 (04-30) #32--7
    @叶开楗:有了!!
    老司机(FLYER) 5个月前 (04-30) #32--8
    @叶开楗:但你改 先执行邮件发送 再提示 成功 这样加载很长 影响体验
    叶开楗 5个月前 (04-30) #32--9
    @老司机(FLYER): 不这样,有时候邮件发送不出去,直接评论重复十几条,哪天就发生这样的事情了,所以只能这样了。
    叶开楗 5个月前 (04-30) #32--10
    @老司机(FLYER):好像前面的邮件没发出去导致卡死了,可用性于17:23恢复正常,可用探测点百分比为100%,持续时间4分钟。然后又有人评论没收到邮件。
    我早上也尝试了用api发送邮件,点击评论后在post请求发送邮件apiURL,不起作用就放弃了。
    老司机(FLYER) 5个月前 (04-30) #32--11
    @叶开楗:我觉得你还是改thinkphp 列队 方式发送算了 入坑think-queue 吧
    叶开楗 5个月前 (04-30) #32--12
    @老司机(FLYER): 作为小白太难了,看不懂。无所谓了。
  7. 林羽凡 5个月前 (04-29) #31
    吃饭要紧啊。这个页面正文的A链接颜色我感觉需要修改下,要不是看Markdown的图片,我差点就没发现【“thinkphp5使用Markdown编辑器Editor.md并上传图片”】这个链接。
    夏目贵志 5个月前 (04-30) #31-1
    @林羽凡:好,明天修改一下~
  8. Js.nake 5个月前 (04-29) #30
    哈哈,就没哪天看你不是在折腾的,哈哈
    夏目贵志 5个月前 (04-30) #30-1
    @Js.nake:这段时间都在折腾啦~
  9. 哥斯拉 5个月前 (04-29) #29
    你是非程序员里超厉害的了
    夏目贵志 5个月前 (04-29) #29-1
    @哥斯拉:不敢,不敢
    你们都才是厉害的,等我先吃完东西~
  10. 知怪网 5个月前 (04-29) #28
    好几天没发美食了,最近都在折腾
    夏目贵志 5个月前 (04-29) #28-2
    @知怪网: 最近是精力都在折腾博客 没折腾好,我难受~抱歉~
    夏目贵志 5个月前 (04-29) #28-1
    @知怪网:

    给你看看哈~
    知怪网 5个月前 (04-29) #28-0
    @夏目贵志:你已经实现了辣条自由
    夏目贵志 5个月前 (04-30) #28--1
    @知怪网:哈哈 上火~
至顶 留言 至底