【个人博客】Hexo个人博客搭建与配置详细教程 + Fluid主题 + Gitee发布

news2024/12/28 20:14:37

文章目录

  • 一、环境准备
    • 1.1 安装 NodeJs
    • 1.2 安装 Git
    • 1.3 安装 Hexo
  • 二、Gitee仓库搭建
    • 2.1 Gitee账号注册
    • 2.2 仓库搭建
  • 三、Hexo博客搭建
    • 3.1 基础环境搭建
    • 3.2 启动 Hexo
    • 3.3 更换 Fluid 主题
  • 四、自定义配置
    • 4.1 全局设置
      • 4.1.1 页面顶部大图
      • 4.1.2 博客标题
      • 4.1.3 导航菜单
      • 4.1.4 懒加载
      • 4.1.5 全局字体
      • 4.1.6 网页统计
      • 4.1.7 展示 PV 与 UV 统计
      • 4.1.8 语言配置
      • 4.1.9 强制全局 HTTPS
      • 4.1.10 二级站点路径
      • 4.1.11 自定义 JS / CSS / HTML
      • 4.1.12 暗色模式
      • 4.1.13 OpenGraph
    • 4.2 首页设置
      • 4.2.1 Slogan(打字机)
      • 4.2.2 文章摘要
      • 4.2.3 文章跳转方式
      • 4.2.4 文章信息
      • 4.2.5 隐藏文章
      • 4.2.6 文章排序
    • 4.3 文章页设置
      • 4.3.1 文章在首页的封面图
      • 4.3.2 文章页顶部大图
      • 4.3.3 文章内容图片
      • 4.3.4 日期/字数/阅读时长/阅读数
      • 4.3.5 代码块
      • 4.3.6 评论
      • 4.3.7 脚注
      • 4.3.8 Tag 插件
        • 4.3.8.1 便签
        • 4.3.8.2 行内标签
        • 4.3.8.3 勾选框
        • 4.3.8.4 按钮
        • 4.3.8.5 组图
      • 4.3.9 LaTeX 数学公式
      • 4.3.10 Mermaid 流程图
    • 4.4 归档页
    • 4.5 分类页
    • 4.6 标签页
    • 4.7 关于页
      • 4.7.1 创建关于页
      • 4.7.2 关于信息
      • 4.7.3 社交页图标
      • 4.7.4 在关于页开启评论
      • 4.7.5 开启关于页
    • 4.8 友情链接页
    • 4.9 自定义页面
      • 4.9.1 创建页面
      • 4.9.2 配置
      • 4.9.3 为自定义页开启评论
    • 4.10 404 页
  • 五、配置文件
  • 六、Gitee发布


在开始之前,可以先看看成品:https://wskh0929.gitee.io/my-hexo-fluid/


一、环境准备

1.1 安装 NodeJs

Node.js的安装及环境配置【超详细】

国内npm镜像及配置方法

按照上面的流程安装完成后检测是否安装成功

在这里插入图片描述

1.2 安装 Git

Git 详细安装教程(详解 Git 安装过程的每一个步骤)

按照上面的流程安装完成后检测是否安装成功

在这里插入图片描述

1.3 安装 Hexo

在Windows搜索栏搜索cmd,找到命令提示符,右键,选择以管理员身份运行

在这里插入图片描述

输入命令安装Hexo:npm install -g hexo

在这里插入图片描述

输入命令,查看hexo是否安装成功:hexo -v

在这里插入图片描述


二、Gitee仓库搭建

2.1 Gitee账号注册

Gitee官网

可以在Gitee官网注册账号,注册账号可自行百度

2.2 仓库搭建

账号注册后,登录账号,新建一个仓库

在这里插入图片描述

填写仓库相关信息

在这里插入图片描述

创建好仓库后默认会跳转到下面的页面。点击图中红框按钮,复制SSH

在这里插入图片描述

在一个空白目录下,右键,选择 Git Bash Here

在这里插入图片描述

输入 git clone 刚刚复制的链接

在这里插入图片描述

成功克隆后的界面

在这里插入图片描述

并且在刚刚空的目录下,生成了一个新目录

在这里插入图片描述


三、Hexo博客搭建

3.1 基础环境搭建

进入 my-hexo-fluid 目录下,打开命令提示符

在这里插入图片描述

输入命令(myblog是文件夹的名字,你也可以改成你想要的文件夹名):hexo init myblog

在这里插入图片描述

这时候就成功生成了 myblog 目录,里面就是个人博客的一些配置文件

在这里插入图片描述

同样的方法,以管理员身份运行命令提示符

在这里插入图片描述

将当前目录切换到 myblog 目录下

在这里插入图片描述

输入命令:npm install

在这里插入图片描述

3.2 启动 Hexo

# 每次更改数据后都要执行下面三个命令
# 清除缓存文件
hexo clean
# 生成静态文件 可简写为 hexo g
hexo generate   
# 启动服务器 可简写为 hexo s
hexo server

在这里插入图片描述

在网页上输入 http://localhost:4000/ 即可看到 Hexo 的页面

在这里插入图片描述

3.3 更换 Fluid 主题

以管理员身份运行命令提示符,切换当前目录到 myblog 目录,然后输入命令:npm install --save hexo-theme-fluid

在这里插入图片描述

修改 myblog 目录下的配置文件,修改主题为:theme: fluid

在这里插入图片描述
在这里插入图片描述

在 myblog 目录下新建一个文件,命名为 _config.fluid.yml , 只要存在于 _config.fluid.yml 的配置都是高优先级,修改原 _config.yml 是无效的。以后我们就对 _config.fluid.yml 进行修改即可。

在这里插入图片描述

输入命令:hexo cleanhexo g

在这里插入图片描述

输入命令:hexo s,重新启动 Hexo

在这里插入图片描述

然后进入 http://localhost:4000/ 就可以看到 Fluid 主题已经切换了

在这里插入图片描述


四、自定义配置

