Sublime Text 2 升级太快,以至于换图标都成了一个负担,每次都要“显示包内容”再复制粘贴太麻烦了,以至于为了换得容易,基于 aparajita 的一个 gist,我专门写了这个用来替换 Sublime Text 2 图标的 Alfred 插件:Replace Sublime Text 2 Icon。
更多 Sublime Text 2 替换图标
Sublime Text 2 最近火得不行,估计很多本来买了 TextMate 的人也都纷纷倒戈了吧。大多数视觉系在换到 Sublime Text 2 之后最不能忍受的就是默认的图标了,在《Sublime Text 2 入门及技巧》一文中,Lucifr 推荐了 Nate Beaty 的一个用于替换的图标,本文将收录更多质量不错的替换用图标以供选择。
Sonora:又一个轻量级 iTunes 替代品
Lucifr 之前曾介绍过一款不错的 iTunes 替代品 Enqueue,这次发现 Sonora 基本上也是秉承着同样的理念:去掉 iTunes 多余的功能,而更专注于纯粹的音乐播放。
同样是以引入 iTunes 库的方式来添加音乐,和 Enqueue 相比 Sonora 在视觉上更为华丽些(有点普通青年和文艺青年的意思),默认打开时大号的 Artwork 很带感,让人更有聆听音乐的欲望。播放队列放在了顶部,通过拖曳的方式可以轻松添加音乐到队列中。

Sonora 的一个特色是可以创建 Mix,相当于自定义的播放列表,不过可以生成很养眼的封面,像是自制的混音 CD 一样。

另外 Sonora 还有一个很顺手的搜索功能,在 Sonora 窗口处于活动时直接输入就可以对歌曲、专辑和艺术家进行实时搜索,也很文艺啊有木有。

与 Enqueue 一样,目前 Sonora 也处于测试版阶段,时不时可能会有崩溃,此外正式版之后估计会收费吧……
更新:0.80 版最新添加了均衡器功能。

