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-25
Hexo 插件:自动转换 Markdown 相对路径链接
在本地用 Markdown 写文章时,我们常用相对路径引用其他文章,例如: 1[Hexo永久链接最佳实践:终极方案与优化指南](./Hexo永久链接最佳实践:终极方案与优化指南.md) 但 Hexo 在生成静态页面时,会将上述语法直接转换为: 1<a href="./Hexo永久链接最佳实践:终极方案与优化指南.md" target="_blank"></a> 由于浏览器无法解析 .md 文件路径,导致超链接失效。 解决方案在 Hexo 项目根目录下创建 scripts/fix-relative-links.js 文件,并添加以下代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991...

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-04-07
Hexo插件:Obsidian标注语法兼容
1234> [!info] 这是标注的标题> 这是一个标注块。> 它支持 **Markdown**、[[内部链接|内部链接]] 和 [[插入文件|嵌入]]!> ![[Engelbart.jpg]] 然而,当这些标注内容发布到Hexo博客时,无法正常显示。虽然Hexo本身支持类似的标注语法: 1{% note class_name %} Content (md partial supported) {% endnote %} 但为了保持Obsidian的编辑体验,我们需要一个插件来解决这个问题。 解决方案在Hexo博客的scripts目录下创建hexo-obsidian-tabs.js文件,并将以下内容复制到文件中: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980...

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

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 #...
公告
此博客为记录工作学习总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。