注意:接下来修改配置,都是对 _config.fluid.yml 文件进行修改,在第五章,我会给出我改好的 _config.fluid.yml 配置文件,如果想快速上手,可以复制我的配置文件,里面有较详细的注释,大家可以根据自己的需求在上面改

4.1 全局设置

4.1.1 页面顶部大图

主题配置中,每个页面都有名为 banner_img 的属性,可以使用本地图片的相对路径,也可以为外站链接,比如:

指向本地图片:

banner_img: /img/bg/example.jpg   # 对应存放在 /source/img/bg/example.jpg

指向外站链接:

banner_img: https://static.zkqiang.cn/example.jpg

注意:
如果是本地图片,目录文件夹可自定义,但必须在 source 目录下,博客与主题的 source 目录最终会合并,因此优先选择博客的 source。

图片大小建议压缩到 1MB 以内,否则会严重拖慢页面加载。

页面顶部大图高度设置:

鉴于每个人的喜好不同,开放对页面 banner_img 高度的控制。

主题配置中,每个页面对应的 banner_img_height 属性,有效值为 0 - 100。100 即为全屏,个人建议 70 以上。

页面顶部大图蒙版透明度设置:

主题配置中,每个页面对应的 banner_mask_alpha 属性,有效值为 0 - 1.0, 0 是完全透明(无蒙版),1 是完全不透明

注意:
每篇文章可单独设置 Banner,具体见文章页设置

本主题不支持固定背景(fixed),原因:

  1. 与目前代码结构有较大冲突,需要大量修改
  2. fixed 在移动端兼容性很差

4.1.2 博客标题

页面左上角的博客标题,默认使用站点配置中的 title,这个配置同时控制着网页在浏览器标签中的标题。

如需单独区别设置,可在主题配置中设置:

navbar:
  blog_title: 博客标题

4.1.3 导航菜单

navbar:
  menu:
    - { key: 'home', link: '/', icon: 'iconfont icon-home-fill' }
    - { key: 'tag', link: '/tags/', icon: 'iconfont icon-tags-fill' }
    - { key: 'about', link: '/about/', icon: 'iconfont icon-user-fill', name: '联系我' }
  • key: 用于关联有语言配置,如不存在关联则显示 key 本身的值
  • link: 跳转链接
  • icon: 图标的 css class,可以省略(即没有图标),主题内置图标详见这里
  • name: 强制使用此名称显示(不再按语言配置显示),可省略

另外支持二级菜单(下拉菜单),配置写法如下:

menu:
  - {
      key: '文档',
      icon: 'iconfont icon-books',
      submenu: [
        { key: '主题博客', link: 'https://hexo.fluid-dev.com/' },
        { key: '配置指南', link: 'https://hexo.fluid-dev.com/docs/guide/' },
        { key: '图标用法', link: 'https://hexo.fluid-dev.com/docs/icon/' }
      ]
  }

4.1.4 懒加载

懒加载又称延迟加载。开启后,当图片或评论插件滚动到可见范围内才会加载,可以大幅提高打开网页的速度。

该功能默认开启,可以在主题配置中修改参数:

lazyload:
  enable: true
  loading_img: /img/loading.gif
  onlypost: false
  offset_factor: 2
  • loading_img: 指定加载时的占位图片
  • onlypost: 为 true 时,懒加载仅在文章页生效,如果自定义页面需要使用,可以在 Front-matter 里指定 lazyload: true
  • offset_factor: 触发加载的偏移倍数,基数是视窗高度(即提前 N 屏高度触发加载),可根据部署环境的请求速度调节

4.1.5 全局字体

所有页面统一字体的字号和字族可以通过主题配置中的下列配置项设置:

font:  # 主题字体配置
  font_size: 16px        # 全局字号
  font_family:           # 全局字体族
  code_font_size: 85%    # 代码的字号

关于字体族(font-family)如果不了解可以看 这篇文章 先了解一下。

需要注意:

最好使用系统自带的字体,否则需要通过 自定义 JS / CSS / HTML 额外引入 @font-face,字体一般较大,不建议引入;
应当至少添加一个通用的字体族名(如 serif,具体见上方链接文章)。

如果想设置单独的页面,可以直接在 markdown 里通过 style 标签实现:

---
title: example
---

<style>
  /* 设置整个页面的字体 */
  html, body, .markdown-body {
    font-family: KaiTi,"Microsoft YaHei",Georgia, sans, serif;
    font-size: 15px;
  }

  /* 只设置 markdown 字体 */
  .markdown-body {
    font-family: KaiTi,"Microsoft YaHei",Georgia, sans, serif;
    font-size: 15px;
  }
</style>

4.1.6 网页统计

目前支持多种统计网站,开启后按需填入 Key 或 ID 即可。

web_analytics:  # 网页访问统计
  enable: false # 默认为false,启用网页统计改为true即可
  baidu:  # 百度统计的Key,参见 https://tongji.baidu.com/sc-web/10000033910/home/site/getjs?siteId=13751376 代码获取中 hm.js? 后边的字符串
  google:  # Google统计的Tracking ID,参见 https://analytics.google.com/analytics/web/
  tencent:  # 腾讯统计的H5 App id,参见 https://mta.qq.com/h5/manage/ctr_app_manage (开启高级功能才有cid)
    sid:
    cid:
  woyaola:  # 51.la站点统计ID,参见 https://www.51.la/user/site/index
  cnzz:  # 友盟/cnzz站点统计web_id,参见 https://web.umeng.com/main.php?c=site&a=show
  leancloud:  # LeanCloud 计数统计,可用于 PV UV 展示,如果 web_analytics.enable 没有开启,PV UV 展示只会查询,不会增加
    app_id:
    app_key:
    server_url:  # REST API 服务器地址,国际版不填

4.1.7 展示 PV 与 UV 统计

页脚可以展示 PV 与 UV 统计数据,目前支持两种数据来源:LeanCloud 与 不蒜子。

相关主题配置如下:

