用 hexo 在 github page 搭建博客

这两天把博客新迁在 github page 上,这两天抽空注册了新域名,并且在 github pages 上搭建了新的博客,还用了逼格极高的 hexo 。

在 github pages 上搭建静态博客不只 hexo ,排名前 5 的系统有:

官方推荐的是 jekyll

我用 hexo 主要想借机多熟悉下 NodeJS ,另外也先看了简介使用,感觉 hexo 上手也相对容易, markdown 语言来写内容。
如果你想对这几种静态博客进行系统比较的话,可自行测试,或 参考这篇贴子

hexo 的配置及使用官方有比较详细的 文档 ,有一位热心同学写了较为详细的博文 《 hexo 你的博客 》 。

有一些问题他没有提及,我补充一下:

  • 这里 有详细的官方推荐皮肤。目前我使用的是 modernist ,如果你对皮肤要求比较高的话,恐怕 theme 上没有太满意的,只能自己设计。:(
  • 文档 。看上去挺全的,但很多地方『点到即止』,所以才看到有很多使用说明都是自己搭建过的同学写出来的经验之谈,不过这没关系,结合 google baidu 来使用就可以了。
  • 迁移 。 关键的功能从 rss 导入功能 "hexo migrate rss http://rank.im/atom.xml" 居然不能用。我哪天 fix 了放出来给大家。

换域名,重新开博

注册了一个比较帅的域名 rank.im ,用于个人站点。
把原来的很古老的博客系统换成现在比较流行,逼格比较高的 hexo 。

虽然原来我的博客在 G reader 的订阅数也有 1K 多,抛弃历史包袱从头再开始是个不错的选择。:)
此篇是个新的开始。

android/ios 开发切图神器 cutandslice

在多端开发时切图是个很痛苦的事,如果有一个很好的工具必将解决掉很多很繁琐的工作。
最近试用了一款软件「 cutandslice 」,觉得不错,推荐给大家。
官网: http://www.cutandslice.me/
作者从简介上来看是一名 ue 设计师。

用了之后你会发现其实开发的原理不难:
用了很多 PS 里自己的「宏」来解决问题,程序只处理了规则( rule )。

这个思路很赞。

'cutandslice'

取得当前脚本元素的路径的一个特例

在正常情况下,无 defer 或 async 属性要准确取得当前脚本执行路径,在不同浏览器里有两种办法:

  1. MDC 里可查看到用 document.currentScript 拿到当前运用的 script 路径。除此属性外还可通过它的子属性 「 document.currentScript.async 」 来查看「异步」还是「同步」加载。
  2. 用 document.scripts 得到最后一个 script.src ,但需注意 readyState 是否为 「 interactive 」状态。

SWFUpload 2.5 bug 修改 (2)

在 github 上我放了一个 修改版 ,有兴趣的同学可以测试下性能。
需要注意的是,要在支持 PHP 的 Webserver 下运行。

再遇问题

经过上一轮的 SWFUpload 修改两周后有人反馈:

  • 上传速度非常慢,上传 8 张图片,有时甚至 8 分钟都没上传完;
  • 其次是上传图片数量到某个阈值就无法上传;

Debug 了一个下午,发现:

  • 问题 1 上传速度慢的问题,只存在 IE 里。
    • 我也觉得很奇怪,为什么 Flash 的性能还和浏览器有差别
  • 问题 2 不是 Flash 的问题,与脚本使用有关
    • 经查问题发现 Flash 用 css 隐藏之后,在 IE 下压缩和上传都无法 work (这比较好查);

SWFUpload 2.5 bug 修改 (1)

关于 SWFUpload

SWFUpload 是一个客户端文件上传工具,最初由 Vinterwebb.se 开发,它通过整合 Flash 与 JavaScript 技术为 WEB 开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。

主要特点:

  • 可以同时上传多个文件;
  • 类似 AJAX 的无刷新上传;
  • 可以显示上传进度;
  • 良好的浏览器兼容性;
  • 兼容其他 JavaScript 库 ( 例如: jQuery, Prototype 等 ) ;
  • 支持 Flash 8 和 Flash 9 ;

SWFUpload 不同于其他基于 Flash 构建的上传工具,它有着优雅的代码设计,开发者可以利用 XHTML 、 CSS 和 JavaScript 来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的 JavaScript 事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。

这么多说的就是一个意思, SWFUpload 使用灵活方便,不少人在用。
但是,它在我们项目实际应用中发现问题。

山西的几张照片

出门旅游在外, iPhone 4S 这样的设备拍照比较方便,可以不用拿沉重的单反了。 这次用 iPhone 拍的照片除了象素低点,广角和长焦都不够用以外,其他的还蛮好的。

大同或平遥都是有历史的城市,所以我把照片去色,用黑白体现历史感。

webkit 里会出现突然闪一下的问题

问题

有用户反馈在 chrome 下出现屏幕会闪,但不是每次都能复现。

解决办法

.no-flick{-webkit-backface-visibility: hidden; /*但不能用于 sprite 雪碧图*/}
/* 或 */
.no-flick{-webkit-transform:translate3d(0,0,0);}

用户行为系统 如何记录行为数据

最近准备把我主持并负责的前端用户行为系统开源了,这个系统我们内部命名为 marmot 。中文为「土拨鼠」,有挖掘之意。 除我之外,还有两位开发人员分别是: seven 和 cyhello 。

本篇文章简短的说明一下 marmot 的 log 重点问题:

  1. 解决不同分辩率的策略.
  2. 解决粒度过细的问题.
  3. 还原路径问题.
  4. 何时发回数据及数据量的问题