你们好,我依然是大家的萌新朋友,梅利奥猪猪,今天是来水一篇文章的,就如标题所示,前方友情提示,这里是大型水文章现场,如今关闭还来得及!html
这个任务,实际上是个很简单的任务,我花了比较久的时间,主要跑偏了个点,这个跑偏的点对萌新能够说是干货,但并非这个 bug 真正要修复的东西,后面我会详细的讲,先来看如下代码git
<div class="wrap">
<p>这是个p标签</p>
这里的文字没在标签里
<p>这也是个p标签</p>
</div>
复制代码
你们以为用户在默认的文本区域class="wrap"
的div内,设置了这些内容,会不会带入编辑器,不论是说带入仍是说没带入其实都是错的,答案是带入了一部分,没标签的内容并无带到实际的编辑区域内,由于咱们的源码中,只获取了children
,什么,大家不知道为何 children 拿不到纯文本内容这里的文字没在标签里,不要担忧,我一开始也有点忘记了哈哈,能够看下MDN-children,有这么一个描述返回 一个 Node 的子 elements ,是一个动态更新的 HTMLCollection。,因此纯文本并取不到,要经过 childNodes 去取,这个就能够拿到对应的文本节点,但又会有其余的问题,好比返回的是个NodeList,这个和以前的区别就是一个是动态更新的,一个是快照,而后纯文本咱们带入编辑器也须要套上标签等等。总之重构可能会带来各类问题。而后我就与老大讨论了下,结果得出的结论是,若是是纯文本不能带入的问题,咱们就不作处理了。由于咱们有本身的使用规范,而用户提的相似的这种需求(当时理解用户提的 bug 不能把内容带进编辑器觉得是这种场景),至关因而本身定制化的需求,咱们并不该该去帮忙实现,并且纯文本套个标签就这么懒嘛,不能太宠用户 balabala,我其实以为仍是挺有道理的,因而回复了用户,并等待回复!github
而后过了一阵子,团队另外个大佬试出了真相,实际上是咱们菜单编辑区域分离,分离后的编辑区域设置默认的内容,就算是带标签的也没有带入编辑器。那这确定就是咱们的问题了,这怎么能忍,怎么可让用户受这样的委屈!分分钟处理好了这个 bug。截取部分修复的逻辑给你们看下markdown
if (textSelector == null) {
...
} else {
// toolbarSelector 和 textSelector 都有
$toolbarSelector.append($toolbarElem)
// 菜单分离后,文本区域内容暂存
$subChildren = $(textSelector).children() // new
$(textSelector).append($textContainerElem)
// 将编辑器区域原有的内容,暂存起来
$children = $textContainerElem.children()
}
...
// 菜单分离后,文本区域有标签的带入编辑器内
if ($subChildren && $subChildren.length) {
$textElem.append($subChildren)
// 编辑器有默认值的时候隐藏placeholder
$placeholder.hide()
}
复制代码
因此最终第一个任务就这么完成了,我也在这个任务中第一次为开源团队贡献了代码!app
这是个调研任务,是个硬骨头,那为何我完成了这个任务呢,由于实现成本过高,调研后应该就直接pending了,哈哈具体我还要在团队输出调研后的文档,不过是在语雀输出,这边就在这篇水文章大概讲下调研后的结果编辑器
首先我简单去了解了下百度编辑器,毕竟用户说了,秀米在百度编辑器中使用没问题,但在咱们编辑器里就各类表现形式不一致,仍是那句话,怎么能让用户受委屈呢!我就赶忙试了试,外加也看了下百度编辑器中有没有关于接入秀米的文档。结果貌似撒都没找到,也发现了咱们的编辑器对秀米的确支持很差(哭哭唧唧)。那再去秀米官网看看?功夫不负有心人,在秀米官网的底部看到了第三方对接秀米,这不就是我想要找的嘛!激动,因而点进连接,看到了这个ide
以后嘛,就是继续和老大讨论呗,结果结论就是相对实现成本比较高,就先pending。因此第二个任务也就告段落,也算轻松完成了调研任务,调研了相关可行性。oop
做为 90 后又老又菜的咸鱼,为何会把这个列在参后感第一条,那必须是感觉太强烈了。由于加入团队后,看到团队成员里还有没有毕业的大佬,有不少工做 1 年也没到的大佬!这些年轻人个人妈呀!oh my god!技术又强,又自律,又爱学习,我在他们这个年纪的时候,那真的是咸鱼,太自愧不如了(上次好像写了篇文章也大概提到了这个- -)!而后带我熟悉流程的 61 大佬,就是才工做半年的大佬,比我早加入一个月,是个天天都会早起学习的不讲武德的年轻人(在他的感染下,我如今也比平时起的早一丢丢,刚刚开启了自律的早起学习生活)。哈哈我偷了他朋友圈的图,你们感觉下!学习
无论怎么说,一我的能长期坚持作一件事情,哪怕是打游戏,我都以为是很厉害,是值得尊敬的强者,好比日本格斗电竞的职业选手梅原大吾,也是这样,努力坚持学习就是他们最强的天赋。因此我也给本身定了这样的目标(不是强者那也要向强者学习先模仿起来)!在本身游戏荒的时候,每天早起撸会码,而后有本身想玩的游戏的时候,早起劳逸结合打会游戏不香嘛(滑稽脸,我真是个小天才),再来一张鸡汤图,来自网友对梅原大吾介绍的评价截图spa
哎,这个也是我感觉很深的,真但愿本身能早点变强。团队里有的大佬真的一天几个任务几个 issue,作完了立马接新的 issue,而我倒是 n 天一个 issue,并在角落瑟瑟发抖,观摩大佬学习大佬。不过咱们的开源团队很是和谐,大佬们都很 nice,很温油,指导的很耐心,经常在我抖的很是厉害的时候,在我黑暗的前行的道路上点盏明灯。因此如今我也算是熟悉了团队的一些基本的流程,在撸码的时候思路也变清晰点了吧,与大佬们一块儿努力,让咱们的产品变得更好吧!
咱们团队的目标,一直都是官网示例的第一句话争作国内使用体验Z好的开源 Web 富文本编辑器!
,可能各位看客,会以为是否是大家开源会有不少收入,大家是怎么坚持下来的这样的问题。首先咱们是没有收入的,你们都是靠自驱去学习,去作好这么个产品。而后我以为每个成员(包括我),都想提升本身的技术、让 wangEditor 有更多人的去使用、获得同行的承认,也能增长本身的竞争力,体现本身的技术价值。最后我就放几张截图,是来自咱们的文档,咱们老大的掘金文章,以及用户的一些反馈(偷图偷来的),正是这些,聚集了无穷无尽的力量,能让咱们继续努力的为开源事业作出奋斗!