footer:
  statistics:
    enable: false
    source: "busuanzi"  # 可选 leancloud | busuanzi  根据自己需求选择
    pv_format: "总访问量 {} 次"  # 显示的文本,{}是数字的占位符(必须包含),下同
    uv_format: "总访客数 {} 人"

注意:
不蒜子不需要申请账号,直接开启即可,但有时候会响应缓慢拖慢整个页面加载。

不蒜子在 localhost 域名下显示的不是真正的数据,因此无需在意。

LeanCloud 使用前需要申请账号(国内需要身份认证),然后在 web_analytics 配置项中将 leancloud API 相关参数填上才能生效。

LeanCloud 在 localhost 域名下不会增加数据。

如果参数填写错误或者接口异常,不会显示数据,请在浏览器控制台排查具体原因。

4.1.8 语言配置

不同语言会影响一些主题自带的文字。

你可以在主题 languages 目录里查看支持哪些语言,只要上面的配置的值和文件名相同即可。

# 设置语言为中文
language: zh-CN

4.1.9 强制全局 HTTPS

当你的域名升级到 HTTPS 后,可能之前存在部分图片等资源使用的是 HTTP,这时混用出现网页报错,造成图片无法显示。

控制台里也会出现报错:Mixed Content: The page at 'https://xxx' was loaded over HTTPS

这种情况可以在主题配置中开启此配置,即可将所有请求强制升级为 HTTPS(如是外部资源,需要本身支持 HTTPS):

force_https: true

4.1.10 二级站点路径

如果你的博客部署在二级路径(如: xxx.com/blog/),需要修改站点配置中:

url: http://xxx.com/blog
root: /blog/

4.1.11 自定义 JS / CSS / HTML

如果你想引入外部的 JS、CSS(比如 IconFont)或 HTML,可以通过以下主题配置,具体见注释:

# 指定自定义 js 文件路径,路径是相对 source 目录
custom_js: /js/custom.js

# 指定自定义 css 文件路径,路径是相对 source 目录
custom_css: /css/custom.css

# 自定义 <head> 节点中的 HTML 内容
custom_head: '<meta name="key" content="value">'

# 自定义底部 HTML 内容(位于 footer 上方),也可用于外部引入 js css 这些操作,注意不要和 post.custom 配置冲突
custom_html: '<link rel="stylesheet" href="//at.alicdn.com/t/font_1067060_qzomjdt8bmp.css">'

另外 custom_jscustom_css 都可以指定多个路径:

custom_css:
  - /css/custom.css
  - //at.alicdn.com/t/font_1736178_ijqayz9ro8k.css

4.1.12 暗色模式

主题暗色模式,开启后菜单中会出现切换按钮

dark_mode:
  enable: true
  default: auto

default 是暗色默认的模式,可选参数:auto / light / dark

4.1.13 OpenGraph

OpenGraph 是 Facebook 发布的一套网页元信息标记协议,可以让任何页面成为社交平台中的富媒体标签。

本主题基于 Hexo 内置方法 实现了该功能,并且默认开启,但如果想在 Facebook 等平台更好地使用,需要在主题配置完善如下配置项:

open_graph:
  enable: true
  twitter_card: summary_large_image
  twitter_id:
  twitter_site:
  google_plus:
  fb_admins:
  fb_app_id:

另外你可以在 Front-matter 设置字段来指定单个页面的 OpenGraph 属性:

---
og_img: /img/og.png
---

4.2 首页设置

4.2.1 Slogan(打字机)

首页大图中的标题文字,可在主题配置中设定是否开启:

index:
  slogan:
    enable: true
    text: 这是一条 Slogan
    api:
      enable: false
      url: "https://v1.hitokoto.cn/"
      method: "GET"
      headers: {}
      keys: ["hitokoto"]

在这里插入图片描述

[
    {
        "data": {
            "author": "Fluid",
            "content": "An elegant theme"
        }
    },
    {
        "data": {
            "author": "Test",
            "content": "Test content"
        }
    }
]

在这里插入图片描述

fun_features:
  typing: # 为 subtitle 添加打字机效果
    enable: true
    typeSpeed: 70 # 打印速度
    cursorChar: "_" # 游标字符
    loop: false # 是否循环播放效果

注意:
请求 API 的功能必须同时开启打字机动效才能生效

4.2.2 文章摘要

开关自动摘要(默认开启):

index:
  auto_excerpt:
    enable: true

若要手动指定摘要,使用 MD文档里划分,如:

正文的一部分作为摘要
<!-- more -->
余下的正文

或者在 Front-matter 里设置 excerpt 字段,如:

---
title: 这是标题
excerpt: 这是摘要
---

注意:
优先级: 手动摘要 > 自动摘要

如果关闭自动摘要,并且没有设置手动摘要,摘要区域空白

无论哪种摘要都最多显示 3 行,当屏幕宽度不足时会隐藏部分摘要。

4.2.3 文章跳转方式

可选值:
_blank:新标签页打开
_self:当前标签页打开

index:
  post_url_target: _self

4.2.4 文章信息

可配置隐藏包括发布时间、分类、标签。

经过测试,如果首页的文章列表中没有略缩图和摘要,标题+文章信息的显示方式会使页面过于拥挤,所以给出此项配置供喜欢首页只显示文章标题的同学使用。

index:
  post_meta:
    date: true
    category: true
    tag: true

4.2.5 隐藏文章

如果想把某些文章隐藏起来,不在首页和其他分类里展示,可以在文章开头 Front-matter 中配置 hide: true 属性。

---
title: 文章标题
index_img: /img/example.jpg
date: 2019-10-10 10:00:00
hide: true
---
以下是文章内容

注意:
隐藏会使文章在分类和标签类里都不显示

隐藏后依然可以通过文章链接访问

4.2.6 文章排序

如果想手动将某些文章固定在首页靠前的位置,可以在安装 hexo-generator-index >= 2.0.0 版本的情况下,在文章开头 Front-matter 中配置 sticky 属性:

---
title: 文章标题
index_img: /img/example.jpg
date: 2019-10-10 10:00:00
sticky: 100
---
以下是文章内容

sticky 数值越大,该文章越靠前,达到类似于置顶的效果,其他未设置的文章依然按默认排序。

当文章设置了 sticky 后,主题会默认在首页文章标题前增加一个图标,来标识这是一个置顶文章,你可以通过主题配置去关闭或修改这个功能:

index:
  post_sticky:
    enable: true
    icon: 'iconfont icon-top'

icon 可以通过 自定义图标 修改为其他图标。

4.3 文章页设置

4.3.1 文章在首页的封面图

对于单篇文章,在文章开头 Front-matter 中配置 index_img 属性。

---
title: 文章标题
tags: [Hexo, Fluid]
index_img: /img/example.jpg
date: 2019-10-10 10:00:00
---
以下是文章内容

在这里插入图片描述

post:
  default_index_img: /img/example.jpg

default_index_imgindex_img 都为空时,该文章在首页将不显示图片。

4.3.2 文章页顶部大图

默认显示主题配置中的 post.banner_img,如需要设置单个文章的 Banner,在 Front-matter 中指定 banner_img 属性。

本地图片存放位置同上。

---
title: 文章标题
tags: [Hexo, Fluid]
index_img: /img/example.jpg
banner_img: /img/post_banner.jpg
date: 2019-10-10 10:00:00
---
以下是文章内容

4.3.3 文章内容图片

本地图片存放位置同上。

![](/img/example.jpg)

4.3.4 日期/字数/阅读时长/阅读数

显示在文章页大标题下的文章信息,除了作者和阅读次数,其他功能都是默认开启的

post:
  meta:
    author:  # 作者,优先根据 front-matter 里 author 字段,其次是 hexo 配置中 author 值
      enable: false
    date:  # 文章日期,优先根据 front-matter 里 date 字段,其次是 md 文件日期
      enable: true
      format: "dddd, MMMM Do YYYY, h:mm a"  # 格式参照 ISO-8601 日期格式化
    wordcount:  # 字数统计
      enable: true
      format: "{} 字"  # 显示的文本,{}是数字的占位符(必须包含),下同
    min2read:  # 阅读时间
      enable: true
      format: "{} 分钟"
    views:  # 阅读次数
      enable: false
      source: "leancloud"  # 统计数据来源,可选:leancloud | busuanzi   注意不蒜子会间歇抽风
      format: "{} 次"

注意:
日期格式必须遵循 ISO-8601 规范,否则无法正常显示;

其他格式必须包括 {} 符号代替数字,文字可自由设置。

4.3.5 代码块

code:
  copy_btn: true
  highlight:
    enable: true
    line_number: true
    lib: "highlightjs"
    highlightjs:
      style: 'Github Gist'
      bg_color: false
    prismjs:
      style: "default"
      preprocess: true

在这里插入图片描述

4.3.6 评论

开启评论需要在主题配置中开启并指定评论模块:

post:
  comments:
    enable: true
    type: disqus

然后在下方还要设置对应评论模块的参数,比如 disqus 对应设置:

disqus:
  shortname: fluid

当前支持的评论插件如下:

  • Valine :基于 LeanCloud
  • Waline:从 Valine 衍生而来,额外增加了服务端和多种功能
  • Gitalk:基于 GitHub Issues
  • Utterances:基于 GitHub Issues
  • Disqus:基于第三方的服务
  • 畅言:基于第三方的服务
  • 来必力(Livere):基于第三方的服务
  • Remark42:需要自托管服务端
  • Twikoo:基于腾讯云开发
  • Cusdis:基于第三方服务或自托管服务
  • Giscus:基于 GitHub Discussion

推荐教程:【个人博客】Hexo 集成 Valine 评论功能

4.3.7 脚注

主题内置了脚注语法支持,可以在文章末尾自动生成带有锚点的脚注,该功能在主题配置中默认开启:

post:
  footnote:
    enable: true
    header: ''

脚注语法如下:

这是一句话[^1]
[^1]: 这是对应的脚注

更优雅的使用方式,是将脚注写在文末,比如:

正文

## 参考
[^1]: 参考资料1
[^2]: 参考资料2

当然你也可以通过修改上方配置项 header 来自动加入节标题,如下所示:

post:
  footnote:
    enable: true
    header: '<h2>参考</h2>'  # 等同于手动写 `## 参考`

4.3.8 Tag 插件

4.3.8.1 便签

在 markdown 中加入如下的代码来使用便签:

{% note success %}
文字 或者 `markdown` 均可
{% endnote %}

或者使用 HTML 形式:

<p class="note note-primary">标签</p>

可选便签:
在这里插入图片描述

4.3.8.2 行内标签

在 markdown 中加入如下的代码来使用 Label:

在 markdown 中加入如下的代码来使用 Label:

或者使用 HTML 形式:

<span class="label label-primary">Label</span>

可选 Label:
在这里插入图片描述

4.3.8.3 勾选框

在 markdown 中加入如下的代码来使用 Checkbox:

{% cb text, checked?, incline? %}
  • text:显示的文字
  • checked:默认是否已勾选,默认 false
  • incline: 是否内联(可以理解为后面的文字是否换行),默认 false

示例:

在这里插入图片描述

4.3.8.4 按钮

你可以在 markdown 中加入如下的代码来使用 Button:

{% btn url, text, title %}

或者使用 HTML 形式:

<a class="btn" href="url" title="title">text</a>
  • url:跳转链接
  • text:显示的文字
  • title:鼠标悬停时显示的文字(可选)

4.3.8.5 组图

如果想把多张图片按一定布局组合显示,你可以在 markdown 中按如下格式:

如果想把多张图片按一定布局组合显示,你可以在 markdown 中按如下格式:
  • total:图片总数量,对应中间包含的图片 url 数量
  • n1-n2-…:每行的图片数量,可以省略,默认单行最多 3 张图,求和必须相等于 total,否则按默认样式