Numi:免费文本型计算器
服务器端 Octopress 搭建及移动方案
玩了几天的 Octopress,又学到了不少 git 方面的知识,越发感叹 Octopress/Jekyll 和版本控制的各种美好。而看过了 @masukomi 的文章之后又学到了新东西,这里介绍一下。
不同于 Octopress 官方文档中的在本地生成静态网站再通过 rsync 同步到服务器,本文介绍的方法是在服务器上搭建环境,然后直接将 Octopress push 到自建的服务器端 Git 仓库,由服务器来生成静态页面。
这样搞的好处
除了多出一个服务器备份 repo 外,最重要的是让服务器本身具备了生成功能而不仅仅是储存页面,使整个系统得以脱离本地环境而实现功能,通过添加一些脚本(比如 JekyllMail),就让移动发布成为可能。
这样搞的问题
- 对服务器要求较高,要支持 ssh 登录,
有 root 权限,能搭建起 git 和 ruby 环境。 - 因为要让服务器来生成静态页面,而目前 Octopress 还不能仅针对更改部分进行生成,对于有些对 CPU 限制较多的服务器,同时文章很多,生成时间过长的话,就有可能超限而生成到一半就 kill 了。
- 需要熟悉 Linux 下的一些基础操作,当然还有 git(不过既然是玩 Octopress 的,折腾能力应该是有的哈)。
搭建步骤
注意提前备份,折腾坏了丢数据 Lucifr 一概不负责任!
Git,RVM,Ruby,Bundle
首先需要搭建起能够生成 Octopress 的环境,这需要你能够通过 SSH 登入 root 账户。
注意:Lucifr 所使用的是基于 Centos 5.5 的 LNMP 架构,如果使用的是不同版本 Linux,过程可能会不同。
添加 Webtatic 源并安装 Git:
rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm yum install --enablerepo=webtatic git建立 rvm 用户及组:
groupadd rvm useradd -g rvm rvm将 root 用户添加到 rvm 组:
usermod -a -G rvm root安装 RVM:
bash < <(curl -Lk https://github.com/wayneeseguin/rvm/raw/1.3.0/contrib/install-system-wide)将环境变量添加到 root 账户的 .bash_profile 文件:
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"' >> ~/.bash_profile source ~/.bash_profile这里需要先登出再重新登入一下。然后安装 zlib 包:
rvm pkg install zlib通过 RVM 安装 Ruby 1.9.2:
rvm install 1.9.2 --with-zlib-dir=/usr/local/rvm/usr/通过 RVM 设置默认 Ruby 版本为 1.9.2:
rvm --default use 1.9.2验证下 Ruby 1.9.2 是否配置成功:
ruby -v安装 Bundle:
gem install bundle
在服务器上建立 Octopress 环境
首先要先将公钥加入到服务器端,具体方法就不赘述了,网上很多。
SSH 登入主机后,建立一个空的 git 仓库:
mkdir octopress_blog.git && cd octopress_blog.git git init --bare然后我们需要改变远程仓库的工作目录到网站需要部署的位置:
git config core.bare false git config core.worktree /path/to/staging/directory # 上一行中你需要将 /path/to/staging/directory 换成网站的部署目录,比如:/home/wwwroot/blog git config receive.denycurrentbranch ignore用 vi 在远程仓库的 hooks 目录中创建一个
post-receive脚本:vi hooks/post-receive粘贴如下,同样别忘了更改
/path/to/staging/directory和上面一致,这个脚本会在 push 时自动 checkout 到部署目录中,并执行生成静态网站命令:#!/bin/sh GIT_WORK_TREE=/path/to/staging/directory git checkout -f输入
wq保存并退出 vi,改下权限使其可以被执行:chmod 755 hooks/post-receive现在回到本地终端下,添加这个远程仓库,这里默认你已经在本地架起了 Octopress:
cd my_octopress_blog # 将 my_octopress_blog 改成你的 octopress 所在目录 git remote add live me@example.com:/path/to/octopress_blog.git # 上一行中的 me 和 example.com 分别是服务器端的用户名和主机地址,/path/to/octopress_blog.git 是刚刚建立起的远程仓库的目录,如 /root/git/octopress_blog.gitPush 到远程仓库:
git push live master现在回到服务器端,cd 进 /path/to/staging/directory,看看是否工作目录是否正常的被 checkout 了,同时也确认下 rvm 的提示,你可以运行下
rake generate生成下静态,看看是否正常。如果一切正常,将以下两行添加到刚才的hooks/post-receive的最后,这样下次再 push 时就可以自动生成静态了:cd /path/to/staging/directory bundle exec rake generate最后,要将虚拟主机域名指向 /path/to/staging/directory 的子目录 public(当然也可以提前弄好)
如果和 Lucifr 一样是用 LNMP,可以运行 /root/vhost.sh 按照提示添加新的虚拟主机,绑定目录设置为 /path/to/staging/directory/public 即可。或是直接修改已有虚拟主机的 nginx 的 conf 文件(在 /usr/local/nginx/conf/vhost 中),将 server 中的 root 改到 /path/to/staging/directory/public 也可。
关于 public 目录
在服务器端,通过修改 _config.yml 可以将 public 目录放到任何目录中。
当然要注意这样一来本地的 _config.yml 就不要再 push 上去了。
全搞定了,然后呢?
在家时这么搞
和之前的 generate 再 deploy 不同,现在本地这两个命令都不用了,写了新文章或是做了其它修改之后直接:
git add .
git commit -m "site update"
git push live master
出门时这么搞
出门在外,用他人的电脑时,只要随身 U 盘里带个 SSH 的客户端,登录自己的主机,到 /path/to/staging/directory/ 中 rake new_post,把写好的文章贴进去,rake generate 即可,免去了搭建环境的麻烦,很云端的赶脚啊有木有!
回到家之后,先到 octopress_blog.git 中 commit 了,然后再在本地 merge 一下 live 就行了。
强烈推荐下 SourceTree,懒得敲命令者的福音。
另外,@masukomi 写的 JekyllMail) 可以实现通过邮件来发新文章,目前正在完善当中,看了看 README,未来的前景非常之美好,不过这个 Lucifr 还没太整明白怎么用 =_=|||。
参考
Caffeinated:又一个 Mac 平台 Google Reader 客户端
在 Mac 平台的 Google Reader 桌面客户端之中,Reeder for Mac 一直牢牢的占据着统治地位,和天朝的某些企业一样,缺乏竞争对手也使得这个软件更新变得很少,反馈不及时,对用户的要求不闻不问。
现在一个名为 Caffeinated 的 Google Reader 客户端进入了 beta 测试阶段,很有可能成为 Reeder 的有力竞争者。
第一印象,Reeder 克隆?
打开 Caffeinated,第一感觉就是和 Reeder 很像,一样的三栏结构,很多风格都和 Reeder 如出一辙,不同的是采用了 Mac 风格的界面。

设计细节
仔细观察,会发现作者在一些小细节上下了些功夫,比如:
中间栏的突出设计:在选中某个单个条目之后,在突出显示的同时,是浮在其它条目之上的,未被选中的条目可以进行滚动,而被选中的条目则悬浮不动。

在没有选择任何订阅的时候,会在右栏中很壮观的显示出未读数(订阅党表示压力山大啊)。

在最为主要右栏,Caffeinated 下了很大的功夫,风格和材质上都很接近 Lion 风格的设计,阅读体验很不错。

新添功能
完全照搬 Reeder 的功能显然是不行的,看得出 Caffeinated 的作者在功能方面也加入了一些新意,比如:
自定义字体和格式

在右栏中点击右键,选择 “Fonts & Formatting”就可以更改预览窗口中的字型、字号、平滑程度、行高、字间距等等,可以根据自己的喜好来选了。
链接悬停菜单

在链接上悬停鼠标,会出现一个 iOS 风格的菜单,针对链接的一些操作可以在这里完成,估计会在之后的版本中添加更多的操作选项。
点击才载入 flash

选项中可以设置“Enable click for flash”,真的很贴心,要知道 flash 可是 Mac 系统中的 CPU 杀手啊。
主题和插件?

从 Caffeinated 的设置页面中来看,未来版本中会加入主题和插件的功能,这样一来会使其在扩展性和可订置性方面超越 Reeder。
测试版,这是测试版!
目前 Caffeinated 还处于测试阶段,很多的功能还不完善,尤其是在快捷键方面还远不如 Reeder;此外同步订阅非常慢,有时甚至刷不出订阅,同步时很耗 CPU,稳定性较差,会不时崩溃。
但这还只是测试版,Reeder 在测试版阶段也是不尽如人意的,鉴于测试版中的诸多亮点,Lucifr 很看好 Caffeinated 的前景的(至少可以给 Reeder 作者一些压力吧,哈哈)。
想尝鲜?
如果和 Lucifr 一样喜欢尝鲜,可以点击这里(Dropbox 备份)下载目前的最新版(0.955)。
关注 Caffeinated 的最新动态:
- 官方 Twitter 账户:@Caffeinatedapp
- 软件作者 Curtis Hard 的 Twitter 账户:@curthard89 及博客:GeekyGoodness
- Caffeinated 的更新记录
为 Octopress 添加 Flickr 边栏插件
给Octopress 的边栏上加了个 Flickr badge,发现做个边栏插件还是很容易的。效果如图:

具体步骤如下:
在
/source/_includes/custom/asides/新建flickr.html,粘贴如下代码:在
_config.yml中添加:把 flickr_user 换成你自己的 id。
最后不要忘记在
_config.yml的default_asides中添加custom/asides/flickr.html。Enjoy~
P.S. Octopress 中插入 Gist 实在太方便啦~
Alfred 及插件推荐

Alfred 终于升级到 1.0 正式版了,Alfred 为 Lucifr 这个重度使用者节省下了大量的时间,因此 Lucifr 觉得有责任在博客中介绍并推荐一下这款软件,以便大家都能认识到它的强大之处。
Alfred 是什么?
在 Alfred 支持插件之前,我一直把它当作一个快速程序启动工具来使用,但事实上它可以做到的不止是这些,以至于要准确的给这个软件下个定义还真是很困难,官网上这么说的:
Alfred is a productivity application for Mac OS X, which aims to save you time in searching your local computer and the web.
但这样的一个定义显然过于苍白了,因为它的功能太富于扩展性(当然是购买了 Powerpack 之后),1.0 版本更加大幅强化了全局快捷键功能,使得 Alfred 变成了一个集搜索、查询、程序及脚本的快速启动、快捷键管理等多种功能为一身的强大工具。
Alfred 比 QuickSilver 好在哪里?
提到 Alfred,有些人会说:“没看出这个软件比 QuickSilver 好在哪里,这个竟然还要收费!”
我也觉得 QuickSilver 很不错,但以下几条优势让我坚定地选择付费的 Alfred 而不是免费的 QuickSilver:
对中文的支持:QuickSilver 到现在还是没能很好的支持中文输入,相信除非有彻底的改写,QS 是不会支持中文的了;而 Alfred 对中文的支持非常好,在搜索中文名文件时毫无问题。

