Kairyou's Blog

专注于前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]
  • TortoiseGit GitHub 使用小计

    / 分类: 开发,工具 / 4 Comments

    装了GIT很久了,最近也没时间鼓捣,今天提交GitHub时发现不太会用了,所以查查资料,简单记录下git的安装和使用。

    1. msysgit

    TortoiseGit依赖msysgit,下载:http://code.google.com/p/msysgit/downloads/list
    有Portable版,我用的就是这个。比如解压.7z到:D:\WebDevelopment\Git\PortableGit

    2. 配置TortoiseGit

    下载:http://code.google.com/p/tortoisegit/downloads/list
    安装TortoiseGit,全部保持默认即可。

    配置git的路径:
    桌面右键 -TortoiseGit - setting - General - MSysGit路径,指定:
    D:\WebDevelopment\Git\PortableGit\bin。

    创建ssh key:
    开始菜单-TortoiseGit-Puttygen, Generate,然后Save private key到本地 (无需key passphrase),比如保存到:D:\WebDevelopment\Git。保存的key下次比如重装系统, 可以继续使用。复制对话框里生成的ssh key,类似:
    ssh-rsa
    .....
    .....
    .....= rsa-key-20120218

    TortoiseGit - setting - Git - Config,填写 name、email。
    新版的默认是只读的, 可以通过右键-git bash里添加配置:
    git config --global user.name 'xxx'
    git config --global user.email "xx@xx"

    3. 使用GitHub

    GitHub功能类似googlecode,方便储存代码。主页,进入Edit Your Profile,找到SSH Keys,Add New SSH Key或edit现有的SSH Key。title随便取,把上面复制的ssh key粘贴到key一栏。

    创建项目:
    主页,New repository创建项目,填写项目名称之类的。创建好后,可以看到一些说明,找到里面的git@github.com:yourName/test.git,复制这个URL。

    本地创建个文件夹,比如test,右键-Git Clone,URL中粘贴刚才复制的URL。Load Putty Key选择上面保存到本地的ssh key。OK,弄完了。

    提交code到github

    右键-Git Commit,然后Push,就可以推到GitHub里面了。

    查看全文 »

  • 使用mustache js模板引擎

    / 分类: 开发,实践 / 5 Comments

    Mustache 是个不错的js模板引擎,源码:https://github.com/janl/mustache.js
    演示:http://mustache.github.com/#demo,不仅支持js,还有PHP/RUBY/nodejs等好多语言。市面上的JS模板引擎也不少了,在公司的项目中,考虑在mustache.js、jquery-tmpl两个里面选择,最后选择了mustache,因为它支持的语言更多些,可以写成JQ插件,不依赖其他库,用在团队比较适合,并且一些不错的web项目也选择了它,性能方面应该都不会有太大差距。

    js模板引擎可以把模板分离出来,在ajax使用较多的场合非常适用。以前我们可能会使用拼接的方法,比如:

    var html=[];
    html.push(‘<h1>’); html.push(‘header’); 
    html = html.push(‘</h1>’).join(‘’);
    

    当遇到数据结构复杂 、大量页面都需要这样做的时候,js看起来可能非常乱,维护很不便。使用js模板引擎,可以方便的把view分离出来。
    mustache的一些说明:http://mustache.github.com/mustache.5.html

    if语句

    因为是Logic-less templates,无逻辑,只有标签,无if、for等,不过这些逻辑可以在写在js里面。基本还是适合大部分场合了。如果使用if语句,可以在js里面做一些判断增加一个has标签,然后在模板里面调用,比如再模板里可以这样:

    {{#hasValue}}
    有{{value}}的情况
    {{/hasValue}}
    {{^hasThumb}}
    无value,显示默认值
    {{/hasThumb}}