如下图为 {% gi 5 3-2 %} 示例,代表共 5 张图,第一行 3 张图,第二行 2 张图。

在这里插入图片描述

4.3.9 LaTeX 数学公式

注意:
Hexo 5.0 以上,可尝试 Hexo 官方的 hexo-math 插件,支持更多定制化参数,使用方式参照链接内的文档,以下介绍的是主题内置的 LaTeX 功能。

当需要使用 LaTeX 语法的数学公式时,可手动开启本功能,需要完成三步操作:

1. 设置主题配置

post:
  math:
    enable: true
    specific: false
    engine: mathjax
  • specific: 建议开启。当为 true 时,只有在文章 Front-matter 里指定 math: true 才会在文章页启动公式转换,以便在页面不包含公式时提高加载速度。
  • engine: 公式引擎,目前支持 mathjaxkatex

2. 更换 Markdown 渲染器

由于 Hexo 默认的 Markdown 渲染器不支持复杂公式,所以需要更换渲染器(mathjax 可选择性更换)。

然后根据上方配置不同的 engine,推荐更换如下渲染器:

mathjax(并且还需安装 Pandoc )

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-pandoc --save

katex

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-markdown-it --save
npm install @traptitech/markdown-it-katex --save

然后在站点配置中添加:

markdown:
  plugins:
    - "@traptitech/markdown-it-katex"

3. 安装完成后执行 hexo clean

书写公式的格式:

$$
E=mc^2
$$

在这里插入图片描述

4.3.10 Mermaid 流程图

当需要使用 Mermaid 渲染流程图时,可手动开启本功能:

post:
  mermaid:
    enable: true
    specific: false
    options:
  • specific: 建议开启。当为 true 时,只有在文章 Front-matter 里指定 mermaid: true 才会在文章页启动流程图渲染,以便在页面不包含流程图时提高加载速度。
  • options: 官方 API 的配置项,具体可见 mermaidAPI.js

注意:
自定义页面默认不加载,如需使用,需在 Front-matter 中指定 mermaid: true

自定义页面默认不加载,如需使用,需在 Front-matter 中指定 mermaid: true

{% mermaid %}
gantt
dateFormat  YYYY-MM-DD
title Adding GANTT diagram to mermaid

section A section
Completed task            :done,    des1, 2014-01-06,2014-01-08
Active task               :active,  des2, 2014-01-09, 3d
Future task               :         des3, after des2, 5d
Future task2               :         des4, after des3, 5d
{% endmermaid %}

也可以通过代码块书写:

