Hexo移除图片默认 alt 属性
发表于|更新于|前端
|浏览量:
Hexo 生成图片时,若未手动设置 alt,默认使用文件名作为替代文本,可能导致无意义内容。若希望彻底移除所有 <img> 标签的 alt 属性,在主题或者根目录的scripts/remove-img-alt.js里加入以下代码,
1 | hexo.extend.filter.register('after_render:html', function (str) { return str.replace(/<img(.*?)alt=".*?"(.*?)>/g, '<img$1$2>'); }); |
此代码在 HTML 渲染后移除所有 alt。
注意:这会一并删除手动添加的有意义 alt,请按需使用。
scripts这个文件夹需要自己创建,Hexo 的规则是:
- 只要在 Hexo 根目录或主题目录(和
_config.yml同一层级)下有scripts/目录,里面放的.js文件会在生成站点时自动执行。
文章作者: gloamfox
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 暮色之狐!
相关推荐

2026-03-18
从零到一键发布:Obsidian + Hexo + GitHub Pages 个人博客搭建指南
前言我一直使用 Obsidian 管理笔记,它很好地满足了我的写作需求。但我始终渴望拥有一个属于自己的博客——一方面希望将积累的知识分享出去,获得反馈;另一方面,通过维护博客倒逼自己持续写作和总结,提升表达能力。 本文将完整记录我搭建博客的过程,并重点解决从 Obsidian 写作到博客发布的自动化流程。如果你也想打造一个“赛博小窝”,希望我的经验能给你带来一些参考。 搭建方案我的博客基于以下工具组合实现: 写作端: Obsidian,笔记的写作组织工具。 同步插件:Enveloppe:将本地文章同步到GitHub的Obsidian插件。 博客框架: Hexo:博客站点使用的框架。 主题:hexo-theme-matery:简洁美观的响应式主题。 托管平台:GitHub Pages:免费静态网页托管。 由于我不希望公开所有文章的源文件,我创建了两个 GitHub 仓库: 私有仓库 hexo-project – 存放 Hexo 博客配置、主题和文章源文件。 公共仓库 <用户名>.github.io – 存放 Hexo 生成的静态文件,供 GitHub Pages...

2026-03-23
图片压缩与格式优化指南
太大的图片不仅会影响加载速度,而且会让捉襟见肘的网站流量变得更多,为此有必要在上传图片前先确认下图片的大小,如果图片太大建议先进行一下图片的压缩。 图片压缩那么如何压缩图片呢?个人使用的是一个在线的网站工具:tinypng.com,完全免费,可以批量压缩 20 张图片,最大 5MB。 该网站还提供了: API ,开发者可以调用它来为自己的产品提供图片压缩服务,但每月只能调用 500 次。 Mac 的桌面端工具 TinyPNG4Mac,开源在 GitHub,可以压缩超过 5M 的图片。 webp / avif 格式webp 和 avif 格式比起传统的 jpg 格式体积更小,也是目前非常主流的图片格式。 WebP 使用了更优的图像数据压缩算法,能带来更小的图片体积。例如微信文章里的很多图片都是 webp 格式。avif 格式压缩的更厉害,体积更小。一些主流网站使用的图片就是avif格式的。 但是这两种格式得考虑兼容性问题,读者可以去 caniuse.com 搜索各大浏览器的兼容情况。 感兴趣的同学可以参考以下博客进行了解 什么是WebP?使用WebP格式的图片提供网...

2026-04-07
Hexo插件:Obsidian tabs语法兼容
在Obsidian中,我使用了tabs插件来显示多个页签的切换功能,这种展示方式非常直观且实用。然而,这种语法并非Markdown原生支持,因此当文章发布到Hexo平台后,无法正常展示。 以下是一个示例的tabs语法: 1234567tab: Claude Pro / Max订阅规定月费,适合高频使用者首次启动时浏览器弹窗登录推荐给日常开发使用的用户tab: API key(按量付费)用多少付多少在Anthropic Console获取Key 为了解决这个问题,我编写了一个Hexo插件。首先,在Hexo目录下创建一个名为hexo-obsidian-tabs.js的文件,然后将以下内容复制到该文件中: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100...

2026-03-24
Hexo 搜索跳转失效?一招解决链接域名丢失问题
问题现象:博客搜索功能正常,但点击搜索结果后跳转链接丢失了站点域名,例如实际文章链接为 http://www.gloam.cn:4000/20260302020433.html,搜索后却指向 http://20260302020433.html,导致无法访问。 根本原因:Hexo 搜索插件在生成搜索数据时,只记录了文章的相对路径(即 permalink 配置值),没有自动补全站点的完整域名。 解决方案:修改主题中负责渲染搜索结果的 JavaScript 文件,将文章的相对路径拼接上站点的根路径(如 location.origin),生成绝对链接即可解决。 问题复现根据 Hexo永久链接最佳实践:终极方案与优化指南 对文章的url进行了优化,但是优化后通过搜索无法跳转到正确的文章。 12345实际链接:http://www.gloam.cn:4000/20260302020433.html搜索后跳转链接:http://20260302020433.html 修复指南定位搜索功能相关文件在主题目录中寻找负责搜索的脚本文件。以 hexo-theme-matery 主题为例,需要找到...

2026-03-24
Hexo永久链接最佳实践:终极方案与优化指南
结论先行:日期方案是最佳选择经过多种方案的对比与实践,推荐使用基于文章创建时间的日期格式作为永久链接,即: 1permalink: :year:month:day:hour:minute:second.html 该方案完全依赖 Hexo 原生功能,无需额外插件;生成的 URL 简洁、无中文乱码、长度固定;只要在每篇文章的 Front-matter 中明确设置 date 字段,链接即可永久不变,彻底解决了文件名修改、中文转义等痛点,是兼顾 SEO 与稳定性的最优解。 下面详细分析各方案的优缺点,根据实际需求选择。 默认配置Hexo 生成永久链接的常规设置位于站点根目录的 _config.yml 文件中,如下所示: 12345permalink: :year:month:day:hour:minute:second.html permalink_defaults: pretty_urls: trailing_index: true # 设为 false 可移除 URL 末尾的 'index.html' trailing_html: true #...

2026-03-31
Obsidian博客搭建完整指南
我一直将Obsidian作为日常写作的主要工具,并想要能够将双链笔记一键转换为独立博客,因此采用了 Obsidian + Hexo + GitHub Pages 的组合方案。从零开始搭建到最终稳定上线,过程中遇到了诸多挑战——链接失效、图片异常、缓存不更新、访问速度慢、路径错乱等问题层出不穷。 这篇文章完整记录从搭建到极致优化的全过程,把所有遇到的问题、解决方案、优化技巧全部整理好,既是个人复盘,也给同样走这条路的朋友一份避坑指南。 整体技术栈与搭建思路我的目标很简单: 在 Obsidian 里无感写作,支持双链、相对路径、本地图片; 一键发布到线上博客,不用手动复制粘贴、改格式; 博客托管免费、稳定,即 GitHub Pages; 速度快、体验好、SEO 友好、无冗余 bug。 最终定型方案: Obsidian(写作) → Hexo(生成静态站) → GitHub Pages(托管) → uniCloud/CDN(加速) 搭建阶段:核心问题与解决方案刚把框架搭起来时,博客根本没法直接用 ——Obsidian 原生格式和 Hexo 不兼容,各种链接、图片、路径全炸了...
公告
此博客为记录工作学习总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。


