0%

真是人算不如天算呀,原来是计划在大年夜前发Hugo NexT v4.7.2这个大版本的,可谁曾料想到身体遭受到一场突如其来的病毒感染,就连春节的气氛也是全被搅混无啦。由于此次版本发布发动的内容稍为有些多,在此写个升级的小提示分享下。这不趁着假期的小尾巴,赶紧是把剩余的工作给做完吧,为众多的Hugo NexT粉丝送上一份迟到的新年“贺礼” 🎁。

对于技术类的分享文章而言,或多或少会需要使用到代码块的功能,Hugo NexT主题中默认也是支持代码块的展示,只不过无法支持代码块进行折叠和展开的操作,且在代码选中时的样式与背景也不太容易区分,同时也还发现其他的一些小问题,那么此刻便是把它们全都整合到一起进行优化。最后几乎都可以说是完全的重构,想了解的具体其原由请看下文。

早期在Hugo NexT主题中使用短代码方式实现过对不同类型消息的样式支持,只不过是使用时需要用户书写完整短代码不是很方便,同时输出的效果是独立的块占用空间比较大。后来发现Hugo框架在新版中支持了自定义 blockquote的渲染方式,于是乎便有点有新的想法,让用户直接使用Markdown语法来书写不同消息内容,输出的效果实现类似于Github的警告样式,这样使用起来会更加方便。下面就来看看相关实现思路和使用方式吧。

文字描述是人类自我表达的一种方式,而音乐也是另一种表达的方式,给文章添加上音乐作为背景,或许更能让读者深切体会到作者的情境引起共鸣之意。通过 APlayer MetingJS 库能够很轻松的实现在文章中内嵌音乐的播放功能,同时也支持多种音乐平台的音乐播放,下面就来看看具体的操作方法和实现效果吧。

早期在Hugo NexT主题的开发路线中就有考虑到要给文章的摘要和过期提示功能,但是由于个人的时间和精力有限,迟迟没有将这些功能上线。其实这两个功能的作用也算是比较实用,方便读者能够快速预览一些长文章的内容,同时对于“年限”较长的文章也是给到读者内容可能失效提醒。整体功能的实现并不算复杂,只不过要结合扩展性等方面的考虑,经过一番思索后便有初步的想法,同时在此记录下开发的过程。

hugo-theme-next 的主题默认便是可支持使用mathjaxkatex两种不同组件,通过它们来实现对数学公式的渲染输出显示。只不过自己对数学公式的使用了解的也比较少,测试时直接就是复用网上的文章来验证数学公式渲染是否正常。结果当遇到真正的数学“专家”用户时,便是暴露出在了无法在同行文字内显示数学公式的问题 Issue#90 ,趁此便是参考评论区大家提供的建议尝试修复这“千年老🐛”。

早期在进行 hugo-theme-next 的主题开发时,但想着给首页跳转至文章内容阅读时,能够有个定位到文章后续内容的锚定点功能,而不至于说从头开始阅读影响体验。而恰巧官方在其 hugo-0.134.0-release 发布中新增加这个万众推崇功能的支持实现,为Hugo用户带来全新的体验值得点赞加赏。

趁着周末的闲暇时间,着手对许久未更新维护的 hugo-theme-next 主题进行相关Issues的修复和优化,其中有块与文章更新时间相关的问题: #109 ,修复时正好发现配置文件中的日期时间格式化有点不宜理解,本来想对它做下调整改进,但却是结果遇到莫明奇妙的错误,深入了解一番才发现,这是Go语言的设计规范要求。好吧,也很是无奈啦。顺便也记录下对于Go语言中日期时间格式化的一些学习和理解,方便后续使用本主题用户阅读与参考。

友情链接是博客的重要组成部之一,很多博主日常也会时常进行链接的交换,即是发展自己的互联网友人圈子,也算得上是为自己的博客引流。不过在如今信息大爆炸的时代,也渐渐有些博主实在“有些乏力”来维护自己的站点,其中的缘由可能有诸多,最终便是出现我们偶尔会遇到的情况,某个站点突然之间可能就无法访问。为此便有想法给自己的站点添加个友情链接检测脚本,剔除掉那些已经失效的友情链接,让用户访问时的跳转体验更好加。

起初本站的文章搜索功能使用是本地搜索支持,但后来发现有众多网友(包括 Hugo 官网文档搜索)都使用的是 Algolia 在线搜索引擎,便顺手也给自己的站点移植到该搜索引擎上面。既然提到搜索引擎自然是少了索引文件的维护,接下来就给大家分享下结合 Github Action 实现自动化的流程。