466 字
2 分钟

让 Fuwari 在新标签页打开链接

gemini-aiAI 摘要

开始#

在使用 Fuwari 博客时,你可能会发现一个细节:点击文章中的外部链接时,默认是在当前页面打开的。这意味着访客如果想回到你的博客,必须点击浏览器的返回按钮,这在阅读长篇教程时非常不方便。

为了解决这个问题,我们可以通过 rehype-external-links 插件,让所有的外部链接自动带上 target="_blank" 属性,从而在新标签页中打开。

教程#

Loading Mermaid...

准备#

  • 一个已部署好的 Fuwari 博客
  • 你的 computer

安装插件#

首先,我们需要安装 rehype-external-links 插件。在你的项目根目录下运行:

Terminal window
pnpm i rehype-external-links

配置插件#

安装完成后,我们需要在 astro.config.mjs 中进行配置。

TIP

astro.config.mjs 是 Astro 项目的核心配置文件。它负责管理博客的所有集成(如 Tailwind、Svelte)、Markdown 渲染插件以及站点全局设置。

打开根目录下的 astro.config.mjs 文件,首先在文件顶部引入插件:

astro.config.mjs
import rehypeComponents from "rehype-components";
import rehypeExternalLinks from "rehype-external-links";
import rehypeKatex from "rehype-katex";

然后找到 markdown.rehypePlugins 部分,添加以下配置:

astro.config.mjs
rehypePlugins: [
rehypeMermaid,
rehypeKatex,
[
rehypeExternalLinks,
{
target: "_blank",
rel: ["nofollow", "noopener", "noreferrer"],
},
],
rehypeSlug,

参数说明#

  • target: “_blank”: 强制在新标签页打开链接。
  • rel: 添加安全属性。noopenernoreferrer 可以防止新页面获取原页面的控制权,提高安全性;nofollow 则告诉搜索引擎不要追踪这些链接,对 SEO 有一定帮助。

效果#

配置完成后,重新启动开发服务器或构建项目。现在,你文章中所有的外部链接都会自动在新标签页打开了,而内部链接则保持原样,非常完美。

让 Fuwari 在新标签页打开链接
https://blog.tianhw.top/posts/fuwari-newtab-links/
作者
THW
发布于
2025-12-26
许可协议
CC BY-NC-SA 4.0