独立博客
实现网页长截图的常见思路总结
作为一个经常在博客上分享内容的作者,对国内互联网丧失信仰感到担忧,指出厂商试图打造信息孤岛以增强用户黏度。分享了通过浏览器、Selenium、JavaScript和第三方工具实现网页长截图的方法,包括使用Chrome和Firefox的内置功能、Selenium库和html2canvas等工具。提到了几个在线服务如PickFrom和Tiomg,推荐使用Tiomg免费服务生成长截图。最后,提到了对技术含量较高的项目缺乏动力,分享了长截图实验经历。
独立博客
原生 JavaScript 实现 Hexo 博客推荐功能
这篇文章从作者个人对手机变化的感慨引入,深入探讨了在快速发展的社会中,人们对于个性化和非全面屏手机的怀念以及对过去生活方式的怀念。作者通过对博客、微博和微信公众号等社交媒体形式的比较,表达了对博客情感的依恋以及人们在追求新事物时的无奈。同时,文章也指出了在互联网时代,人们的隐私问题和对资本的依赖。作者通过个人经历,提出了博客作为个人表达平台的价值,并分享了通过技术手段提高博客访问量的策略,如使用 JavaScript 为 Hexo 实现相关文章推荐功能。文章最后以一张推荐功能的效果图作为结尾,鼓励读者去探索和发现更多有趣的内容。
独立博客
使用 jsDelivr 为 Hexo 博客提供高效免费的CDN加速
本文介绍了博主从 Hexo 3.x 升级到 4.x 的经历,主要目的是提高静态页面生成的效率。在升级过程中,博主遇到了外部链接检测的问题,但整体升级过程顺利。文章重点分享了如何使用 jsDelivr 为博客提供免费高效的CDN 加速服务,包括 jsDelivr 的特点、GitHub 上的开源项目,以及具体的配置方法。博主还提供了在部署过程中遇到的问题和解决方案,展示了 CDN 加速对页面加载效果的显著提升。此外,文章还介绍了如何通过 Travis CI 自动化部署时,解决资源版本更新的问题,确保每次部署都能使用最新的资源。
独立博客
Valine 搭配 Server 酱实现博客评论推送
Valine 是一个基于 LeanCloud 的评论系统,作为多说等评论系统的替代品,其简洁大方的界面和数据安全性受到博客作者们的欢迎。为了实现评论推送功能,作者结合 Valine 和 Server 酱,利用 LeanCloud 的 Hooks 在评论写入后调用 Server 酱接口实现消息推送到微信。采用 Nodejs 编写的代码示例展示了如何实现评论推送功能。作者认为这种方案能满足日常需求,展示了评论推送到手机的效果,并分享了 Serverless 部署的便利之处。最后强调了敏捷开发的重要性,提倡基础设施的完善和自动化测试、部署能力。
独立博客
博客图片迁移折腾记
去年国庆期间,七牛云官方回收测试域名,导致许多博客图片无法访问。博主为解决这个问题,分享了自己的一些解决方案。首先介绍了使用 qrsctl 或 qshell 工具通过测试域名批量导出图片的方法。随后,由于没有域名,博主提出了通过 qshell 的 listbucket 和 get 命令手动导出图片的方案。博主还编写了一个 Python 脚本,解析 Markdown 文件中的图片链接,并用 qshell 下载到本地,然后通过微博图床服务上传图片并更新博客中的图片链接。博主提到,尽管微博图床在保留原始文件名方面有所不足,但通过维护一个数据库,比如 SQLite,可以存储本地和远程文件名的对应关系,甚至图片的 Base64 编码。最后,博主推荐了 WeiBox 和 PicGo 两款支持微博图床的工具。
独立博客
基于 Travis CI 实现 Hexo 在 Github 和 Coding 的同步部署
Payne在博客中分享了如何通过Travis CI实现Hexo在Github和Coding的同步部署,介绍了Coding Pages作为备份镜像的重要性,以及使用Token授权Travis CI向Coding推送内容的方法。探讨了三种思路解决同步部署的问题,最终通过设置Token并修改.travis.yml文件,成功实现在两个平台的自动化部署。文章提供了详细配置和展示链接,鼓励读者尝试,展示了Coding上的提交历史和博客镜像链接。
独立博客
使用 Python 生成博客目录并自动更新 README
Payne欢迎读者关注他的博客,他介绍了如何利用TravisCI进行持续集成服务,简化博客更新部署流程。他想为博客生成目录并自动更新README文件,以提供良好的文档导航。通过解析hexo-generator-json-content插件生成的content.json文件,他用Python编写了脚本来提取文章信息并生成Markdown文件。最终,他调整了博客更新流程,手动执行Python脚本生成README.md文件,并更新了TravisCI的脚本文件。他讨论了将Python脚本执行过程合并到hexo生成步骤中的可能性,并提出了两种方案,倾向于通过Locals变量生成Markdown文档。最后,他分享了相关脚本的GitHub链接。
独立博客
迁移 Hexo 博客到 Google 渐进式 Web 应用(PWA)
本文讨论了渐进式网络应用(PWA)的概念及其关键技术,以及作者将 Hexo 静态博客改造成PWA的过程和结果。文章首先提出,知识更新速度快,技术人应如何适应变化。随后,介绍了 PWA 的核心技术,如 ServiceWorker、Web App Manifest 以及 Push API 和 Notification API,旨在解决传统Web应用的网络依赖和用户体验问题。ServiceWorker 通过拦截网络请求和提供离线缓存能力,实现应用的离线工作;Web App Manifest 允许应用有图标、启动页等原生应用特性;Push API 和 Notification API 提高了应用与操作系统的集成度。作者在改造 Hexo 博客时,加入了 manifest.json 文件和服务工作线程,通过使用 hexo-offline 插件简化 Service Worker 的生成。然而,实际操作中遇到了 Service Worker 导致页面加载延迟和 Web App Manifest 在 Android 设备上的支持问题,最终未能在离线状态下访问博客。尽管尝试失败,作者认为过程中的思考和学习是有价值的,并强调开发人员应具备跨语言和平台的开发能力。最后,作者对 Web 技术的未来发展持乐观态度,希望其能继续进步。
独立博客
在 Hexo 中为文章自动添加版权信息声明模块
独立博客
为 Hexo 开发一个网易云音乐的文章插件
该文介绍了如何在博客文章中插入网易云音乐播放器,并通过编写代码实现在Hexo文章中使用[key:value]结构来编写简单插件的功能。讨论了在NodeJS中测试如何匹配和替换音乐类型的[key:value]结构,以及在Hexo文章模板中如何实现对文章内容中的[key:value]结构进行替换。提到了尝试通过Hexo的插件机制来简化这一需求,并给出了一个标签插件的示例代码,最终展示了如何使用{% cloudmusic 20744792 %}这样的标记来引用网易云音乐。
独立博客
使用 Coding.NET 和 Hexo 实现网页游戏的发布
本文介绍了如何通过 Coding.NET 的项目演示功能,在 Hexo 中扩展支持发布网页游戏,以便博主展示游戏作品和帮助读者了解游戏效果。作者提到了他对游戏开发的热情以及分享技术经验的动机,希望在博客中增加项目演示需求。通过探讨在博客中嵌入游戏以提供读者实际操作体验,作者计划在博客中推荐好游戏并展示游戏实现。探讨了将 Unity3D 导出的游戏放在 Coding.NET 或 Github 上实现在线演示的思路。1