sublime利用ClosureCompiler和YUICompressor本地压缩

sublime利用ClosureCompiler和YUICompressor本地压缩
发布时间: 2013-06-07 / 分类: 工具,实践 / 1 Comment


server端基本靠nodejs来压缩了, 本地也可能因为特殊需求而需要直接压缩js/css, 不同的系统node的兼容不算好, 不好配置统一的环境, 而且有些人也用不到到node. 所以想到了利用基于java的ClosureCompiler和YUICompressor(下面简称CC和YUI).


写了2个ST的build tool, 源码:
https://github.com/kairyou/sublimeGoogleClosureCompiler
https://github.com/kairyou/SublimeYUICompressor
在ST2/ST3(Windows/Mac)下面测试通过, Linux应该也能跑.
如果有语法错误可以直接双击console面板的错误行, 就会跳到源文件的对应行.
直接git clone或下载到ST插件目录就可以了.
使用时在ST的tool-build system选择CC或YUI后, ctrl+b直接压缩(推荐js使用CC压缩, css使用YUI压缩).


因为之前用editplus和vim时, 用到了淘宝压缩的cmd, 所以写cmd时copy了大部分代码, 节约了很多时间, 感谢.
开发中也遇到几个蛋疼的问题, 花了不少功夫才解决了这些问题:
sublime的build system设计的不够好, 如果console面板错误行没输出文件的绝对路径, 双击错误行不会跳转.
YUI的输出错误不带路径, 所以需要自己再包一层cmd/bash脚本, 捕获输出并加上文件路径再返回给ST.
而且YUI返回错误时还附带了一堆java信息, 需要过滤掉.
另外, Windows下面cmd捕获/修改输出太弱了, 不得不写个hack来存放输出再读取再修改. 有兴趣的可以对比下SublimeYUICompressor/bin下面的cmd和sh文件就明白了.
另外Windows下面要有%JAVA_HOME%的环境变量, 如果没有需要装JDK, 请查看https://github.com/kairyou/JDK, 里面有快速搭建说明.


sublime text 项目同步插件(scp)
发布时间: 2012-12-18 / 分类: 工具,实践 / 4 Comments


基于sublime的SimpleSync插件修改, 完善了原插件的一些缺陷, 比如: 不支持windows系统, 保存时会强制同步, 不支持快捷键调用, 修改配置需要重启sublime. 
所以把源码大部分都修改了. 原版优秀的地方也都已保留, 比如: 执行同步时使用多线程来避免UI阻塞, 同时支持本地同步和同步到server.
已增加对ST3的支持.


下面把功能列一下:
1. 把本地项目的文件同步到本地或server (比如可以用来: 同步到server端预览, 减少不停地commit-push-pull; 或本地编辑时备份到其他文件夹等)
注: 同步本地用cp命令, 同步server用scp命令
2. 支持多文件夹, 可以把所有项目的规则写到一起, 针对不同的文件夹执行不同的命令.
3. 支持多规则, 可以把当前编辑的文件同时推到N个server或本地文件夹.
4. 同步时的命令利用threading多线程执行, UI不会阻塞, 可以继续操作编辑器(否则sublime执行CMD等命令会卡住, 等命令结束才会响应)
5. + 支持windows系统 (原版只支持MacOS and Linux)
6. + 保存文件时是否自动同步, 可在配置里设置 ("autoSync": false)
7. + 支持快捷键调用同步 (会自动保存当前文件, 再同步)
8. + 同步前读取配置, 修改配置不需要重启sublime.
简单配置:
修改配置: Preferences > Package Settings > sublimeSimpleSync
增加快捷键: Preferences > Key Buildings - User, 添加一行, 比如:
{ "keys": ["alt+s"], "command": "sublime_simple_sync"},


项目地址: https://github.com/kairyou/SublimeSimpleSync


Sublime Text 新建文件的模版插件: SublimeTmpl
发布时间: 2012-07-22 / 分类: 工具,实践 / 22 Comments


写了个sublime的模版插件, 项目主页: https://github.com/kairyou/sublimeTmpl
这样就可以新建文件时使用模版的内容了, 目前添加了html/js/css/php/python/ruby的模版. 不需新建空白文件, 再从其他文件复制内容过来了.
已增加对Sublime Text3的支持.


