谢谢你留下时光匆匆
为Hugo主题添加动态跟随目录Scrollspy效果

自己搭建设计博客主题时候,采用了主栏与侧边栏的双栏设计,在博客文章页面,侧边栏可以用来呈现文章的目录(一级标题,二级标题等),方便读者了解文章整体结构脉络,也方便读者进行跳转操作。基础的目录html部分可以通过Hugo原生的{{ .TableOfContents }}函数实现。除了基本的目录,自己还想为目录部分添加上动态跟随的工作,即,目录会高亮出目前读者所浏览部分的标题。博客原先采用的bootsrap框架自带的Scrollspy模块可以实现这个功能,但是如果页面元素发生高度变化(例如,评论功能的异步载入),该Scrollspy功能会出现位置定位不准的问题。经过一番尝试后,自己最后使用了gumshoe作为替代实现动态跟随目录的效果,本文记录整个相关实现的细节。


Markdown转换Latex简易实现方案

学术文章通常使用Latex进行最后的渲染,但是直接利用Latex语言进行写作并不方便,各种命令细节(例如,命令的花括号的输入)常会打断书写的思路;此外,较为笨重的渲染引擎也很难做到“所见即所得”的写作模式,给文本(尤其是数学公式)修改带来了一定不便;相对的,Markdown作为一种“轻量级”的修饰语言,简单的修饰符,加上完备的工具生态,码字的体验更为流畅。自己读书期间进行学术写作时候,采用了先Markdown写作,再进行Latex转换的步骤。这其中的Markdown到Latex的转换可以利用 Pandoc 进行。但转换后的Latex会有很多附带的不必要的代码,尝试几种方案后,我发现利用正则表达式处理这些不必要的代码是最为直接有效的方法。本文将相关脚本代码以及简单使用说明贴出。


利用Kindle阅读网络文章

在前不久闲鱼公布的 2021 年度十大“无用”产品中,电子书名列第3上榜。Kindle 作为墨水屏幕电子书的代表产品,在许多人生活中使用率并不高,常处于“吃灰”的状态。因为其较小的屏幕,以及流式操作逻辑(无法方便进行前后翻页的对比阅读),并不适用于专业书籍文章的阅读。唯一较好的使用场景是娱乐阅读,例如网络小说,文学作品的阅读。所以,Kindle 常常被戏称为”盖泡面神器“。

现在网络时代信息爆炸,在刷手机时候,其实我们常常会接触到各类文章,微信公众号文章,新闻app时事文章,知乎各类新知文章。但细想起来,对于这些手机上刷到的文章,我个人经常只是扫了一眼过去。手机上阅读很难有沉浸感,很难在手机上专注仔细品读文章。后来想到能否将手机上刷到的文章发送到 Kindle 进行阅读,经过我一番调研和实践,找到一个利用 Inspaper 的解决方案,本文记录一下最后的实现方案。


一些好的代码习惯

对于代码,自己也算半个有代码洁癖的人。自己平常也会开发一些小玩意儿,写点个人项目,因为各种各样的事情耽误,可能一个个人项目的开发是断断续续的,中间有时候会间隔好几个月,这么长时间的间隔,之前代码的思路,细节处理早已忘记,这时候需要重读代码来熟悉项目。久而久之,随着项目代码的积累,代码的质量就尤为重要。

养成好的代码习惯,可以促使我们写出高质量,可读性更强的代码,以方便后期维护,提高工作效率。本文记录了我在开发过程中,认为较好的代码习惯,用以规范自己以后的开发习惯。我大致将好的习惯分为两类,一类是能优化代码视觉阅读习惯的,另一类是能降低代码逻辑思考负担的。这个习惯,有些来自于自己实际的经验,有些来自于我代码的阅读过程,还有些来自于相关资料。


iPhone/iPad后台播放YouTube视频方案

之前在学英语时候,经常在YouTube上找一些喜欢的博主,观看他们分享生活,分享观点看法。除此之外,YouTube上还有很多课程资源,闲暇时间可以以此拓宽知识面。但是YouTube app并不支持后台播放,在一些使用场景下,这带来了一些不便,例如在路上听YouTube博主的分享,或者听一些像是相声、歌曲之类纯音频的内容。

自己最近调研了多种网络上的方案,大多数解决方法只支持安卓平台,ios平台上使用Alook app的方案最近又失效了。后来,我发现可以利用YubePiP这款免费app实现iPhone/iPad后台播放Youtube视频。本文简单介绍一下具体操作步骤。


RSS Feed xml格式模版与标签归纳

最近在做的几个个人项目,都会遇到RSS feed的开发,这里对rss开发相关的资料做一个汇总,方便以后开发使用。


简明图示解释Git各类合并的区别

本文尝试用一系列图示解释各种Git合并的区别。

为了叙述方便,我们将被合并的分支称为dev开发分支,合并到的目标分支成为master主分支

master分支与dev分支合并前状态
master分支与dev分支合并前状态


Java Enum类模版以及简单批注

最近在Java开发过程中,遇到了Enum类的使用与开发,这里对Java Enum类做一个简单整理,包括创建Enum类的一个模版,以及一些使用的简单批注,方便以后开发使用。


Java字符串转Map的代码片段

最近在进行Java开发过程中,完成需求中的一个步骤需要将字符串解析为Map格式,这里记录一下自己经过几次迭代后的代码片段,方便以后作为util类方法复用。


Java自定义类比较的代码片段

最近在Java开发过程中,需要取自定义数据类中域的最大/最小值,这里贴一下我的代码片段,方便以后遇到类似需求时候复用。