在日常前端开发中,我们经常需要使用一些工具来辅助我们的工作,比如博客生成器 Hexo。而在 Hexo 中,为了能够在搜索引擎中更好地展示我们的博客,通常需要设置文章摘要以及页面描述。其中,npm 包 hexo-description 可以帮助我们更加方便地管理文章摘要和页面描述,接下来我们就来详细介绍一下如何使用它。
一、安装 hexo-description
在使用 hexo-description 之前,需要在全局安装 hexo。如果你尚未安装 hexo,可以使用以下命令进行安装:
npm install hexo-cli -g
全局安装完成后,在你的 Hexo 站点目录下运行以下命令安装 hexo-description:
npm install hexo-description --save
安装完成后,我们需要在站点的 _config.yml
文件中添加一个配置项,如下所示:
description: auto_description: true auto_excerpt: true description_length: 200 excerpt_length: 200
这里的配置项分别为:
auto_description
:是否自动生成文章页面的描述(默认为 true)。auto_excerpt
:是否自动生成文章摘要(默认为 true)。description_length
:自动生成的页面描述的最大长度(默认值为 200)。excerpt_length
:自动生成的文章摘要的最大长度(默认值为 200)。
二、使用 hexo-description
在添加配置项后,我们就可以在 Hexo 标记语言中使用 description
标签来定义文章页面的描述以及 excerpt
标签来定义文章摘要,如下所示:
-- -------------------- ---- ------- --- ------ ---- ----- ---------- -------- ------------ ---------------- --- - -------- --------------------------
在这个例子中,我们使用了 description
标签来定义文章页面的描述,并在正文中使用了 excerpt
标签来定义文章摘要。在配置了这些标签后,我们可以使用以下命令生成我们的博客:
hexo generate
这时,hexo-description 就会自动根据 description
和 excerpt
标签生成对应的页面描述和文章摘要,并将他们写入到页面的 HTML 中。
三、优化 hexo-description
虽然 hexo-description 已经非常方便了,但还有一些优化可以帮助我们更好地使用它。以下是一些优化建议:
1. 设置默认文章摘要
如果你的文章没有手动设置摘要,hexo-description 会自动选择前 200 个字符作为摘要。但是,我们可以手动设置默认摘要,这样当文章没有摘要时会使用我们设置的默认摘要。
在 _config.yml
文件中添加以下配置:
description: default_excerpt: "这是默认的文章摘要。"
这样,当文章没有定义摘要时,就会使用我们设置的默认摘要了。
2. 修改摘要生成规则
在默认情况下,hexo-description 会选择前 200 个字符作为文章摘要。但是,如果我们想使用自己的摘要生成规则,该怎么办?可以通过修改 hexo-description 的源代码来实现。
在 node_modules/hexo-description/lib/plugin.js
文件中,可以找到以下代码:
post.describe = post.meta.description || post.excerpt || post.content.substring(0, config.excerpt_length - 3) + '...';
这是 hexo-description 生成摘要的代码,我们可以通过修改 post.describe
的值来改变摘要生成规则。例如,如果我们想将摘要的长度改为 100 字符,可以将上面的代码修改为:
post.describe = post.meta.description || post.excerpt || post.content.substring(0, 100) + '...';
这样,当文章没有定义摘要时,就会使用 100 个字符作为摘要了。
四、总结
Hexo 是一个非常强大的博客生成器,而 hexo-description 可以帮助我们更加方便地管理文章摘要和页面描述。本文详细介绍了如何安装和使用 hexo-description,并提供了一些优化建议。希望这篇文章能够帮助大家更好地使用 Hexo,并能够在搜索引擎中展现出优美的博客页面。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c0a81e8991b448d9a88