看了spark(硬件, http://spark.io))对于atom编辑器的二次开发,要笑喷了。于是,我也按照spark的过程来了一遍,发现这似乎是一个不错的方法。
照例先上截图:
Review 二次开发
通常我们想的二次开发是这样的:
- Fork
- 在原来的codebase上改
- build
这样做有一个缺点是: 很难更上官方的更新
然而,spark基于atom上打patch,主要原因是需要用到旧版的atom shell,而不是electron来构建,electron似乎一点儿也不支持serialport。所以spark dev的开发流程是这样的:
- clone atom的repo
- 修改内容,commit, 生成patch文件
- 每次build的时候clone一下repo,再patch
缺点: 每次都要下一次atom, 这个应该是可以改进的~~。
Spark dev tasks
在gruntfile文件里,一共有这么几步。
- 'download-atom'。 即从github上下载atom-1.0.2,后来发现这一步可以在本地实现。
- 'patch-atom-version'。 替换版本
- 'inject-packages'。增减一些包
- "install-unpublished-packages', 安装一些spark的包
- 'bootstrap-atom' 执行``node script/bootstrap```
- 'copy-resources' 复制替换一些图片资源
- 'install-spark-dev' 安装spark dev的代码
- '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插件的开发过程了。
或许您还需要下面的文章: