Lucifr

分享网络、博客、软件及其它趣事

更多 Sublime Text 2 替换图标

| Comments

Sublime Text 2 最近火得不行,估计很多本来买了 TextMate 的人也都纷纷倒戈了吧。大多数视觉系在换到 Sublime Text 2 之后最不能忍受的就是默认的图标了,在《Sublime Text 2 入门及技巧》一文中,Lucifr 推荐了 Nate Beaty 的一个用于替换的图标,本文将收录更多质量不错的替换用图标以供选择。

Sonora:又一个轻量级 iTunes 替代品

| Comments

Lucifr 之前曾介绍过一款不错的 iTunes 替代品 Enqueue,这次发现 Sonora 基本上也是秉承着同样的理念:去掉 iTunes 多余的功能,而更专注于纯粹的音乐播放。

同样是以引入 iTunes 库的方式来添加音乐,和 Enqueue 相比 Sonora 在视觉上更为华丽些(有点普通青年和文艺青年的意思),默认打开时大号的 Artwork 很带感,让人更有聆听音乐的欲望。播放队列放在了顶部,通过拖曳的方式可以轻松添加音乐到队列中。

Sonora_01.png

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

Sonora_03.png

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

Sonora_02.png

与 Enqueue 一样,目前 Sonora 也处于测试版阶段,时不时可能会有崩溃,此外正式版之后估计会收费吧……

更新:0.80 版最新添加了均衡器功能。

Sonora_04.png

下载 Sonora

Numi:免费文本型计算器

| Comments

Numi 感觉像是精减版的 Soulver,虽然功能上要缩水很多,但和 Soulver ¥163 的价格比起来就划算太多了,因为 Numi 是完全免费的。

如图所示,只需像在纸上记账一样写下物品及价格,右方就会自动列出文字中出现的数字,最后按下 Ctrl+= 就可以求和了,算个折扣什么的也是很方便。

numi

试用了一下,对中文的支持并不完美,但完全可以用,列个购物单什么的完全没问题。

下载 Numi

服务器端 Octopress 搭建及移动方案

| Comments

玩了几天的 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,过程可能会不同。

  1. 添加 Webtatic 源并安装 Git:

    rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
    yum install --enablerepo=webtatic git
    
  2. 建立 rvm 用户及组:

    groupadd rvm
    useradd -g rvm rvm
    
  3. 将 root 用户添加到 rvm 组:

    usermod -a -G rvm root
    
  4. 安装 RVM:

    bash < <(curl -Lk https://github.com/wayneeseguin/rvm/raw/1.3.0/contrib/install-system-wide)
    
  5. 将环境变量添加到 root 账户的 .bash_profile 文件:

    echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"' >> ~/.bash_profile
    source ~/.bash_profile
    
  6. 这里需要先登出再重新登入一下。然后安装 zlib 包:

    rvm pkg install zlib
    
  7. 通过 RVM 安装 Ruby 1.9.2:

    rvm install 1.9.2 --with-zlib-dir=/usr/local/rvm/usr/
    
  8. 通过 RVM 设置默认 Ruby 版本为 1.9.2:

    rvm --default use 1.9.2
    
  9. 验证下 Ruby 1.9.2 是否配置成功:

    ruby -v
    
  10. 安装 Bundle:

    gem install bundle
    

在服务器上建立 Octopress 环境

  1. 首先要先将公钥加入到服务器端,具体方法就不赘述了,网上很多。

  2. SSH 登入主机后,建立一个空的 git 仓库:

    mkdir octopress_blog.git && cd octopress_blog.git
    git init --bare
    
  3. 然后我们需要改变远程仓库的工作目录到网站需要部署的位置:

    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
    
  4. 用 vi 在远程仓库的 hooks 目录中创建一个 post-receive 脚本:

    vi hooks/post-receive
    
  5. 粘贴如下,同样别忘了更改 /path/to/staging/directory 和上面一致,这个脚本会在 push 时自动 checkout 到部署目录中,并执行生成静态网站命令:

    #!/bin/sh
    GIT_WORK_TREE=/path/to/staging/directory git checkout -f
    
  6. 输入 wq 保存并退出 vi,改下权限使其可以被执行:

    chmod 755 hooks/post-receive
    
  7. 现在回到本地终端下,添加这个远程仓库,这里默认你已经在本地架起了 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.git
    
  8. Push 到远程仓库:

    git push live master
    
  9. 现在回到服务器端,cd 进 /path/to/staging/directory,看看是否工作目录是否正常的被 checkout 了,同时也确认下 rvm 的提示,你可以运行下 rake generate 生成下静态,看看是否正常。如果一切正常,将以下两行添加到刚才的 hooks/post-receive 的最后,这样下次再 push 时就可以自动生成静态了:

    cd /path/to/staging/directory
    bundle exec rake generate
    
  10. 最后,要将虚拟主机域名指向 /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 客户端

| Comments

在 Mac 平台的 Google Reader 桌面客户端之中,Reeder for Mac 一直牢牢的占据着统治地位,和天朝的某些企业一样,缺乏竞争对手也使得这个软件更新变得很少,反馈不及时,对用户的要求不闻不问。

现在一个名为 Caffeinated 的 Google Reader 客户端进入了 beta 测试阶段,很有可能成为 Reeder 的有力竞争者。

第一印象,Reeder 克隆?

打开 Caffeinated,第一感觉就是和 Reeder 很像,一样的三栏结构,很多风格都和 Reeder 如出一辙,不同的是采用了 Mac 风格的界面。

Caffeinated

设计细节

仔细观察,会发现作者在一些小细节上下了些功夫,比如:

中间栏的突出设计:在选中某个单个条目之后,在突出显示的同时,是浮在其它条目之上的,未被选中的条目可以进行滚动,而被选中的条目则悬浮不动。

Floating

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

Unread

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

preview

新添功能

完全照搬 Reeder 的功能显然是不行的,看得出 Caffeinated 的作者在功能方面也加入了一些新意,比如:

  • 自定义字体和格式

    font&formatting

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

  • 链接悬停菜单

    iOS hover

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

  • 点击才载入 flash

    Click to flash

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

  • 主题和插件?

    Plugins&Theme

    从 Caffeinated 的设置页面中来看,未来版本中会加入主题和插件的功能,这样一来会使其在扩展性和可订置性方面超越 Reeder。

测试版,这是测试版!

目前 Caffeinated 还处于测试阶段,很多的功能还不完善,尤其是在快捷键方面还远不如 Reeder;此外同步订阅非常慢,有时甚至刷不出订阅,同步时很耗 CPU,稳定性较差,会不时崩溃。

但这还只是测试版,Reeder 在测试版阶段也是不尽如人意的,鉴于测试版中的诸多亮点,Lucifr 很看好 Caffeinated 的前景的(至少可以给 Reeder 作者一些压力吧,哈哈)。

想尝鲜?

如果和 Lucifr 一样喜欢尝鲜,可以点击这里(Dropbox 备份)下载目前的最新版(0.955)。

关注 Caffeinated 的最新动态:

为 Octopress 添加 Flickr 边栏插件

| Comments

给Octopress 的边栏上加了个 Flickr badge,发现做个边栏插件还是很容易的。效果如图:

Flickr for octopress

具体步骤如下:

  1. /source/_includes/custom/asides/ 新建 flickr.html,粘贴如下代码:

  2. _config.yml 中添加:

    把 flickr_user 换成你自己的 id。

  3. 最后不要忘记在 _config.ymldefault_asides 中添加 custom/asides/flickr.html

  4. Enjoy~

P.S. Octopress 中插入 Gist 实在太方便啦~

Alfred 及插件推荐

| Comments

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_Chinese

  • 插件:Alfred 最吸引我的地方就在于它的插件功能,不同于 QuickSilver 的“用别人写好的插件”,Alfred 的插件界面让“书写适合自己的插件”变得更为容易,对别人的插件不满意也可以轻松修改。之前用惯的一些 AppleScript 脚本、Workflow 也都可以轻松转变为插件的形式。

  • 售后支持与更新:因为是收费软件,Alfred 的支持相对 QS 的社区式支持更加及时可靠,Alfred 的开发者很有热情,对各种问题和要求反应迅速。

Lucifr 常用的一些插件

  1. AlfredTweet by @jdfwarrior

    之前 Lucifr 曾介绍过一个通过 Alfred 发推的方法,现在有了这个插件原来的方法就用不着了。这个插件不用借用其它软件,而且是通过 Oauth 认证的(当然翻墙是必须的)。

    使用:安装后先执行 tw setup 进行设置,得到 pin 码之后用 tw pin <pin 码> 完成 Oauth 认证,然后就可以通过如下命令完成相应任务:

    • tw <tweet> - 发送新推
    • tw tweets - 显示 Timeline 中最近的5条推
    • tw mentions - 显示最新的5条 mention
    • tw 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

    下载 AlfredTweet

  2. Weather by @jdfwarrior

    很方便的一个天气插件,Growl 输出很漂亮。

    Alfred_Weather

    使用:先用 weather search (如 weather search beijing)搜索出对应的 id,然后用 weather location <id> 设置默认位置,weather unit <单位> 设置温度单位,之后只要输入 weather 就可以显示天气情况了。

    • weather <位置 id> - 显示指定位置的天气情况
    • weather search <位置> - 搜索所指定位置所对应的 id
    • weather location <位置 id> - 设置默认位置
    • weather unit <单位> - 设置温度单位 (f 或 c)
    • weather - (需要 Alfred 1.0 及以上版本),显示默认位置的天气情况
    • weather about - 显示此插件的相关信息
    • weather help - 显示此插件的帮助信息
    • weather version - 显示当前插件版本
    • weather changelog - 显示更新记录

    下载 Weather

  3. Down for Everyone(or Just Me?) by @jdfwarrior

    用来检查某网站是真的宕机还是本机无法访问。

    Alfred_Down

    使用:down <url 或 host>

    下载 Down for Everyone

  4. Flush DNS by @jdfwarrior

    很简单的一个清空 DNS 缓存的命令。

    使用: flush

    下载 Flush DNS

  5. Change network location by @jamesoff

    改变网络位置的插件,Lucifr 一直用 Mac OS X 的位置功能来管理 .pac,经常要切换网络位置,用这个插件就太方便了。

    Alfred_Change_network_location

    使用:location <位置名称>

    举例:Lucifr 主要在用两个位置,一个对应家中的 “home”,另一个是对应学校的 “ipv6”,切换时只要在 Alfred 中输入 lo hlo i 就可以了。

    下载 Change network location

  6. Toggle Airport by @jamesoff

    开关无线网卡的插件。

    使用:airport

    下载 Toggle Airport

  7. Control the Shimo VPN client by @jamesoff

    控制 Shimo

    使用:

    • vpn <Profile 名称> - 切换到相应的 profile
    • vpn off - 断开连接

    下载 Control the Shimo VPN client

  8. Show/Hide Desktop Icons by @jdfwarrior

    显示/隐藏桌面图标,截屏时会用到。

    使用: desktop

    下载 Show/Hide Desktop Icons

  9. Toggle System Files by Dirt Don

    显示/隐藏系统(隐藏)文件。

    使用:toggle

    下载 Toggle System Files

  10. Convert Image Formats by Dirt Don

    png/jpeg 格式互转。

    使用:选中要转换的图片,快捷键呼出 action 菜单(在 Alfred 的 Preferences -> Features -> File navigation -> Finder selection 中设置),convert

  11. Touch by John Franey

    在当前(活动的 Finder 窗口)目录中建立空白新文件。

    使用:touch <文件名>

    举例:touch New File.txt

    下载 Touch

  12. TerminalHere by John Franey

    以最前端的 Finder 窗口目录打开终端。Alfred 默认的 action 中也有 “Open Terminal Here”,但那样步骤要多一些,用此插件更简单。

    使用:. (半角句号)

    下载 TerminalHere

  13. FileRenamer by John Franey

    (批量)重命名文件,支持正则式。

    Alfred_FileRenamer

    使用:在 Finder 中选中(多个)文件,rename <正则表达式>

    举例:如文件 “this is a test.txt”,经过 rename / /_/,变为 “this_is_a_test.txt”。

    下载 FileRenamer

  14. Subtitle by Lucifr

    为视频文件下载字幕的插件。

    详见 Alfred 匹配并下载字幕插件

  15. More to come, maybe…

更多资源


:以上的网址中很多可能撞墙,请自备梯子。

Google Chat 中的隐藏表情

| Comments

原来 Google Chat 里藏着这么多有趣的表情,而且还是动态的。试试在 Gmail/Google+/iGoogle/Orkut 的 Chat 里输入下面的代码吧:

~=[,,_,,]:3 彩虹猫
:3
:(:)
:(|)
V.v.V
-<@%
+/'\
[:|] 机器人
}:-) 魔鬼
\m/ 摇滚
<3
</3 心碎
>.< 苦逼
:-x 亲亲
:* 又亲亲

