文章列表

使用 Hugo 生成 API 接口

查看评论
随着 SSG 静态生成工具的蓬勃发展,市面上能看到越来越多的静态站点,一般的使用方法是通过静态展点生成工具生成静态页面,然后进行发布。我个人使用了[一年多]的 Hugo ,不论是稳定性还是易用性方面,都无愧于开源社区里关注度第一。但是这类静态站点生成器就只能做一些静态站点使用了么?当然不是。 阅读全文

使用前端方式挑战 Chrome 小恐龙游戏高分

查看评论
使用前端方式挑战 Chrome 小恐龙游戏高分 今天看论坛发现有人发帖说 Chrome周年庆祝 在“小恐龙”游戏中埋入了新的菜单,可以触碰的 蛋糕 以及触碰之后获得 阅读全文

如果不用 Node.js 写业务

查看评论
最近整理博客,发现很久没有介绍语言相关的小用法了,正巧休息的时候把代码仓库归置了一遍,用几个简短的例子,聊聊 Node.js 除了写业务脚本、做构建运行时,它还能做些什么有趣的事情吧。在做持续集成中,偶尔会遇到需要解析 API 结果,或者读取文件,获取文件指定数据的需求,当使用常规的 shell 难以完成需求的时候,相比较 Python 来说使用 Node 做为粘合剂来获取数据不失为一个好的方案,因为写出的代码将会更简单明了。比如你希望获取到某些 API 中的特殊字段,然后再次进行参数拼装,请求其他的 API ,完成某种程度的完全自动化操作。 阅读全文

优化网站打印(阅读)模式

查看评论
作为一只深度“网瘾少年”,偶尔看到喜欢的网页内容,除了会选择使用笔记工具收藏、浏览器收藏夹库加star外,偶尔还会使用纸质打印保存,或者使用浏览器提供的网页转PDF功能留个备份。然而提到打印,多数网页并不是都适合打印的。两者相同点挺多,但简而言之: 阅读全文

动态绑定浏览器插件弹出窗口内容

查看评论
最近在重构插件,把之前和现在遇到的问题都记录一下吧,抛砖引玉,不对的地方,欢迎指正,: )在编写的插件的时候,我们经常会出现仅允许在某些情况下才可以弹出插件窗口的需求,如:用户打开了非插件页面、书签页面甚至是其他的插件页面。 chrome允许我们在manifest指定browseraction和pageaction,但是假如我们直接在manifest文件中指定了这两个json字段的内容,那么弹出窗的内容将会被『锁死』。browseraction和pageaction都包含一个叫做setPopup的API,允许我们动态的设置插件的弹出窗内容,解决问题的关键点之一也就是这个API了。 而在何时执行setPopup,怎么执行setPopup是另外一个关键点,执行过早,插件交互一样会如同诉求起源的问题一样,『锁死』弹出内容。 下面分别以两种类型的插件为例,这两种类型的插件互斥,manifest仅允许存在其中之一(仅简单描述插件的形式区别,暂不展开描述)... 阅读全文