插件:Alfred 最吸引我的地方就在于它的插件功能,不同于 QuickSilver 的“用别人写好的插件”,Alfred 的插件界面让“书写适合自己的插件”变得更为容易,对别人的插件不满意也可以轻松修改。之前用惯的一些 AppleScript 脚本、Workflow 也都可以轻松转变为插件的形式。
售后支持与更新:因为是收费软件,Alfred 的支持相对 QS 的社区式支持更加及时可靠,Alfred 的开发者很有热情,对各种问题和要求反应迅速。
Lucifr 常用的一些插件
-
之前 Lucifr 曾介绍过一个通过 Alfred 发推的方法,现在有了这个插件原来的方法就用不着了。这个插件不用借用其它软件,而且是通过 Oauth 认证的(当然翻墙是必须的)。
使用:安装后先执行
tw setup进行设置,得到 pin 码之后用tw pin <pin 码>完成 Oauth 认证,然后就可以通过如下命令完成相应任务:tw <tweet>- 发送新推tw tweets- 显示 Timeline 中最近的5条推tw mentions- 显示最新的5条 mentiontw dm <user> <text>- 给指定用户发送私信tw info <user>- 查看指定用户的信息tw follow <user>- 关注指定用户tw unfollow <user>- 取消关注指定用户tw block <user>- 屏蔽指定用户tw unblock <user>- 取消屏蔽指定用户tw search <term>- 搜索指定关键词tw help- 显示帮助
结果都会以 Growl 的形式输出。

下载 AlfredTweet
Weather by @jdfwarrior
很方便的一个天气插件,Growl 输出很漂亮。

使用:先用
weather search(如weather search beijing)搜索出对应的 id,然后用weather location <id>设置默认位置,weather unit <单位>设置温度单位,之后只要输入weather就可以显示天气情况了。weather <位置 id>- 显示指定位置的天气情况weather search <位置>- 搜索所指定位置所对应的 idweather location <位置 id>- 设置默认位置weather unit <单位>- 设置温度单位 (f 或 c)weather- (需要 Alfred 1.0 及以上版本),显示默认位置的天气情况weather about- 显示此插件的相关信息weather help- 显示此插件的帮助信息weather version- 显示当前插件版本weather changelog- 显示更新记录
下载 Weather
Down for Everyone(or Just Me?) by @jdfwarrior
用来检查某网站是真的宕机还是本机无法访问。

使用:
down <url 或 host>Flush DNS by @jdfwarrior
很简单的一个清空 DNS 缓存的命令。
使用:
flush下载 Flush DNS
Change network location by @jamesoff
改变网络位置的插件,Lucifr 一直用 Mac OS X 的位置功能来管理 .pac,经常要切换网络位置,用这个插件就太方便了。

使用:
location <位置名称>举例:Lucifr 主要在用两个位置,一个对应家中的 “home”,另一个是对应学校的 “ipv6”,切换时只要在 Alfred 中输入
lo h或lo i就可以了。Toggle Airport by @jamesoff
开关无线网卡的插件。
使用:
airportControl the Shimo VPN client by @jamesoff
控制 Shimo。
使用:
vpn <Profile 名称>- 切换到相应的 profilevpn off- 断开连接
Show/Hide Desktop Icons by @jdfwarrior
显示/隐藏桌面图标,截屏时会用到。
使用:
desktopToggle System Files by Dirt Don
显示/隐藏系统(隐藏)文件。
使用:
toggleConvert Image Formats by Dirt Don
png/jpeg 格式互转。
使用:选中要转换的图片,快捷键呼出 action 菜单(在 Alfred 的 Preferences -> Features -> File navigation -> Finder selection 中设置),
convertTouch by John Franey
在当前(活动的 Finder 窗口)目录中建立空白新文件。
使用:
touch <文件名>举例:touch New File.txt
下载 Touch
TerminalHere by John Franey
以最前端的 Finder 窗口目录打开终端。Alfred 默认的 action 中也有 “Open Terminal Here”,但那样步骤要多一些,用此插件更简单。
使用:
.(半角句号)下载 TerminalHere
FileRenamer by John Franey
(批量)重命名文件,支持正则式。