效果如图:

hidden emotions

注意个别表情只能在 Google+/iGoogle/Orkut 中显示,个别只能在 Gmail 中显示,且效果有差异。

via @Gmail - Google+

Bye-bye Wordpress. Hello Octopress!

| Comments

Octopress

自从成为独立博客开始,Lucifr 就是 Wordpress 的坚定支持者和使用者,但是本着生命在于折腾的宗旨,顺应自己骨子里的小众本质,Lucifr 还是毅然决定抛弃 Wordpress,而新宠就是 Octopress

什么是 Octopress

简单来说 Octopress 是一个基于 Jekyll 的静态博客站点生成系统,它很大程度上简化了用 Jekyll 搭建博客的过程。不同于 Wordpress 这样的动态博客,它可以将一个模板目录(原始状态的网站)经过 MarkdownLiquid 转换,在本地生成一个完整的静态网站,再通过 git 或是 rsync 很方便的部署到 GithubHeroku 或是自建的服务器上。

Octopress 的优势

对于 Lucifr 来说,Octopress 之所以诱人,主要是因为以下几个方面:

  1. 网站搭建很方便

    这个方便当然是相对的,如果对 Git 和 Ruby 很熟悉的话会发现建个 Octopress 太容易了,几行命令就搞定了。没有自己的主机也没关系,部署到 Github 和 Heroku 都是不错的选择。

  2. 写文章很方便:原生支持 Markdown 语法和各种嵌入插件

  3. 发文章很方便:书写 -> 自动生成 -> 部署

    不同于 Wordpress 的文章发布方式,因为 Octopress 是在本地静态化后再通过 Git 或 rsync 部署,因此在 Octopress 中发文章只要终端中运行 rake watch,挑选自己惯用的文本文本编辑器以纯文本的形式(Markdown)写好文章,再 rake deploy 就轻松部署到服务器上。配合 POW 可以很方便的在本地进行预览。

  4. 改主题很方便:Compass 和 Sass

    不必再一行行的改 CSS 了,用 Sass 可以很语义化的书写样式,而 Compass 会监视 Sass 的变化并生成相应的 CSS 文件,同样的配合 rake watch 和 POW 就可以在本地预览主题的变化。

    值得一提的是 Octopress 默认的主题本身就质量很高,尤其是可随分辨率自适应的 Responsive 布局,很对 Lucifr 的胃口。

  5. 不用折腾很方便:内建多个第三方服务

    Octopress 已经内置了 Twitter、Pinboard 书签、Disqus 留言系统、Google Analytics 统计等多个模块,只需要到 _config.yml 中填入相应的信息就可以轻松配置,免去很多麻烦。

Octopress 适合哪些人

经过上面的介绍,不难发现 Octopress 是个很适合开发者使用的博客系统,如果你之前就一直在使用 git,对 ruby 很熟悉,那么会发现上手很快;抑或像 Lucifr 这样什么都不懂但有受虐的决心,读英文文档没什么问题,那么也是可以折腾的,否则还是踏实的用 Wordpress 吧。

很感兴趣?

这里开始你的 Octopress 旅程吧。

P.S. Lucifr 可能会在之后的文章中写写从 Wordpress 搬到 Octopress 的一些心得,欢迎继续关注