2026年2月25日博客原创

NBlog v1 主题配置文档

NBlog 主题的完整配置文档,包括安装、基础配置、页面创建、文章写作、第三方服务等详细说明

文章内容已失效,其中的内容已经无法使用

安装 / 更新

在博客根目录执行以下命令:

bash
npm i hexo-theme-nblog

仅推荐使用 NPM 安装,可以获得版本更新提示,避免配置文件冲突等问题。

启用

修改站点配置文件 _config.yml

yaml
theme: nblog

创建主题配置文件

注意:为了更新 npm package 后你的数据不会丢失

请将 ./themes/nblog/_config.yml复制到根目录并重命名为 _config.nblog.yml 并在此文件的基础上进行站点配置

配置

基础信息配置

yaml
# 默认文章版权协议
default_license: CC BY-NC-SA 4.0

# 主题色
primary_color: '#FF7F78'

# 站点名称 (左上角导航栏)
site_name: Blog

# 默认作者名称
author: Your Name

# 头像链接
avatar: https://your-avatar-url.com/avatar.png

# 个人简介
bio: 步伐虽小, 密而不停

卡片链接配置

yaml
social:
  - platform: GitHub
    url: https://github.com/your-username
    icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>'
  - platform: Twitter
    url: https://twitter.com/your-username
    icon: '<svg>...</svg>'

导航菜单配置

yaml
nav_links:
  - name: 首页
    path: /
    icon: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>'
  - name: 分类
    path: /categories/
    icon: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>'
  - name: 标签
    path: /tags/
    icon: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>'
  - name: 归档
    path: /archives/
    icon: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>'
  - name: 友链
    path: /friends/
    icon: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>'

友链配置

NBlog 支持两种友链样式:普通样式带图片的样式

普通样式

yaml
friend_links:
  simple:
    - name: Cloudflare
      url: https://cloudflare.com
      avatar: https://www.cloudflare.com/img/logo-cloudflare-dark.svg
      description: Security, Performance, Reliability
    - name: Hexo
      url: https://hexo.io
      avatar: https://hexo.io/logo.svg
      description: A fast, simple & powerful blog framework

图片样式

yaml
friend_links:
  cover:
    - name: Cloudflare Blog
      url: https://cloudflare.com
      avatar: https://www.cloudflare.com/img/logo-cloudflare-dark.svg
      cover: https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=600
      author: Cloudflare
      description: Security, Performance, Reliability for the modern web

左下角页脚链接配置

yaml
footer_links:
  - name: 隐私政策
    path: /posts/privacy/
  - name: 版权协议
    path: /posts/copyright/

分页配置

yaml
index_generator:
  path: ''
  per_page: 10 # 每页显示文章数量
  order_by: -date

通知组件配置

yaml
notifications:
  enable: true
  interval: 10000  # 轮播间隔(毫秒)
  items:
    - message: '欢迎访问我的博客!'
    - message: '本站已支持深色模式,[点击这里](/about/)了解更多。'

支持 Markdown 语法,可以使用链接、加粗等格式。

页面配置

创建分类页面

source 目录下创建 categories/index.md

plaintext
---
title: 分类
type: categories
date: 2024-01-01 00:00:00
---

创建标签页面

source 目录下创建 tags/index.md

plaintext
---
title: 标签
type: tags
date: 2024-01-01 00:00:00
---

创建友链页面

source 目录下创建 friends/index.md

plaintext
---
title: 友链
type: friends
date: 2024-01-01 00:00:00
---

创建搜索页面

source 目录下创建 search/index.md

plaintext
---
title: 搜索
type: search
date: 2024-01-01 00:00:00
---

文章写作

Front-matter 配置

NBlog 支持以下文章 Front-matter 配置项:

yaml
---
title: 文章标题                    # 必填,文章标题
date: 2024-01-15 10:00:00         # 必填,发布日期
updated: 2024-01-20 15:30:00      # 可选,更新日期
categories:                       # 可选,分类
  - 技术
tags:                             # 可选,标签
  - Hexo
  - 教程
cover: https://example.com/cover.jpg  # 可选,封面图片
abbrlink: custom-abbrlink         # 可选,自定义短链接
toc: true                         # 可选,是否显示目录,默认 true
comments: true                    # 可选,是否显示评论,默认 true
license: CC BY-NC-SA 4.0          # 可选,文章版权协议
original: true                    # 可选,是否原创,默认 true
source_url: https://...           # 转载文章的原文链接
author: Guest Author              # 可选,文章作者
hidden: true                      # 可选,隐藏文章
---

版权声明配置

文章支持自定义版权声明:

yaml
# 原创文章
---
title: 原创文章
original: true
license: CC BY-NC-SA 4.0
---

# 转载文章
---
title: 转载文章
original: false
source_url: https://original-source.com/article
---

配置完成的License会显示在文章的底部

隐藏文章

使用 hidden: true 可以隐藏文章,隐藏的文章不会在列表中显示,但可以通过唯一链接访问。

yaml
---
title: 隐藏的文章
hidden: true
---

