hexo github 创建个人博客

前几天用jekyll,各种不爽。

前同事推荐下,果断换hexo

部分github page 的设置流程,在此略过,见上一篇博客。

安装hexo环境

见[node.js官网]:http://nodejs.org/

安装Git

见[git官网]:http://git-scm.com/    

正式安装hexo

mac用户,直接执行

sudo npm install hexo -g

创建web项目

hexo init file

file至你要创建的项目地址

启动服务

进入项目地址,执行

hexo server

执行完毕后,访问:localhost:4000/ 即可

安装npm

sudo npm install

安装模版nut

模板地址github

1:下载模板至theme文件夹
2:yml配置theme: nut
3:执行sudo npm install lodash --save
4:执行sudo npm install marked --save

生成静态文件

1:hexo generate
2:hexo deploy

ok 然后把这个写文件上传至kingundertree.github.io命名的repositories,设置github page 细节自己处理。

然后,访问http://kingundertree.github.io/

Ok!

利用jekyll github搭建自己的博客

第一步:github构建项目

1。比如我的github地址:https://github.com/kingundertree/,需要新建repository
2.新建repository地址必须和github的username保持一致,生成地址:https://github.com/kingundertree/kingundertree.github.io
3.设置github pages,在repository的setting中GitHub Pages部分,点击generator按钮即可
4.git clone 至本地

