使用hexo基于github pages做博客镜像

基于GitHub Pages为cssor.com做了一个镜像,采用的引擎是hexo。

过程中出现一些问题,逐一解决一下。

1、迁移到hexo,使用wordpress的RSS做数据源

我的rss默认只推送最近10条,需要在WP仪表盘下的 设置 → 阅读 项目下更改Feed中显示数目,改成比文章数多就行了。

2、某些迁移后的Markdown文件在generate时出现语法报错,例如:

SyntaxError: Unexpected token ; # 或如下面
Error: Unexpected colon on line 1588 in file

不好改,遂暂时将个别报错文件删除了事。

3、文件数过多,达到IO限制报错,如Error: EMFILE, open “some file path…”,解决如下:

ulimit -n 5000 #改为一个较大的数

这里有个参考: http://bubbyroom.com/2013/11/08/hexo-deploy-err/

基本目前遇到的问题就这些。

继续阅读~ 参与评论~

关于Google协议SPDY

发音: speedy
在线检测: http://spdycheck.org/
配置方法:
http://www.nginxtips.com/how-to-install-and-configure-spdy-on-nginx/
http://centminmod.com/nginx_configure_https_ssl_spdy.html
SSL证书:http://www.startssl.com/
http://www.startssl.com/?app=42

继续阅读~ 评论(1)

配置Mac os终端下vi的配色

Mac下的vim/vi home目录为:/usr/share/vim.
切到该目录下,执行sudo vi vimrc ,加入我以前的配置内容,参见:
https://raw.githubusercontent.com/tofishes/Vim/master/_vimrc

然后切换目录到配色: cd vim73/colors

然后下载以前用的一个配色方案到该目录:

wget https://raw.githubusercontent.com/tofishes/Vim/master/vimfiles/colors/molokai.vim

至此就OK了。

PS. 最新的mac osx系统启用了Rootless机制,即使是root账号也无法对/usr目录进行写操作。那么可以把vimrc文件放到 ~/.vim 下,同时molokai.vim主题放到 ~/.vim/colors 目录就可以了。

继续阅读~ 参与评论~

js getter setter和defineProperty兼容情况

测试数据源于: http://robertnyman.com/javascript/javascript-getters-setters.html

兼容ie9+及其他标准浏览器的写法有二:

1、

var lost = {
	loc : "Island",
	get location () {
		return this.loc;
	},
	set location(val) {
		this.loc = val;
	}
};
lost.location = "Another island";

2、

var lost = {
	loc : "Island"
};	
Object.defineProperty(lost, "location", {
	get : function () {
		return this.loc;
	},
	set : function (val) {
		this.loc = val;
	}
});
lost.location = "Another island";

继续阅读~ 参与评论~

YUI声明停止继续开发 – 一代“天骄”步入迟暮

http://yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui
雅虎的工程师于8月29号声明:因为各类新技术,新js库的兴起(新东西层出不穷),浏览器将越来越标准化,像YUI这样大型的库已经越来越不被关注,社区也越来越不活跃,收到的issues也越来越少,所以我们做出一个艰难的决定,那就是 将停止继续开发YUI。
而这个声明基本可以认为是YUI的生命终结了,因为随着时间流逝,YUI终将淘汰并成为历史。曾经辉煌的YUI看来是快要落幕了,真是缅怀啊!

继续阅读~ 参与评论~

ToFishes系列jQuery插件 – Dropdown下拉列表

之前有发过一套插件jcuteForm中包含一个下拉列表的实现,相比之前的作品,此次的实现更加简洁和优雅(自认的)。

而以前的jCuteForm的demo页因为使用的Google jscdn 引入的jQuery挂了已经不能正常在线查看,不过还是可以下载的。

而这次的提升还是很不错的,需要的请自行:查看DEMO

源码里面有个注释,去掉就可以实现一个页面多个dropdown的显示互斥(点一个下拉,则其他打开的下拉就恢复原状,源码内的注释没解释清楚,恐误解),因为莫名的想法我给注释掉了,需要的请自行取消。

继续阅读~ 参与评论~

jQuery表单方法糖serializeArray

jQuery.serializeArray()和jQuery.param()两个表单相关的方法不知道用的人多不多,这两个是获取表单参数的最方便方法。

serializeArray()返回的是一个数组,数组由简单的“名称-值对”对象组成,可以直接当做jQuery.ajax各api方法的data参数穿进去。

例如

var params = $('form').serializeArray();// 返回类似: [{name: 'title', value: '标题'},  {name: 'content', value: '内容值'}]
$.post(url, params, function(){});

不过,在实际项目中可能有些变故,比如说我们项目后端要求 对同名参数的多个值是用逗号间隔合并一起的字符串,像checkbox类型,获取多个input[type=checkbox name=”hobby”], 使用serailizeArray会返回这样的值:
params = [{ name: “hobby”, value: “one” }, { name: “hobby”, value: “two” }, { name: “hobby”, value: “three” }]

直接用于ajax方法,传参会是这样的: hobby=one&hobby=two&hobby=three
而我们后端要求应该是这样传: hobby=one,two,three

因此直接使用serializeArray不能满足我们的需求,总不能放弃这么好的“方法糖”不吃吧?解决方法简单,我拿serializeArray封装一下,做了另外一个插件,满足了自己的需求,也没增加多少复杂度,具体代码如下:

// @tofishes
// var params = $('form').paramMap();  就可以获得整个表单的所有参数
$.fn.paramMap = function (opts) {
    opts = $.extend({
        'separator': ',' // 同名参数的分隔符,多用于checkbox的值
    })

    var params = this.serializeArray()
    ,   paramMap = {}

    ,   i = 0
    ,   l = params.length
    ,   param;

    for (; i < l; i++) {
        param = params[i];

        if (paramMap[param.name]) {
            paramMap[param.name] += opts.separator + param.value;
        } else {
            paramMap[param.name] = param.value;
        }
    };

    return paramMap;
};

善用方法,可以让自己的工作变简单很多。

继续阅读~ 参与评论~

1 2 3 4 5 6 7 8 9 27 28

全部分类
Books(4)code(7)database(6)html&css(24)java(11)JavaScript(51)jQuery(24)linux(20)python(1)React(1)share(1)soft(4)solution(53)thinking(17)vim(9)WordPress(8)前端优化(12)拓展(33)服务器(33)移动开发(4)自然(22)