TOC 配置

文章页面自动生成目录导航,支持以下配置:

  • 文章 Front-matter 设置 toc: false 可关闭目录
  • 目录会自动跟随滚动高亮当前章节
  • 在窄屏设备上自动隐藏

评论配置

文章页面默认显示评论,支持以下配置:

  • 文章 Front-matter 设置 comments: false 可关闭评论
  • 需要在主题中配置 Twikoo URL 才会显示

Canonical 标签

启用 Canonical 标签有助于 SEO:

yaml
canonical:
  enable: true

图片缩放

yaml
medium_zoom:
  enable: true
  margin: 24    # 缩放后图片与窗口边缘的间距

图片懒加载

yaml
lazyload:
  enable: true
  placeholder: blur    # 占位符样式,可选:blur(模糊)、empty(空白)

数学公式

开启:

yaml
katex:
  enable: true

行内公式:

markdown
这是一个行内公式 $E = mc^2$

这是一个行内公式 E=mc2

块级公式:

markdown
$$
\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
b±b24ac2a

特殊 Markdown 语法

基础语法

每个提示块以 !!! 开头,后跟类型关键字和标题:

markdown
!!! info "自定义标题"
    这是一条提示信息。类型为 info,并设置了自定义标题
    支持多行内容
自定义标题

这是一条提示信息。类型为 info,并设置了自定义标题

支持多行内容

注意:提示内容需要缩进,换行行首不留空后自动结束提示块。

折叠功能

可折叠且默认展开(以 !!!+ 开头):

markdown
!!!+ warning "点击可折叠"
    这个提示块默认展开,可以点击标题折叠它。
    适合包含重要但可选的补充信息。
点击可折叠

这个提示块默认展开,可以点击标题折叠它。

适合包含重要但可选的补充信息。

可折叠且默认折叠(以 !!!- 开头):

markdown
!!!- warning "点击展开查看警告"
    这个警告块默认折叠,需要点击才能看到内容。
    适合包含详细的技术细节或不常用的信息。
点击展开查看警告

这个警告块默认折叠,需要点击才能看到内容。

适合包含详细的技术细节或不常用的信息。

支持的类型

类型用途
anote笔记(不使用 note 避免样式冲突)
info信息
todo待办事项
warning警告
attention注意
caution小心
error错误
failure失败
missing缺失
fail失败
danger危险
bugBug
success成功
tip提示
question问题
example示例
quote引用

标题设置

使用默认标题(以类型作为标题):

markdown
!!! warning
    这是一条采用默认标题的警告信息。

WARNING

这是一条采用默认标题的警告信息。

自定义标题

markdown
!!! warning "小心!"
    这是自定义标题的警告信息。

小心!

这是自定义标题的警告信息。

隐藏标题

markdown
!!! warning ""
    这是不带标题的警告信息。

WARNING

这是不带标题的警告信息。

只有标题

markdown
!!! warning "这是只有标题的提示信息"

这是只有标题的提示信息

嵌套支持

支持嵌套多层、引用和代码块:

markdown
!!! warning "小心!"
    这是一个警告内容。

    > 嵌套引用内容

    ``console.log("支持代码块");``

    !!! info "内层块"
        这是内层嵌套的提示内容

        !!! danger "内层块"
            这是内层嵌套的提示内容

小心!

这是一个警告内容。

嵌套引用内容

console.log("支持代码块");

内层块

这是内层嵌套的提示内容

使用示例

markdown
!!! anote "笔记"
    这是一个笔记类型的提示块。

!!! info "信息提示"
    这是一个信息提示块。

!!! success "操作成功"
    操作已成功完成!

!!! warning "注意事项"
    请注意以下事项...

!!! danger "危险操作"
    此操作不可逆,请谨慎!

!!! tip "小技巧"
    这是一个实用的小技巧。

!!! question "常见问题"
    这是一个常见问题的解答。

!!! example "代码示例"
    以下是一个代码示例:

        function hello() {
            console.log("Hello, World!");
        }

信息提示

这是一个信息提示块。

注意事项

请注意以下事项...

危险操作

此操作不可逆,请谨慎!

小技巧

这是一个实用的小技巧。

代码示例

以下是一个代码示例:

javascript
  function hello() {
      console.log("Hello, World!");
  }

第三方服务

Twikoo 评论

yaml
twikoo:
  enable: true
  envId: https://your-twikoo-api.com

配置步骤:

  1. 部署 Twikoo 后端
  2. 获取环境 ID (envId)
  3. 在主题配置中填入 envId

站点统计

内置 Vercount 访问统计,无需配置,开启即可

RSS

yaml
feed:
  type: rss2
  path: rss.xml
  limit: 20
  content: true

Sitemap

yaml
sitemap:
  path: sitemap.xml
  rel: false
  tags: true
  categories: true

全站搜索

在站点配置文件中配置搜索功能:

yaml
search:
  path: search.json
  field: post
  content: true
  format: html

反馈

版权声明
本文为原创文章,采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处。
作者:Nitai
评论