提示:也可直接按照官方教程操作即可[点击](https://pages.github.com/)

第二步:安装jekyll

1.mac示例,前提是安装ruby
2.执行,jekyll install

第三步:安装jekyll-bootstrap

1.获取jekyll-bootstrap代码,[github 源代码](https://github.com/plusjade/jekyll-bootstrap/)
2.将代码复制到第一步的clone 项目中
3.修改代码,push等等

第四部:启动jekyll服务

1.进入clone 项目
2.执行jekyll server 即可。我犯了一个错误,执行了jekyll --server,久久不能生效

第五步:CNAME

1.项目中添加:CNAME文件,添加你要指向URL:www.xiazer.com(这是我的,你可以指向自己的)

第六步:域名解析

1.创建解析记录类型A,记录值180.168.41.175(github 官方ip)
2.然后,如果没有异常,十几分钟即可通过www.xiazer.com

解释下整个解析流程:

1.github.com/username 和 repository的https://github.com/username/username.github.io 的username相同,且创建username.github.io的repository时,该项目的github pages默认地址会指向username.github.io。(github 系统的逻辑,我在这里被坑了好久)
2.创建CNAME,可以把username.github.io地址指向CNAME中url
3.然后再把你的域名地址解析指向github,github会通过CNAME的url进行匹配,如果CNAME的url同指向github的url一致,则将username.github.io跳转至你的域名

=========================
ok,解释完毕。搞了一个周末的东西,祝你顺利。

我接着去玩下jekyll语言了,设计下自己的样式。

产品流程分享

大学毕业后第一份工作试用期结束后,我整理了一份《产品小结》

大概整理了下自己的工作流程,到现在已经接近2年了。

回头再想想,我之前的流程都是基于web和客户端的。2年的时间,移动已经遍布互联网各个较多。这个流程已经显得老旧的,重新纠正一些观点。

无关正确如否,只是自己的心得。你可以否定,但你不要尝试争论,因为我也不知道是否正确。

1:快速迭代才是核心。移动开发充满更多不确定性,开发的调整更大。产品的调整带来的开发工作量会加倍增加,所以我倾向小功能实现,快速迭代,通过产品试错来纠正产品思路。所以需要小步快走,小功能实现。但是每个小功能都是一个完整的产品闭环,就需要需求完整和确定。

2:产品流程,已经没有那么清晰了。虽然固定的过程是有的,但是由于快速开发的模式,产品前期、开发、后期相互交叉,导致同一个产品同时可以处于多个状态;

3:产品文档,也没有那么必要了。之前,为了产品的确定性和稳健性,都会有翔实的文档。当然,我也知道,大部分技术不会怎么看,只是测试和研发进入到细节时才会验证。对于移动开发,我倾向于简单的文档和严谨的细节、逻辑告知。当然,这点很多人都做不到。

4:交互和设计,显得更加重要。移动的交互和细节变得比任何时候都苛刻,但这不是放弃产品快速上线迭代的因素。对于移动来说,本身就易于实现更好的交互。但是,苛刻的交互会极大的延缓开发尽速,降低产品迭代速度。我更倾向于,统一有规律的交互。

当然,这一切都是我胡诌的。你可以随便看看。

也许,那一天,我会重新去做产品,希望这些感悟一直伴随着我成长。

思维的局限性

我一直很恐惧,那一天我老去的时候,子孙都在探索外星、坐时光机、玩多维电子设备,我却跟不上他们的脚步。

我们身边有太多这样的例子,连00后和10后就开始代沟了。

大部分人,因为自己的经历和意识,习惯性被系统因素影响。自己的意识也停留自己所在系统环境。久而久之,各种代沟就出来了。

所以,我的恐惧是有原因的。我也正感受到,自己被这个时代所困扰。意识和思维方式,越来越和所经历的事情发生关系,而没有和未来,没有和这个世界更紧密一些。

这个命题,比较宏大。我还是希望,我可以有足够的精力和热情,去探索未知的世界,汲取更多的能量,不管是思维方式还是意识,都不要局限于环境和经历。

现在,我立下这个祝愿:永远不要局限于现在。但愿,等我老去的时候,还可以和小孩子一样对这个世界,充满热情和好奇。

懒惰的境界

人是容易懒惰的,懒惰可以分为3个境界。

1,逃避式懒惰:遇到任何事情,只要需要动手,就选择拒而远之,能不做就不做。最经典的,比如大多超级胖子,基本是吃胖的,然后就一辈子躺在床上继续吃。还有中国经典的故事,一个孩子太懒以致于他妈妈远出前把大饼做好,套在他脖子上,最好还是饿死了。饿死的原因是太懒,而不愿伸脖子去吃够不到的食物。
:::这种情况,当然少之又少

2,选择式懒惰:这种情况是最普遍的,因为人是存在懒惰的基因。遇到有挑战、没有吸引力或者费时费力的事情,就会找各种借口不做,或者用其他的方式来敷衍。比如,大部分考试前会投机,就是因为平时懒惰而没有准备充分,最后时刻冲刺一把。
:::我也承认,我有这种倾向。但我有自己的底线,责任要求你做到的就必须做到。如果,有梦想或者金钱的动力,那就更好解决这个问题了。

3,一劳永逸式懒惰:这种懒惰是很高级的。懒惰是本性的,不可回避。但是责任却会把你拉回到正轨,境界、情商再高点,就会试着一劳永逸式解决问题。比如,每天重复式做一件事情,很麻烦,就有人发明了洗碗机、麻将机、洗衣机等等。再如,自行车、骑车、火车、飞机,计算机,都是为了解放重复式工作而诞生的,也极大的促进世界的发展和进步。
:::这种境界,也是我最高兴的。往往,确定一种规则和方法,就可以极大提升效率,解放效率。

最近,一直在学习,在敲代码。如果谁可以发明不用敲代码巨可以编程的机器,那就牛逼了。甚至,谁可以发明代替学习的机器,岂不是更牛逼。当然,科幻片的机器人自我学习,统治地球的结局就免了。哥还想,自由的活下去。

三观

小道消息,前几天写了关于“三观”的微信。

三观这个东西,着实太高深,我感觉还那不捏这个话题。那就简单点吧,正好“简单”也是我的三观里面很重要的。

说三观,不可避免所谓的“普世价值观”。哈哈,你懂的,反正我dang是抵制普世价值观的,黑色幽默啊。

普世价值观,这玩意,我也没有完全整明白。但是,认同这个价值观的国家,诞生发达国家、成熟的民主制度,也是事实。

普世价值,这玩意,说起来,也没有那么高深。也许是因为我的理解有限,才这么觉得。

那我就献丑下吧。普世价值,最关键的也是“简单”,所有的价值观基于“公平、公正”。基于这个2点价值观,不管对于国家还是团体、还是个人,做事的准备都是“公平、公正”。

也许,你也懂得,拥有相同价值观的人,沟通成本会最低。上升到社会国家层面时,这个功效会无限放大。

对于,个人来说,基于“公平、公正”,就会学会“尊重”,尊重不仅仅是人与人之间的尊重,继而衍生到对自己的尊重,尊重自己的价值观、尊重自己的内心,不会勉强自己去做不快乐的事情。尊重别人,就会学会谦卑,学会学习和进步,而不去以“水落石出”的形式竞争,“水涨船高”才是成熟者的心态。

上升到社会、层面,如果有了“公平、公正”。所有的制度和准备,都会基于此。所以有了“三权分立”的制度,相互约束,保证公平公正。就是这一个制度,可以极大提升社会效率,减少无谓的浪费,会大量提升公务效率,减少社会资源铺张浪费。不说太细,你懂的。

普世价值观的是否正确,我这里不解释。只表达一个观点:共同的价值观,会极大的减少社会成本。这是提升社会化发展的重要原因。
更多的来说,有了这个基础,权利被约束,社会效率提升,创意才会施展,更多的资源流向民间。
再回到个人,有了这个认知。你会清楚的抵触拜金的价值观,你会对这个社会的成功学说据而远之。很简单的,你知道《小时代》、《合伙人》是多么奇葩的电影;你也会理解疯狂的公务员热潮是多么扭曲的;你也会知道,国内的教育是多么功利性…

当然,知道这些后,对于某些标准来说,你懂得太多了。大概5年前,我开始去关注这些的时候,是非常焦虑的,因为我还只能影响我自己。现在,事实已经改变了,网络是个好东西。大家都开始懂了这个最简单的价值观。

只是为了快乐

高中毕业的时候,内心无比的憎恨这个教育制度。

我一直觉得是他摧毁了我最美好的青春时代,让我们无限的沉没在考试中,当时还赌誓要建一个网站抵制他。

哈哈,题外话。最后也没有做这件事情。

后来,大学之后。自己非常厌恶学习,非常厌恶专业,厌恶考试。以致于大学碌碌无为,很平庸的过去了。

虽然,也有迷茫和失落,但是却有了自我,形成了自己独立的人格和价值观。我觉得这是大学最重要的东西,知道人生的意义。

对我来说,人生最紧要的事情是快乐。

确实,人生就是这么简单的事情:让自己快乐。

怎么让自己快乐?这是抛给我的问题,对不同的人,当然快乐的方式不一。

那么,对我而言。那就是听从自己的内心,不妥协与自己不乐意的事情。

有了这个,我放弃了专业,选择了重新学习。大四,疯狂弥补互联网知识,才开始了互联网征程。

这只是一个起点,我相信这个决定。

让自己快乐,听从内心,做自己想做的事情。每件事都是洒脱,不带功利的目标。锁定目标,就只会用是否幸福来评价。久而久之,你就更容易知道什么是自己想要的,怎么做,自己更满足,做的决定就会更轻而易举。

webapp技巧系列-键盘搜索功能实现

在原生应用中,在搜索界面,输入搜索内容后,可以直接点击键盘搜索按钮,进入搜索结果页。

webapp,能实现这样的效果吗?

当然,答案是“能”。

这也是safari及ios的特性。

直接上代码。
HTML 部分:

<form onsubmit="return false">
   <div class="inputline">
       <input type="search">
   </div>
   <input type="submit" class="submitbtn hidden">
</form>

CSS部分:

.hidden{
   visiblehidden
}

jquey部分:

$(".submitbtn).click(function(){
   //empty键盘,完成搜索页隐藏,加载搜索页内容并显示
})

以上代码看起来很简单,主要说明下实现机制:
1:使用html5 input 的type=”search”特性,可以实现键盘上确认键控制。使其显示为“搜索”;
2:必须在

结构下,才能模拟搜索提交,但是并不真正执行表单提交,避免页面刷新加载;
3:此外,需要实现搜索的真正功能。搜索的功能实际是执行form表单中的type=“submit”按钮的。这里就可以采用visible:hidden隐藏按钮,使用键盘代替。只需要在提交按钮中添加click事件,就可以完成真正的搜索。

大家还有其他的方案吗?欢迎分享

webapp技巧系列2-键盘显示和隐藏控制(2)

在webapp中,我们点击文本框,可以显示键盘。点击键盘上的“完成”,可以隐藏键盘。

按照之前文章《webapp之结构布局实现方案》介绍(回复数字8可以阅读),页面是不存在刷新,只是布局之间切换。这个时候会存在,文本框输入内容后,点击webapp上按钮执行操作后,切换到下一个页面,但是键盘仍然存在并未隐藏。

这样的情况相对尴尬,为了避免这种不流畅的体验,又怎么可以解决呢?

在web中,页面刷新,键盘会自动消失,按照这个思路,如果如果文本框节点消失,键盘也会消失。

有了这个思路就好办

比如有一个文本框

<div class="inputline"><input type="search" class="searchinput" placeHolder="请输入内容进行搜索"></div>

用户输入内容后,会切换到另外一个页面显示搜索结果,按照原来的方式,可恶的键盘会遮盖在上面,巨操蛋。

那按照新的思路,用户点击搜索按钮后,获取负节点,$(“.inputline).empty(),即可隐藏键盘。再顺利进入下一页。
这种做法,虽然能够实现问题,但也有很多负面效果。

比如:
文本框效果,内容样式变化导致的突兀感。

我的做法是,文本框一律-webkit-appearance:none 处理,文本框样式交给父元素实现。并且在父元素中定位一个备用节点,可以获取文本框内容,默认hidden。一旦文本框节点清空,备用节点显示,代替文本框的输入内容。这个就要处理好css问题,不过相信对于前端这也不是问题。

明天继续关于键盘控制,主要讲,怎么利用input实现键盘上按键的搜索功能。绝对仿真,和原生app效果极其类似。

webapp技巧系列(2)-文本框功能和键盘界面控制(1)

在webapp,默认键盘功能比较有限,基本是qwerty风格,相对于ios上丰富可定制的键盘,弱暴了。

但是,在有限的情况下,safari还是给了一些支持的。那我们来看看,在已经有情况下,我们可以做那些事情。

1:默认

<input type="text">
默认首字母大写,可以通过autocapitalize="off"来关闭首字母大写。
<input type="text" autocapitalize="off">

2:html5 input

比如type=“number/tel”
<input type="number">

3:键盘实现九宫格输入数字

只需要在数字类型键盘上增加pattern="[0-9]*"正则
<input type="number" pattern="[0-9]*">

这样是不是输入数字方便了很多。

明天将继续,怎么实现键盘上搜索功能和键盘的消失和隐藏功能