像 typora 这种原地渲染显示的 markdown 编辑器原理是什么呢,需要用 textarea 写一个简单的,能做到吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxCoder

像 typora 这种原地渲染显示的 markdown 编辑器原理是什么呢,需要用 textarea 写一个简单的,能做到吗

  •  
  •   zxCoder 2021 年 10 月 18 日 4708 次点击
    这是一个创建于 1650 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个任务需要写一个超级简单的编辑器,大概就是支持 markdown 的一小部分语法。左边源文本,右边预览这种比较简单,那如果要做到原地渲染显示,需要怎么做呢?完全没有思路

    13 条回复    2021-12-03 07:42:11 +08:00
    jackmod
        1
    jackmod  
       2021 年 10 月 18 日
    vscode 的 markdown 插件也可以实时预览,或许可以参考。
    4ark
        2
    4ark  
       2021 年 10 月 18 日 via iPhone
    为什么不用开源的?搜一下 markdown editor
    ihainan
        3
    ihainan  
       2021 年 10 月 18 日
    有开源实现 vditor 可以参考一下,楼上的 markdown editor 也是基于 vditor 做的实现。

    https://github.com/Vanessa219/vditor
    Panway
        4
    Panway  
       2021 年 10 月 18 日
    Typora 应该是前端渲染的,这类编辑器开源的可太多了:

    https://doocs.github.io/md/#/

    https://labs.lyric.im/wxformat/

    https://github.com/markedjs/marked
    myd
        5
    myd  
       2021 年 10 月 18 日
    contenteditable 属性
    bnm965321
        6
    bnm965321  
       2021 年 10 月 18 日
    所见即所得是个很大的坑,目前市面上也就 typora 做的比较好。

    不过我不太喜欢所见即所得的编辑方式
    ihainan
        7
    ihainan  
       2021 年 10 月 18 日
    @bnm965321 Typora 对我个人来说最大的痛点是没有网页端,VS 扩展 zaaack's Markdown Editor 配合 Code Server 算是某种程度上解决了这个问题而且体验相对最接近 Typora 的(虽然还是有差距)。

    ipwx
        8
    ipwx  
       2021 年 10 月 18 日
    12tall
        9
    12tall  
       2021 年 10 月 18 日
    我有一个没验证的想法,就是控件监听用户输入存到 localstorage 或者其他地方,然后再从 localstorage 渲染到控件。
    zhaiblog
        10
    zhaiblog  
       2021 年 10 月 18 日 via iPhone   1
    @ihainan milkdown 不错,可以试试
    ihainan
        11
    ihainan  
       2021 年 10 月 18 日
    @zhaiblog 试了一下在线 demo,不知道为啥我输入 $$ 会被转义,其他看起来挺棒,我研究一下,感谢!
    zqli92
        12
    zqli92  
       2021 年 11 月 9 日
    如果你只要左编辑右预览,给你个方案:codemirror 做代码编辑器,markdown-it 或 remark 做渲染,上面说的基本都是这种,很容易做,掘金、腾讯开源的 markdown 编辑器都是这么做的,如果想要所见即所得,类似 word 那种,就是上面说的 milkdown ,这种也非常多,开发难度高一点(因为文档字符流是分离的),可以基于 prosemirror 或者 slatejs 去做,基本 markdown 标记都是有的,官方 demo 直接就是这种了。类似 typora 那种难度比较大,目前在线版本只看到一个: https://markdowner.net ,体验非常接近了,也支持 latex ,表格功能更好用
    mirone
        13
    mirone  
       2021 年 12 月 3 日
    @zqli92 其实我个人感觉第三种可能在技术难度上没有第二种大,因为只要把每个编辑的位置替换成一个源码模式的编辑框就好了,需要解决的 coner case 可能还没有第二种多。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1330 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 17:20 PVG 01:20 LAX 10:20 JFK 13:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86