- 缘起今天帮朋友做一个网站, 涉及到js请求并且渲染数据. 因为js语言的特点使得其代码是由上至下依次执行的, 有一个比较恶心的问题在于这一执行顺序并不等同于其先后顺序, 如果中间有一步或者几步的后续执行比较耗费时间, js本身是不会等待其执行完再去执行下面的语句的. 如此就会出现一些因为执行时间而导致的问题, 尤其是请求和渲染数据的时候. 如果你分开来写, 顺次执行的时候, 请求这一步花费的时间比较多, 那么很可能渲染环节都不会得到执行…
比如下述代码:
12345678910111213141516171819202122232425tmpVar = 1;changeItOne();tmpVar = 2;changeItTwo()...
TaoAlphatechjavascriptcallback Th, June 11, 20153 minutes to read - 缘起之前给博客增加了一个打赏页面, 也算是试图筹集资金做些小项目的途径之一. 今天丰富了以下打赏页面, 增加了一个书目的模块, 您也可以给我买书或者把自己看过的我想看的二手书送给我 ^_^
本文则是主要介绍下如何利用豆瓣的图书API获取”想读”列表.
阅读豆瓣API文档豆瓣API豆瓣作为UGC的大户, 其内容价值含量极高, 所以起API的呼声也极大, 而一直以来, 豆瓣的API都是很多其他产品的一大内容来源. 所以这次考虑在我的页面上加入书目列表时, 第一个想到的也是豆瓣!
首先我们确定下思路, 如果我们想要拉取一个”愿望清单”一样的书目, 最好的方法应该是建立一个豆列, 然后在豆瓣维护这个豆列即可. 这应该也是最直接的方法, 可...
TaoAlphatechjavascriptapidouban We, June 10, 20157 minutes to read - 缘起昨天升级了下ruby, 从2.0.0到2.2.2, 升级完jekyll, bundle等均完好无损, 当打包完一些更改push到github后, 想要用rake自动发布的时候发现rake不工作了…
修复Rake错误信息在jekyll跟目录运行rake后出现:
rake aborted!require: cannot load such file – jekyll
错误代码指示在Rakefile的require “Jekyll” 一行.
错误原因猜测回忆了以下之前所有设计到jekyll和rake的操作就是ruby的升级了. 所以猜测应该是ruby升级所致. Google后没有找到合适的解答. 于是就自己折腾分析了一下, 猜测主...
TaoAlphatechrubyrakelsi We, June 10, 20154 minutes to read - 缘起受羡辙杂俎启发, 看到她的页面上有着pageviews的显示, 于是就果断看了下对应的代码, 发现是从google的appspot下拿到的json数据, 于是就开始Google了以下GA的api, 然后就看到了这个superProxy, 下面的事情就非常顺理成章了~
无插件实现方法亦如之前, 我们还是从无插件方法说起, 大体思路为:
通过Google App Engine搭建superProxy, 开启其GA权限;
设置对应查询query以及更新频率;
获取json结果生成地址;
通过js请求获取json数据, 解析展现;
加入本地pageview文件备份容错;
那我们一步步来:
在GAP上创建App
首先, 你需要一个Go...
- 缘起相关文章这个模块一直算是博客的一个标配组件之一, jekyll默认也是有着site.related_posts这个函数的, 可以调用jekyll帮助你生成的相关博文列表. 不过其准确性和相关性都很让人不放心… 从其源码来看, 在默认关闭lsi的情况下, related_post产出的其实就是简单的最近文章列表…
这样当然不可以! 于是, 本文就是我在针对related_post这部分做了一些优化后的产物~ 请君品鉴 ^_^
无插件方法首先当然是希望能在不使用插件的情况下实现, 于是就看到了Jekyll Related Posts without Plugin - 羡辙杂俎 这个大神级妹子的博文~ 很有启发性嘛 基本上我要做的她...
TaoAlphatechjekyllrubyrelated post Sa, June 6, 201515 minutes to read - 缘起对于习惯在命令行下工作的人, 设定方便好用的aliases是必备工作之一. Github上就有很多人分享自己设定的aliases,这里就不多说设定aliases的事情了.
由于最近修改blog, 需要经常在各个路径下跳转, 每次cd的痛不欲生… 于是就捣鼓了下临时alias的问题.
如何设置临时aliases首先, 这里的临时的意思是指在当前session内生效的意思. 也就是说我关了当前的terminal或者iterm的tab, 新开一个这些aliases就不会继续生效了. 其生命周期只存在于当前session内. 这样就不会污染了. 方法有两种, 分别介绍如下:
利用alias命令linux 或者 mac os本身都是自带有...
TaoAlphatechshellalias Fr, June 5, 20153 minutes to read - 缘起随着博文数量正式达到15篇以上, 我寻思着也是时候给blog增加一个翻页的部分了. 首先当然是研究jekyll的官方文档, 然后再结合我们自己的需求进行修改. 因为考虑到blog的通常结构都会有category和tag, 而且昨天刚刚增加了 tag专属页, 所以就希望能够在category和tag页下都增加一个翻页的模块. 而目前jekyll的默认paginator尚无法支持这样的需求, 我们只能自己动手喽~
jekyll paginator开启翻页模块jekyll有默认的paginator, 可以非常简单的开启. 只需要在_config.yml中加入下面这行行即可:
123{% raw %}paginat...
TaoAlphatechjekyllrubypaginator Tu, June 2, 201521 minutes to read - 开题说明继jekyll tips系列之后, 这次新开CSS3 tips系列. 以记录学习研究过程中对css3的困惑以及心得~
今日主题今日的主题主要有以下三个方面, 我会逐一说明.
nth-child() 和 nth-of-type()nth-child()和nth-of-type()都是CSS3新引入的pseudo class. 两者有着非常接近而又细微的差别.
其中:
:nth-child() 指的是 “第x个指定的元素;
:nth-of-type() 指的是 “第x个指定的该元素;
有点难以理解? 看下下面的例子就可以了:
12345<section> <span>Little</s...
TaoAlphatechcss3tips Mo, June 1, 20155 minutes to read - Tag的运用Tag可以算是blog的标配了, 借用tag我们才能够让blog更好的归档, 既丰富了博客的内容体系, 也更便于筛选.而jekyll默认虽然给了tag的域, 但是却并不会自动开启tag的专属页面, 这个页面还需要我们自己来创建的. 建立tag专属页面的方法也有几种, 考虑到很多人都用github page作为自己jekyll的博客, 那么这里就按照有无插件辅助来区分以下方法吧(github page不支持插件~ 想要了解如何在github page中使用jekyll插件?)
无插件实现方法如果不使用插件的话, 其实基本思路就和之前不使用插件建立tech, dandp两个分类页是一样的, 通过创建对应的tagpage te...
TaoAlphatechjekyllrubyjekyll tags Mo, June 1, 201512 minutes to read - 为什么做兼容性H5和CSS3的出现可以说是广大网页开发者的福音啊, 但是依然有一些浏览器中的顽固分子对两者的支持不够, 而用户的选择又不是我们所能决定的, 所以我们只能默默的想办法来检测用户的浏览器对新属性的支持.
coding有个很重要的环节就是fallback. 你不能为了用新特性就不管老版本了~ 所以无论是软件开发还是网站开发, 都讲究向下或者向前的兼容性. 那么, 我们在使用html5和css3的时候, 如何做fallback呢?
如何做兼容性检测基本思路都一样: 增加检测代码来预判浏览器对属性的支持度. 而具体的实现方法呢, 则有以下几种:
现成的三方库Modernizr: 写代码有个好习惯就是除了自己研究目的之外, 很...
TaoAlphatechcss3fallbackhtml5 Sa, May 30, 20157 minutes to read