使用:在 Finder 中选中(多个)文件,
rename <正则表达式>举例:如文件 “this is a test.txt”,经过
rename / /_/,变为 “this_is_a_test.txt”。下载 FileRenamer
Subtitle by Lucifr
为视频文件下载字幕的插件。
More to come, maybe…
更多资源
- 以上多数插件都来自于 @jdfwarrior(github)、@jamesoff、Dirt Don 和 John Franey 的博客。他们所写的插件给了 Lucifr 很多启发。
- Alfred 的官方插件页面弄得挺低调,但目前也收集了一些插件。
- 官方/半官方性质的博客:Alfred 官方博客、Andrew’s Hot Chocolate、Anna’s Alfred Hat Tips不定期会分享一些插件。
- 当然,Lucifr 之后也会继续关注并分享 Alfred 的相关信息和使用技巧,欢迎关注:RSS/Twitter
注:以上的网址中很多可能撞墙,请自备梯子。
Google Chat 中的隐藏表情
原来 Google Chat 里藏着这么多有趣的表情,而且还是动态的。试试在 Gmail/Google+/iGoogle/Orkut 的 Chat 里输入下面的代码吧:
~=[,,_,,]:3 |
彩虹猫 |
:3 |
猫 |
:(:) |
猪 |
:(|) |
猴 |
V.v.V |
蟹 |
-<@% |
蜂 |
+/'\ |
钟 |
[:|] |
机器人 |
}:-) |
魔鬼 |
\m/ |
摇滚 |
<3 |
心 |
</3 |
心碎 |
>.< |
苦逼 |
:-x |
亲亲 |
:* |
又亲亲 |
效果如图:

注意个别表情只能在 Google+/iGoogle/Orkut 中显示,个别只能在 Gmail 中显示,且效果有差异。
via @Gmail - Google+
Bye-bye Wordpress. Hello Octopress!

自从成为独立博客开始,Lucifr 就是 Wordpress 的坚定支持者和使用者,但是本着生命在于折腾的宗旨,顺应自己骨子里的小众本质,Lucifr 还是毅然决定抛弃 Wordpress,而新宠就是 Octopress。
什么是 Octopress
简单来说 Octopress 是一个基于 Jekyll 的静态博客站点生成系统,它很大程度上简化了用 Jekyll 搭建博客的过程。不同于 Wordpress 这样的动态博客,它可以将一个模板目录(原始状态的网站)经过 Markdown 和 Liquid 转换,在本地生成一个完整的静态网站,再通过 git 或是 rsync 很方便的部署到 Github、Heroku 或是自建的服务器上。
Octopress 的优势
对于 Lucifr 来说,Octopress 之所以诱人,主要是因为以下几个方面:
网站搭建很方便
这个方便当然是相对的,如果对 Git 和 Ruby 很熟悉的话会发现建个 Octopress 太容易了,几行命令就搞定了。没有自己的主机也没关系,部署到 Github 和 Heroku 都是不错的选择。
写文章很方便:原生支持 Markdown 语法和各种嵌入插件
发文章很方便:书写 -> 自动生成 -> 部署
不同于 Wordpress 的文章发布方式,因为 Octopress 是在本地静态化后再通过 Git 或 rsync 部署,因此在 Octopress 中发文章只要终端中运行
rake watch,挑选自己惯用的文本文本编辑器以纯文本的形式(Markdown)写好文章,再rake deploy就轻松部署到服务器上。配合 POW 可以很方便的在本地进行预览。改主题很方便:Compass 和 Sass
不必再一行行的改 CSS 了,用 Sass 可以很语义化的书写样式,而 Compass 会监视 Sass 的变化并生成相应的 CSS 文件,同样的配合
rake watch和 POW 就可以在本地预览主题的变化。值得一提的是 Octopress 默认的主题本身就质量很高,尤其是可随分辨率自适应的 Responsive 布局,很对 Lucifr 的胃口。
不用折腾很方便:内建多个第三方服务
Octopress 已经内置了 Twitter、Pinboard 书签、Disqus 留言系统、Google Analytics 统计等多个模块,只需要到
_config.yml中填入相应的信息就可以轻松配置,免去很多麻烦。
Octopress 适合哪些人
经过上面的介绍,不难发现 Octopress 是个很适合开发者使用的博客系统,如果你之前就一直在使用 git,对 ruby 很熟悉,那么会发现上手很快;抑或像 Lucifr 这样什么都不懂但有受虐的决心,读英文文档没什么问题,那么也是可以折腾的,否则还是踏实的用 Wordpress 吧。
很感兴趣?
从这里开始你的 Octopress 旅程吧。
P.S. Lucifr 可能会在之后的文章中写写从 Wordpress 搬到 Octopress 的一些心得,欢迎继续关注~
