使用vim
微信小程序开发常见问题
最近从事微信小程序开发,期间还是踩了些坑/遇到些问题,这里总结下
微信预览图片
有时需要实现长按图片,弹出菜单,进行分享等,SDK支持这个,即wx.previewImage,但当前不支持自定义菜单。
缓存
为了降低没必要的请求开销,提高速度,需要注意缓存的使用。比如wx.getImageInfo的图片资源之前已经访问了,但是仍然会重新请求,不会使用之前的缓存。
uBlacklist的实现原理
最近v2ex上大家在讨论Google搜索频繁遇到小 X 知识网等内容农场式结果的问题,都觉得倍感恶心,毕竟百度垃圾,大家才转投谷歌,如果谷歌也废了,那就完蛋了。
好在技术人也总是办法总比问题多,当前有个办法就是使用uBlacklist插件,将这些站点域名配进去从而在搜索结果中屏蔽该内容。同时有网友开了GitHub repo,大家陆续将恶心人的站点域名都补充进去,然后利用ublacklist订阅该源,最终发现效果还不错。
问题虽然也得到了解决,但是什么原理呢,好奇之下,看了下源码,发现原理简单,即利用JS捕捉结果中命中黑名单的站点结果,变换CSS实现隐藏,也就是插件对搜索返回的结果页的HTML进行了二次处理。
当然这样做有局限性即搜索结果如果是分页,会出现每页结果数量不等,毕竟命中的数量可能不同,但对比看到垃圾站点而言,这点还是可接受的。
百度?
uBlacklist的原理决定了搜索结果一定要包含站点链接,而百度属于比较坑的,百度的搜索结果没有直接携带链接,而是做了代理。因此无法有效实现。
Hexo博客构建性能优化
借着周末优化下个人博客的构建性能,之前每次构建需要10m+,优化后需要6M。不考虑搜索索引的话,单博客部署到VPS生效,只需要3m+。这里总结下优化项。
优化项
去除部分插件/功能
- category
- baidu sitemap
Algolia
- 去掉部分索引字段,gallery,photo,excerpt,slug,
CI流程优化
- hexo db.json/ node_modules缓存化
- 自动取消之前还在运行的workflow,这里采用
cancel-workflow-action
- 更新Algolia索引放在部署VPS之后,毕竟不影响浏览博客,仅影响搜索命中
升级hexo到v5,cli到v4
具体配置,可看源码https://github.com/alanhg/alanhg.github.io