```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label

4.4 归档页

  menu:
    - { key: '归档', link: '/archives', icon: 'iconfont icon-books' }

4.5 分类页

  menu:
    - { key: '分类', link: '/categories', icon: 'iconfont icon-th-large' }

4.6 标签页

  menu:
    - { key: '标签', link: '/tags/', icon: 'iconfont icon-tags-fill' }

4.7 关于页

4.7.1 创建关于页

首次使用主题的「关于页」需要手动创建,以管理员身份运行命令提示符,切换到myblog目录:

在这里插入图片描述
创建成功后修改 /source/about/index.md,添加 layout 属性。(layout: about 必须存在,并且不能修改成其他值,否则不会显示头像等样式。)

修改后的文件示例如下:

---
title: 标题
layout: about
---

这里可以写正文,支持 Markdown, HTML

4.7.2 关于信息

在关于页介绍自己的基础信息,可以在主题配置中设置:

about:
  avatar: /img/avatar.png
  name: "Fluid"
  intro: "An elegant theme for Hexo"

4.7.3 社交页图标

在主题配置中设置:

about:
  icons:
    - { class: 'iconfont icon-github-fill', link: 'https://github.com', tip: 'GitHub' }
    - { class: 'iconfont icon-douban-fill', link: 'https://douban.com', tip: '豆瓣' }
    - { class: 'iconfont icon-wechat-fill', qrcode: '/img/favicon.png' }
  • class: 图标的 css class,主题内置图标详见 这里
  • link: 跳转链接
  • tip: 鼠标悬浮在图标上显示的提示文字
  • qrcode: 二维码图片,当使用此字段后,点击不再跳转,而是悬浮二维码

4.7.4 在关于页开启评论

开启评论的方式是通过在 Front-matter 设置 comment: bool 来控制评论开关,或者通过 comment: ‘type’ 来开启指定的评论插件。

---
title: 标题
layout: about
comment: 'valine'
---

4.7.5 开启关于页

在配置文件中加入下面代码:

  menu:
    - { key: '关于', link: '/about/', icon: 'iconfont icon-user-fill'}

4.8 友情链接页

友情链接页用于展示好友的博客入口,默认关闭,开启需要先在 navbar 项中将 links 的注释(#号)删掉:

navbar:
  menu:
    - { key: 'links', link: '/links/', icon: 'iconfont icon-link-fill' }

然后找到 links 的配置项,对页面内容进行配置:

links:
  items:
    - {
      title: 'Fluid Docs',
      intro: '主题使用指南',
      link: 'https://hexo.fluid-dev.com/docs/',
      avatar: '/img/favicon.png'
    }
  default_avatar: /img/avatar.png

在这里插入图片描述

4.9 自定义页面

4.9.1 创建页面

如果想单独生成一个页面,步骤和创建「关于页」类似。

1. 首先用命令行创建页面:

hexo new page example

2. 创建成功后编辑博客目录下 /source/example/index.md:

---
title: example
subtitle: 若不填默认是 title
---

这里写正文,支持 Markdown, HTML

正文默认没有 Markdown 样式,如果希望和文章相同的样式,可以加上:

<div class="markdown-body">
正文
</div>

4.9.2 配置

页面的参数配置可以在主题配置中统一设置:

page:
  banner_img: /img/default.png
  banner_img_height: 70
  banner_mask_alpha: 0.3

也可以直接在 Front-matter 里单独设置:

---
title: example
banner_img: /img/default.png
banner_img_height: 60
banner_mask_alpha: 0.5
---

这里可以写正文

4.9.3 为自定义页开启评论

自定义页面也可以开启评论插件,和关于页的方式相同,通过在 Front-matter 设置 comment: bool 来控制评论开关,或者通过 comment: 'type' 来开启指定的评论插件:

---
title: example
comment: 'valine'
---

4.10 404 页

在这里插入图片描述


五、配置文件

_config.yml(不是复制完就可以直接用的,需要根据你的信息修改一些配置)

theme: fluid
title: WSKH0929 的博客
subtitle: ''
description: ''
keywords:
author: WSKH0929
timezone: ''
## 设置全局语言  zh-CN:简体中文;zh-TW:中国台湾的繁体中文;zh-HK:中国香港特别行政区的繁体中文;en:英文;es:西班牙语;ru:俄语;de:德语;ja:日语;
language: zh-CN

## 发布设置
url: https://wskh0929.gitee.io
root: /my-hexo-fluid
deploy:
  type: git
  ### 自己的仓库地址
  repo: https://gitee.com/wskh0929/my-hexo-fluid

_config.fluid.yml(不是复制完就可以直接用的,需要根据你的信息修改一些配置)

# ==================================== 全局设置 ====================================

## 顶部预览大图(不知道为什么,设置这个属性貌似没起到作用)
banner_img: 你的图片地址/链接

## Hexo的网页图标
favicon: 你的图片地址/链接

## 是否强制全局HTTPS
force_https: true

## 自定义JS
custom_js:
  ### 鼠标点击出小爱心❤
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/js/love.js
  ### 鼠标跟随小星星
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/js/xiaoxingxing.js
  ### 小雪花飘落
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/js/xiaoxuehua.js
  ### 动态彩带
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/js/caidai.js

## 自定义CSS
custom_css: 
  ### 引入 iconfont 的图标(这是我的iconfont项目链接,最好可以换成你自己的)
  - //at.alicdn.com/t/c/font_3846514_kabxni94auf.css
  ### 鼠标指针美化
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/css/shubiao.css
  ### 滚动条美化
  - //cdn.jsdelivr.net/gh/bynotes/texiao/source/css/gundongtiao.css

## 暗黑模式设置
dark_mode:
  enable: true
  default: auto

## 导航栏设置
navbar:
  ### 博客标题
  blog_title: WSKH0929 的博客
  ### 导航菜单
  menu:
    - { key: '首页', link: '/', icon: 'iconfont icon-home-fill' }
    - { key: '归档', link: '/archives', icon: 'iconfont icon-books' }
    - { key: '分类', link: '/categories', icon: 'iconfont icon-th-large'}
    - { key: '标签', link: '/tags/', icon: 'iconfont icon-tags-fill'}
    - { key: '关于', link: '/about/', icon: 'iconfont icon-user-fill'}
    - { key: '友链', link: '/links/', icon: 'iconfont icon-link-fill' }
    - {
      key: '文档',
      icon: 'iconfont icon-book',
      submenu: [
        { key: '主题博客', link: 'https://hexo.fluid-dev.com/' },
        { key: '配置指南', link: 'https://hexo.fluid-dev.com/docs/guide/' },
        { key: '图标用法', link: 'https://hexo.fluid-dev.com/docs/icon/' }
      ]
    }

## 关于页设置
about:
  ## 关于页的顶部预览图
  banner_img: 你的图片地址/链接
  ### 你的头像
  avatar: 
  ### 你的昵称
  name: "WSKH0929"
  ### 个人简介
  intro: "一起学习,一起进步"
  ### 外链设置
  icons:
    - { class: 'iconfont icon-github-fill', link: '你的链接', tip: 'GitHub' }
    - { class: 'iconfont icon-gitee-fill-round', link: '你的链接', tip: 'Gitee' }
    - { class: 'iconfont icon-csdn', link: '你的链接', tip: 'CSDN' }
    - { class: 'iconfont icon-qq', qrcode: '你的链接' }
    - { class: 'iconfont icon-weixin', qrcode: '你的链接' }

## 友情链接页设置
links:
  ### 友情链接页的顶部预览图
  banner_img: 你的图片地址/链接
  items:
    - {
      title: 'WSKH0929',
      intro: 'WSKH0929 的 CSDN',
      link: '你的链接',
      avatar: '你的链接'
    }
    - {
      title: 'Fluid Docs',
      intro: 'Fluid 主题使用指南',
      link: 'https://hexo.fluid-dev.com/docs/',
      avatar: '/img/favicon.png'
    }
  ### 默认头像
  default_avatar: 你的图片地址/链接

## 标签页设置
tag:
  ### 标签页的顶部预览图
  banner_img: 你的图片地址/链接
  
## 分类页设置
category:
  ### 分类页的顶部预览图
  banner_img: 你的图片地址/链接
  
## 归档页设置
archive:
  ### 归档页的顶部预览图
  banner_img: 你的图片地址/链接

## 懒加载设置
lazyload:
  ### 是否启用懒加载
  enable: true
  ### 指定加载时的占位图片
  loading_img: /img/loading.gif
  ### 为 true 时,懒加载仅在文章页生效,如果自定义页面需要使用,可以在 Front-matter (opens new window)里指定
  onlypost: false
  ### 触发加载的偏移倍数,基数是视窗高度(即提前 N 屏高度触发加载),可根据部署环境的请求速度调节
  offset_factor: 2
 
## 全局字体设置
font:  
  ### 全局字号
  font_size: 16px
  ### 全局字体族
  font_family: "Microsoft YaHei"
  ### 代码字号
  code_font_size: 85%
  
## 网页访问统计
web_analytics: 
  ### 默认为false,启用网页统计改为true即可
  enable: true
  ### 百度统计的Key,参见 https://tongji.baidu.com/sc-web/10000033910/home/site/getjs?siteId=13751376 代码获取中 hm.js? 后边的字符串
  baidu: 
  ### Google统计的Tracking ID,参见 https://analytics.google.com/analytics/web/  
  google:
  ### 腾讯统计的H5 App id,参见 https://mta.qq.com/h5/manage/ctr_app_manage (开启高级功能才有cid)
  tencent:
    sid:
    cid:
  ### 51.la站点统计ID,参见 https://www.51.la/user/site/index
  woyaola:
  ### 友盟/cnzz站点统计web_id,参见 https://web.umeng.com/main.php?c=site&a=show
  cnzz:
  ### LeanCloud 计数统计,可用于 PV UV 展示,如果 web_analytics.enable 没有开启,PV UV 展示只会查询,不会增加
  leancloud:
    app_id:
    app_key:
    #### REST API 服务器地址,国际版不填
    server_url:

## 底部栏设置
footer:
  ### 统计访问人数设置
  statistics:
    #### 是否开启访问人数统计
    enable: true
    #### 可选 leancloud | busuanzi  根据自己需求选择
    source: "busuanzi"
    #### 显示的文本,{}是数字的占位符(必须包含),下同
    pv_format: "总访问量 {} 次"
    uv_format: "总访客数 {} 人"
    
## OpenGraph设置
open_graph:
  enable: true
  twitter_card: summary_large_image
  twitter_id:
  twitter_site:
  google_plus:
  fb_admins:
  fb_app_id:
  
# ==================================== 首页设置 ====================================
index:
  ## 打字机设置
  slogan:
    ### 是否启用打字机
    enable: true
    ### 打字机文字内容
    text: 一起学习,一起进步
  ## 文章跳转方式 _blank:新标签页打开  _self:当前标签页打开
  post_url_target: _self
  ## 文章信息设置:可配置隐藏包括发布时间、分类、标签
  post_meta:
    date: true
    category: true
    tag: true
    
# ==================================== 文章页设置 ====================================
post:
  ## 统一给文章设置一个默认封面
  default_index_img: 你的链接
  ## 日期/字数/阅读时长/阅读数 设置
  meta:
    author:  # 作者,优先根据 front-matter 里 author 字段,其次是 hexo 配置中 author 值
      enable: true
    date:  # 文章日期,优先根据 front-matter 里 date 字段,其次是 md 文件日期
      enable: true
      format: " YYYY 年 MM 月 DD 日 , a hh:mm , dddd"  # 格式参照 ISO-8601 日期格式化
    wordcount:  # 字数统计
      enable: true
      format: "{} 字"  # 显示的文本,{}是数字的占位符(必须包含),下同
    min2read:  # 阅读时间
      enable: true
      format: "{} 分钟"
    views:  # 阅读次数
      enable: false
      source: "leancloud"  # 统计数据来源,可选:leancloud | busuanzi   注意不蒜子会间歇抽风
      format: "{} 次"
  ## 评论设置
  comments:
    enable: true
    type: valine

## valine 评论设置
valine:
  appId: 你的appId
  appKey: 你的appKey
  serverURLs: 你的serverURLs
  placeholder: 留言仅限讨论,禁止广告等行为

      
# ==================================== 代码块设置 ====================================
code:
  ## 是否开启复制代码的按钮
  copy_btn: true
  ## 高亮设置
  highlight:
    ### 是否开启代码高亮
    enable: true
    ### 是否开启行号
    line_number: true
    ### 选择生成高亮的库,可选项: highlightjs、prismjs,对应下面两组配置,高亮的配置说明具体见主题配置中的注释
    lib: "highlightjs"
    highlightjs:
      style: 'Github Gist'
      bg_color: false
    prismjs:
      style: "default"
      preprocess: true

六、Gitee发布

在 _config.yml 文件中加入下面的配置(注意不是修改 _config.fluid.yml 噢!)

## 发布设置
url: https://wskh0929.gitee.io
root: /my-hexo-fluid
deploy:
  type: git
  ### 自己的仓库地址
  repo: https://gitee.com/wskh0929/my-hexo-fluid

执行以下命令上传

# 清除缓存文件
hexo clean
#  生成静态文件 可简写为 hexo g
hexo generate   
# 部署网站 可简写为 hexo d
hexo deploy

如果 hexo d 的时候出现了下面的错误,这是因为没安装 hexo-deployer-git 插件,在站点目录(myblog)下输入命令安装就好了:npm install hexo-deployer-git --save

在这里插入图片描述

在 git 项目的最外层打开 Git Bash Here

在这里插入图片描述

下面是正常 hexo d 完的情况

在这里插入图片描述

然后,进入 Gitee 中的仓库点击 Gitee Pages,将项目发布到 Gitee Pages

在这里插入图片描述

进入Gitee Pages 需要申请,申请时需要上传自己的身份证正反面照片与手持身份证照片,一般申请成功后一到两个工作日就会开通

在这里插入图片描述

如果出现下面的情况,只需要将仓库设置为公开即可

在这里插入图片描述

勾选“强制使用HTTPS”,然后点击启动

在这里插入图片描述

如果出现下面的错误,则只需要将对应文件删除即可(删除完记得在本地重新部署)(虽然删除文件可能导致运行不正常,但是我为了方便,就是这么做的,网上貌似也没有很好的解决方案)

在这里插入图片描述

然后点击“更新”,重新部署即可,下面是部署成功的界面(如果有新的代码提交后,需要点击更新重新部署才可)

在这里插入图片描述

访问博客

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

路由器连接实验

使用静态路由实现全网连通 R1 [r1]interface GigabitEthernet 0/0/0 [r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24 [r1]interface GigabitEthernet 0/0/1 [r1-GigabitEthernet0/0/1]ip ad [r1-GigabitEthernet0/0/1]ip address 14.1.1.1 24 [r1]interface LoopBack 0 [r1…

搞懂MyBatis?这篇文章就够了~

哈喽呀~你好呀~欢迎呀~一起来看看这篇宝藏文章吧~ 目录 1.什么是MyBatis 2.配置MyBatis开发环境 3.使用MyBatis框架去操作数据库 3.1 实现MyBatis查询功能. 3.1.1 创建一个接口(该接口一定要加上Mapper注解): 3.1.2 创建上面接口对应的 xml 文件 (此文件会实现接口中的…

易基因|METTL3 通过调节m6A 修饰抑制口腔鳞状细胞癌安罗替尼敏感性| 肿瘤研究

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。2022年9月27日&#xff0c;中山大学附属第一医院口腔颌面外科王安训和何倩婷课题组在《Cancer Cell International》杂志发表了《METTL3 suppresses anlotinib sensitivity by regulating …

Tomcat弱口令+后端getshell漏洞

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是Tomcat弱口令后端getshell漏洞。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁…

指针进阶之数组指针和指针数组

文章目录一、指针数组1.概念2.用法&#xff08;1&#xff09;案例一&#xff08;2&#xff09;案例二二、数组指针1.概念&#xff08;1&#xff09;引子&#xff08;2&#xff09;写法&#xff08;3&#xff09;辨析&#xff08;4&#xff09;总结&#xff08;5&#xff09;案例…

ThreeJS—OrbitControls使其控制模型而不是场景

转载核心代码 项目场景&#xff1a; 来公司之前公司有一个地球组件&#xff0c;大概是张这个样子的⬇️&#xff0c;会转有飞线&#xff0c;有城市涟漪&#xff0c;很炫酷。可惜不是我做的。 一个大屏项目上需要额外增加一些需求 转动到某一城市&#xff0c;暂停转动&#…

K8S Pod 基本使用

K8S Pod 基本使用 Pod基本概念 Pods是在Kubernetes集群中创建和管理最小的部署单元&#xff0c;一个Pod内部可以运行一个或多个容器&#xff0c;多个容器之间具共享的存储和网络资源&#xff0c;共享运行上下文。Pod共享运行时上下文是通过linux 命名空间实现&#xff0c;不同…

项目管理工具dhtmlxGantt甘特图入门教程(五):甘特图实例特点

DHTMLX专注于JavaScript和HTML5 UI小部件和库&#xff0c;以帮助开发人员更快地构建功能丰富的、交互式的Web界面。 遵循现代网络开发的标准和做法&#xff0c;DHTMLX提供针对桌面和移动设备定制的顶级Web应用程序框架。 本文重点介绍使用Gantt Instance的主要功能。 DhtmlxG…

springBoot集成阿里云短信

第一步导入依赖 <dependencies><dependency><groupId>com.atguigu</groupId><artifactId>service-base</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springfram…

【3】SCI易中期刊推荐——人工智能领域(中科院1区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

百货商场用户画像描绘与价值分析在线实习项目

通过实习可以让学生通过实践进行检验&#xff0c;它是衔接学生在校学习与步入社会两个阶段的重要桥梁。一个好的实习机会可以帮助学生积累工作经验&#xff0c;验证职业宣传同时提升综合素质。 在线实习项目重点是让学生巩固并拓展已学到的数据分析理论知识&#xff0c;对…

【无标题】测试开发 | TestNG 与 Junit 对比,测试框架如何选择?

TestNG 和 Junit 作为两大流行的测试框架&#xff0c;有哪些区别&#xff1f;各有哪些优缺点&#xff1f;该如何选择呢&#xff1f;这里简要总结下&#xff1a; 1. Junit 更适合隔离性比较强的单元测试&#xff1b; 2. TestNG 是比 Junit 涵盖功能更全面的测试框架&#xff0c…

【自学Java】Java for循环

Java for循环 Java for循环 在 Java 语言 中&#xff0c;关键字 for 用来操作已经知道了循环次数的循环操作&#xff0c;前面我们介绍过 while 和 do while 循环控制&#xff0c;他们一般情况下用于循环次数不知道的情况下。 Java for语句详解 语法 for(赋值初值 : 判断条…

第七章:使用Netlify零成本部署组件文档

第七章&#xff1a;使用Netlify无成本发布组件文档 为什么使用Netlify&#xff1f; 一开始一共有三个方案&#xff1a; 1、Github Page 2、Netlify 3、Vercel Github Page只支持一个repo发布一个网站&#xff0c;而我们的项目是一个mononrepo项目&#xff0c;后续可能还有其他…

数字转汉字支持负数和小数

private static String numToChinese(String str) {if(strnull)return null;boolean isPositivetrue;//判断是不是负数if(str.charAt(0)-)isPositivefalse;StringBuffer sbnew StringBuffer();if(!isPositive)sb.append("负");//整数部分和小数部分&#xff08;如果有…

2023年1月实时获取地图边界数据方法,省市区县多级联动【附区县乡镇街道geoJson文件下载】

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

QT 学习笔记(十三)

文章目录一、QDataStream 二进制文件读写1. QDataStream 简介2. QDataStream 实际演示2.1 QDataStream 读写文件操作2.2 实现代码——主窗口头文件 widget.h2.3 实现代码——主窗口源文件 widget.cpp二、QTextStream 文本文件读写1. QTextStream 简介2. QTextStream 实际演示2.…

【王道操作系统】3.2.3 页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法)

页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法) 文章目录页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法)1.最佳置换算法---OPT2.先进先出置换算…

[安洵杯 2019]不是文件上传(文件名不能用“,数据库可识别hex编码)

打开题目尝试上传文件发现只能上传图片&#xff0c;然后看见了图片的路径&#xff0c;但是图片码连不上蚁键&#xff0c;结合题目&#xff0c;然后看到了题目给出的github源码 <?php include("./helper.php"); $show new show(); if($_GET["delete_all&qu…

STS安装,SVN配置及WEB工程配置简单说明_1.0.0

Spring Tool Suite构建java web项目概述1, 下载安装Spring Tool Suite Spring Tool Suite 简称为sts, 为构建基于Spring企业应用&#xff0c;提供了最好的Eclipse开发环境。STS 提供了最新基于Java和Spring应用所需要的所有工具,STS官网主页地址为http://spring.io/tools/sts/,…