惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
U
Unit 42
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
美团技术团队
雷峰网
雷峰网
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
罗磊的独立博客
MyScale Blog
MyScale Blog
博客园_首页
IT之家
IT之家
F
Fortinet All Blogs
博客园 - Franky

热爱生活与梦想

迁移LeanCloud的Waline评论数据到TiDB/Neon 25年江浙地区暑假自驾游之感慨 使用阿里云灵码继续完成构建 SSL 证书管理器 亲手给儿子做的棒棒糖摩天轮六一礼物 使用腾讯云 CodeBuddy 构建 SSL 证书管理器 HugoNexT4.7.2 新功能和升级提示 改善代码块折叠和选中功能 支持Github风格的警告样式 新增音乐短代码功能支持 给文章添加摘要和过期提示功能 回顾24年的过去总结 修复Mathjax行内显示公式的问题 给Hugo文章增加阅读更多跳转的锚点定位功能 Win10隐匿的VPN设置和L2TP连接常见错误 Go语言中“糟糕”的日期时间格式化设计 DaoCloud道客提供的免费Docker镜像代理服务 感谢万能淘宝让自己吃到喜欢的美食 WSL运行时遇到未知异常错误无法使用 隐藏的换行符导致Base64加密解密失败 MySQL自带客户端直接免密登录操作 Linux系统中删除目录软链接的注意项 Java程序调用外网API时CA问题 如何不关机重启WSL2恢复虚拟服务 在Windows上安装Podman容器平台做虚拟化 记一次无法弹出移动硬盘的记录 为友情链接添加自动检测脚本 重新激活Github的2FA认证 Linux中使用tar压缩命令排除文件 继续小米手环的健康生活之旅 一次意外的“坠机”引发了我对手机保护壳的深思
修复代码块默认高度相关缺陷
凡梦星尘 · 2025-02-28 · via 热爱生活与梦想

对于上个月Hugo NexT最新的V4.7.2版本发布后,便是收到了不少用户使用的反馈,其中一点便是与代码块显示需要折叠的问题 Issues#168 。这点对于那些程序“猿”的博友们来说,或多或少是要在文章中嵌入大量的代码块,以便给读者展示具体功能实现过程。如果此时的代码块的篇幅比较大,那么文章里的其他非代码块的信息显示会被撑到很下面,对于读者的阅读体验就不那么的友好。这算是个比较普遍通用的需求,加上代码块在显示也有些重叠覆盖的问题,便打算是尽早的把它们给修复好。

增加默认高度

参考了下网友提供的PaperMod主题示例,分析下其实现的过程原理发现比较简单,只需要调整CSS样式中的max-height参数,通过它来控制代码块的收缩或是展开。突然间就把格局打开啦,于是便开始动手修改主题中的CSS文件,给代码块的DOM增加个相应的参数。同时将垂直方向的滚动条设置会自动格式,便会在高度超过最大高度限定时,以滚动条进行滑动显示。

调整代码块位置

另外发现有些用户代码块较多且显示的代码过长时,代码块的显示会撑出文章本身的高度,导致其他内容被遮掩无法显示,而且整个页面看起来也是错乱无序的。尝试后发现是代码块的position属性设置有问题,需要将其调整为relative,同时需要将这个position参数设置到代码块的父层元素,才能确保长代码内容撑出代码块范围影响到文章其它内容显示。

增加默认最大高度

考虑到主题配置的灵活性满足不同用户对于代码块显示需求,在配置文件中增加maxHeight参数,默认值是200px,用户可根据自己的需求进行调整。同时对于小于默认高度的代码块移除收缩的点击事件,只保留超过默认高度代码块的收缩展开事件。

信息

后来在代码调整完成后反思了下,其实PaperMod主题的做法是正确的,尤其当文章中的代码块较多且长时,如果默认都是展开显示的话,文章内容就会被撑得很长,影响阅读体验。有了这个默认高度的设置后,可在阅读代码块的时候选择是否以展开全部。