Blog

Blog

PHODAL

Atom 编辑器 二次开发与spark dev

看了spark(硬件, http://spark.io))对于atom编辑器的二次开发,要笑喷了。于是,我也按照spark的过程来了一遍,发现这似乎是一个不错的方法。

照例先上截图:

iot editor

Review 二次开发

通常我们想的二次开发是这样的:

  1. Fork
  2. 在原来的codebase上改
  3. build

这样做有一个缺点是: 很难更上官方的更新

然而,spark基于atom上打patch,主要原因是需要用到旧版的atom shell,而不是electron来构建,electron似乎一点儿也不支持serialport。所以spark dev的开发流程是这样的:

  1. clone atom的repo
  2. 修改内容,commit, 生成patch文件
  3. 每次build的时候clone一下repo,再patch

缺点: 每次都要下一次atom, 这个应该是可以改进的~~。

Spark dev tasks

在gruntfile文件里,一共有这么几步。

  1. 'download-atom'。 即从github上下载atom-1.0.2,后来发现这一步可以在本地实现。
  2. 'patch-atom-version'。 替换版本
  3. 'inject-packages'。增减一些包
  4. "install-unpublished-packages', 安装一些spark的包
  5. 'bootstrap-atom' 执行``node script/bootstrap```
  6. 'copy-resources' 复制替换一些图片资源
  7. 'install-spark-dev' 安装spark dev的代码
  8. 'patch-code' 这就是神奇的一步了。

里面大概会替换一些文本,如atom-window.patch

--- atom-window.coffee.orig 2015-04-28 15:46:59.000000000 +0100
+++ atom-window.coffee  2015-04-28 15:47:44.000000000 +0100
@@ -27,7 +27,7 @@

     options =
       show: false
-      title: 'Atom'
+      title: 'Spark Dev'
       'web-preferences':
         'direct-write': true
         'subpixel-font-scaling': false

就是换应用名。。

接着就是正常atom editor插件的开发过程了。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签