使用:
1. ST菜单, File-New File (SublimeTmpl), 选择列表里的相应菜单, 可直接使用模版新建文件.
2. 命令, cmd+shift+p, 输入: "tmpl:", 可以找到创建文件的菜单列表.
3.快捷键, 默认快捷键见下面. 可以自己修改, 方法见"设置"部分.


默认快捷键:
ctrl+alt+h html
ctrl+alt+j javascript
ctrl+alt+c css
ctrl+alt+p php
ctrl+alt+r ruby
ctrl+alt++shift+p python
安装:
方法1. 通过 Package Control
Package Control / Install Package, 搜索"SublimeTmpl" 或 "tmpl", 安装.
* [2012/08/01]已经通过Package Control审核


方法2. Github
打开项目主页, git clone到ST的Packages文件夹(\Data\Packages), 或直接把ZIP格式的下载下来解压到Packages文件夹(文件夹名称必须为:SublimeTmpl).


设置:
菜单: Preferences / Packages Settings / SublimeTmpl, 可以编辑菜单/快捷键/新语法等等.
如果想编辑默认模版, 请到"Data\Packages\SublimeTmpl\templates"文件夹修改.


如果你想贡献自己的package, 可以参考我这篇文章的介绍:
http://www.fantxi.com/blog/archives/how-to-submit-a-sublime-package/


新增特性:
1. 用户自定义模板
用户自定义的模板统一到: Packages/User/SublimeTmpl/templates, 会优先使用.
Thanks @Xu Cheng Github


2. 模板支持 ${date} 变量
settings - user里面可以修改${date}默认的输出格式("%Y-%m-%d %H:%M:%S"), 比如改成: "date_format" : "%Y-%m-%d"


3. 模板支持自定义 attr
settings - user里添加:


"attr": {
    "author": "your name" ,
    "email": "mail@yours.com",
    "link": "http://yours.com",
    "hello": "word"
}
就能在模板中使用 ${author} ${email} ${link} ${hello} 变量
Thanks @vfasky (Blog)
4. 自定义模板路径(读取自定义路径的模版文件), 比如:
"custom_path": "/Users/yourName/templates",


另外, 关于新增语言的附加说明
1. 新增SublimeTmpl里面没有的语言


首先请看: Packages Settings / SublimeTmpl / Settings - Default 的默认语法设置.
如果要新增语法, 请选择: SublimeTmpl / Settings - User, 内容格式参考Settings - Default的内容, 比如新增两个语言test和yours:


{
       "test": {"syntax": "Packages/test/test.tmLanguage"},
       "yours": {"syntax": "Packages/Yours/Yours.tmLanguage"}
}
上面的"Packages/test/test.tmLanguage"是Packages目录内的syntax路径, 文件必须存在才会有效.


新增开始菜单: 可以在SublimeTmpl / Settings - Menu里, 参照其他语法增加test和yours.
新增快捷键: 可以编辑:SublimeTmpl / Key Bindings User( 格式参考: SublimeTmpl / Key Bindings Default)


2. 新增Sublime的语言


这个我也没新建过, 可以去Package Control或者github上面找个其他人添加的新语言, 参考参考.
如果没找到别人写好的, 可以参考如下网址, 自己做:
http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html (官方文档, 利用AAAPackageDev这个插件制作)
http://manual.macromates.com/en/language_grammars (textmate的doc, 和sublime大部分是相同的)
https://github.com/LearnBoost/stylus/blob/master/editors/Stylus.tmbundle/Syntaxes/Stylus.tmLanguage (别人写好的语法, 可以和自己新建的对比)


提交插件到 sublime text packages control
发布时间: 2012-07-22 / 分类: 工具 / No Comments


介绍下简单的提交sublime插件到packages control的步骤:


针对新版的packages control
提交单个插件: 添加自己的插件信息到repository/文件夹里面对应字母的文件.


更多信息参考:https://sublime.wbond.net/docs/developers
example-repository.json 是插件的例子, 里面有一些注释的说明, 可以针对不同的ST版本/不同的系统设置插件源.


如果自己有多个插件: 可以创建个单独的项目, 创建个packages.json, 里面包含多个插件的信息, 格式可以参考example-repository.json.
在channel.json加上这个packages.json的url.
可以参考下我创建的:https://raw.github.com/kairyou/sublime_packages/master/packages.json


如果json内容的releases-details使用tag来自动更新版本, 那么push到github时需要加上tag来更新版本号.
git tag -a 1.0.1 -m 'init' #创建
git tag #查看
git push origin 1.0.1 #push tag
删除旧的名称为1.0.0的tag (可选):
git push origin :refs/tags/1.0.0 # 删除远端
git tag -d 1.0.0 # 删除本地


Send a pull request
修改好后, push到自己fork的分支. 接下来把自己的修改提交给packages control:
打开github上自己fork的主页, 进入"Pull Request"(右上方有个按钮).
github新版界面有个"Click to create a pull request for this comparison", 要点击输入标题和内容. 如果你做了修改, 可以看到一个表单, 输入Pull Request的标题和内容, 然后Pull Request.
之后就等作者merge了.


如果packages control作者接受了,你的修改就可以合并到主版本里了, 然后就可以在packages control官方找列表看到你的package了.
PS: 如果此时担心主版本修改, 要获取最新的文件, 可以用 git pull packages_control 将主版本的修改拉到本地.


如何更新自己Fork的packages_control代码
clone自己的fork的分支下來:
git clone git@github.com:yourName/package_control_channel.git


remote添加一个(名为upstream)的远程仓库, URL使用对方的地址:
git remote add upstream git@github.com:wbond/package_control_channel.git
git remote -v # 可查看当前的远程仓库列表


把对方的代码拉到本地: git fetch upstream
合并对方的代码: git merge upstream/master
推到自己的仓库: git push origin master
Ps: 如果放弃自己的分支(直接使用对方最新的), 也可以在自己的仓库主页点"Settings", 在选"Delete this repository". 然后去对方仓库重新点fork.


旧版本的package_control添加的方法, 可以忽略下面的内容
1. 在自己创建的package文件夹内创建: packages.json, 格式参见:
http://wbond.net/sublime_packages/package_control/package_developers#Custom_packages_json_on_GitHub
或: https://raw.github.com/kairyou/SublimeTmpl/master/packages.json


2. Fork the Package Control Channel: https://github.com/wbond/package_control_channel
在GitHub上Fork这项目, 把你fork后的分支 git clone 到本地, 编辑repositories.json, 找到里面的"repositories"(可以看到里面已经有很多package了).
加上自己的packages.json的URL(类似上面我创建的packages.json地址). 注意, 添加时, 请按URL的字母顺序排列, 不需要加URL列表的最后面.


Sublime Text 2 高亮 ru文件
发布时间: 2012-05-24 / 分类: 工具 / No Comments


sublime 写ruby时发现, .ru没有高亮(.rb正常). 摸索了下, 解决了:


编辑 \Data\Packages\Ruby\Ruby.sublime-build, 搜索: fileTypes


<string>rb</string> 下面加上:
<string>ru</string>


如果已经打开了 ru 文件, 即使重启Sublime可能也无效. 只要把当前文件另存-替换自己就OK了.


之前在这里已经推荐过sublime text了,整体还是不错的,但自带的menu没有直接插入日期时间的。插入日期时间是比较常用的功能,所以就自己写了个插件。会python的话应该很容易了,之前也没系统学过,所以看看sublime官方论坛,再查查python的资料,一个插件就完成了。
修改了下源码, 现在也支持ST3了.


源码我放在github了(地址),可以下载zip来安装插件。如果想用git,也可以看看我前面写的GTI的安装和使用。


安装和使用,源码的readme里面都说了,快捷键:
F5 : yyyy-MM-dd
alt+F5 : yyyy-MM-dd hh:mm:ss
ctrl+F5 : 星期E
之前考虑用F4的,但貌似被sublime占用了,所以用的F5。


另外推荐安装"Package Control",很多插件就可以在线安装了,蛮方便的,不另外开篇,直接写在这里好了。


Sublime Package Control 安装参见:http://wbond.net/sublime_packages/package_control/installation
一步一步照着来就OK了。


Package Control 配置:
因为在线安装,需要设置GIT/HG root, Preferences- Package settings - Control - Settings User,加上git/hg路径,比如:
"git_binary": "D:/Git/PortableGit/bin", "hg_binary": "D:/TortoiseHg/"


然后就可以在Preferences- Package Control - install package 里面安装需要的插件了~ 另外推荐个package:Prefixr(css3兼容代码补全)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值