Git+Hexo 博客搭建


Github + Hexo + hexo-theme-matery

使用Hexo搭建博客,并使用了hexo-theme-matery这个模板

一、Ubuntu18.04环境配置

1.安装node.js

1.1 官网文件安装

采用node.js最新的LTS版本

wget https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.xz

xz -d node-v14.16.1-linux-x64.tar.xz

tar xvf node-v14.16.1-linux-x64.tar 

在环境变量目录中创建执行文件的软连接:

sudo ln -s ~/node-v14.16.1-linux-x64/bin/node /usr/local/bin/node 
sudo ln -s ~/usr/local/node-v14.16.1-linux-x64/bin/npm /usr/local/bin/npm 

或者

直接将node-v14.16.1-linux-x64路径添加到 /etc/profile 文件

export NODE_HOME=~/node-v14.16.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH

然后

source /etc/profile

1.2 通过nvm安装

建议采用nvm安装node.js

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

不过我的网络不稳定,上面这句执行失败,不知道是不是写的方法不对,我是直接下载的文件,执行

tar zxvf nvm-0.38.0.tar.gz
cd nvm-0.38.0/
./install.sh

执行命令安装node.js

nvm install --lts

检查安装结果

huyf@T450s:~$ nvm -v
0.38.0
huyf@T450s:~$ npm -v
6.14.12
huyf@T450s:~$ node -v
v14.16.1

1.1的安装方法可能更简便一些,1.2的安装方法可以使用nvm管理版本

2.安装Hexo

2.1 npm安装Hexo

npm install hexo-cli -g
npm install hexo-deployer-git --save

2.2 Hexo初始化

sudo hexo init blog

目录结构如下:

huyf@T450s:~/work/blog$ tree -d -L 1
.
├── node_modules
├── public
├── resource
├── scaffolds
├── source
└── themes

7 directories

3. 下载hexo-theme-matery模板

hexo-theme-materyGithub源码
可以直接下载文件,解压到themes文件夹。

也可以直接clone到themes文件夹

git clone https://github.com/blinkfox/hexo-theme-matery.git

4、安装插件

npm install hexo-generator-search --save
npm i hexo-permalink-pinyin --save
npm i --save hexo-wordcount
npm install hexo-generator-feed --save
npm install hexo-filter-github-emojis --save
npm install hexo-abbrlink --save
  1. 搜索功能;
  2. 中文链接转拼音;
  3. 文章字数统计;
  4. RSS订阅;
  5. Github emojis表情;
  6. abbrlink永久唯一链接;

如果之前安装过prismjs,则需要卸载npm uninstall hexo-prism-plugin

5、在Hexo初始化生成的文件夹中新增一些文件

在Hexo根目录下执行

hexo new page "categories"
hexo new page "tags"
hexo new page "about"
hexo new page "contact"
hexo new page "friends"
hexo new page 404
  1. 新增分类页;
  2. 新增标签页;
  3. 新增关于页;
  4. 新增留言板页;
  5. 新增友情链接页;
  6. 新增404页;

会在source目录下生成对应的文件夹及index.md文件

huyf@T450s:~/work/blog/source$ tree  -L 2
.
├── 404
│   └── index.md
├── about
│   └── index.md
├── categories
│   └── index.md
├── contact
│   └── index.md
├── _data
│   ├── friends.json
│   └── musics.json
├── friends
│   └── index.md
├── _posts
│   └── hello-word.md
└── tags
    └── index.md

8 directories, 10 files

二、修改

1、Hexo根目录配置文件的修改

Hexo根目录下的_config.yml

1.1 Site 站点信息

# Site
title:  #网站标题
subtitle:   #网站副标题
description:  #网站描述
keywords:  #关键字
author:    #作者
language: zh-CN #网站语言
timezone: 'Asia/Shanghai' #时区

这里大多是比较个性化的信息,请注意修改。

1.2 URL 网页链接

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
#url: http:://example.com
url: http://doghoo.github.io
# permalink: :year/:month/:day/:title/
#设置永久链接
# permalink: posts/:uuid  # 此处可以自己设置,也可以直接使用 :/abbrlink
permalink: posts/:abbrlink.html  # 此处可以自己设置,也可以直接使用 :/abbrlink
abbrlink:
  auto_category: 
    enable: true
  alg: crc32   #算法: crc16(default) and crc32
  rep: hex     #进制: dec(default) and hex

#add v7.8.0
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

不过我的blog做上面设置后,一开始是能正常生成abbrlink,但后面不知道为什么每次生成的链接都变成了undefined,后来采用如下配置方案:

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
#url: http:://example.com
url: http://doghoo.github.io
permalink: posts/:year:month:day:id.html 
#设置永久链接
# permalink: posts/:uuid  # 此处可以自己设置,也可以直接使用 :/abbrlink

# permalink: posts/:abbrlink.html  # 此处可以自己设置,也可以直接使用 :/abbrlink
# # abbrlink config
# abbrlink:
#   alg: crc32      #support crc16(default) and crc32
#   rep: hex        #support dec(default) and hex
#   drafts: false   #(true)Process draft,(false)Do not process draft. false(default) 
#   # Generate categories from directory-tree
#   # depth: the max_depth of directory-tree you want to generate, should > 0
#   auto_category:
#      enable: true  #true(default)
#      depth:        #3(default)
#      over_write: false 
#   auto_title: false #enable auto title, it can auto fill the title by path
#   auto_date: false #enable auto date, it can auto fill the date by time today
#   force: false #enable force mode,in this mode, the plugin will ignore the cache, and calc the abbrlink for every post even it already had abbrlink.

#add v7.8.0
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

还需要修改scaffolds/post.md

---
title: {{ title }}
id:
date: {{ date }}
author: 
img: 
coverImg: 
top: false
cover: false
toc: true
mathjax: false
password:
summary:
tags:
categories:
---

在markdown文章中添加 id,参见下图:

生成链接格式如图所示

后记:
**后来发现abbrlink是好用的,只是需要使用hexo new xxx创建md文件,执行hexo g或直接执行hexo s这个的过程,就会在md文件添加abbrlink字段,参见如下:
**

---
uuid: f684fac0-a950-11eb-b237-af9be55e9fc7
title: Gitee-Imgbed
id: r1
author: doghoo
top: false
cover: false
toc: true
mathjax: false
abbrlink: 3d822528  # 此处是新生成的链接字段
date: 2021-04-30 09:11:16
img:
coverImg:
password:
summary:
tags:
categories:
---

1.3 Directory

保持不变

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

1.4 Writing

如果不使用prismjs来高亮代码块,所以这里两处需要修改,否则保持默认即可。

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
  enable: true # Open external links in new tab
  field: site # Apply to the whole site
  exclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true # 不使用prismjs高亮改成false
  line_number: true
  auto_detect: false
  tab_replace: ''
  wrap: true
  hljs: false
prismjs:
  enable: true  # 不使用prismjs高亮改成false
  preprocess: true
  line_number: true
  tab_replace: ''

1.5 Home page setting

# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ''
  per_page: 12 # 因为模板的排版要求每页的文章个书为6的倍数
  order_by: -date

1.6 Category & Tag

保持不变

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

1.7 Metadata elements

保持不变

# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true

1.8 Date / Time format

保持不变

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'

1.9 Pagination

# Pagination
## Set per_page to 0 to disable pagination
per_page: 12 ##此处保持与1.5中数字相同
pagination_dir: page

1.10 Include / Exclude file(s)

保持不变

# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:

1.11 Extensions 模板&插件设置

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
#theme: landscape
theme: hexo-theme-matery #此处的与模板git clone后生成的或解压拷贝过来的文件夹名称一致

1.12 Deployment 部署

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repository: git@github.com:doghoo/doghoo.github.io.git
  branch: master

Hexo部署到Github上的必要设置,此外ubuntu还需要配置git,这样hexo d可以直接部署到github上。
如果部署的gitee上,原理相同。

1.13 其他

以下是针对相应的插件新增的配置

# 搜索
search:
  path: search.xml
  field: post

# 中文链接转拼音
permalink_pinyin:
  enable: true
  separator: '-' # default: '-'

#文章的字数统计等信息
postInfo:
  date: true
  update: true
  wordCount: true # 设置文章字数统计为 true.
  totalCount: true # 设置站点文章总字数统计为 true.
  min2read: true # 阅读时长.
  readCount: true # 阅读次数.

# github表情
githubEmojis:
  enable: true
  className: github-emoji
  inject: true
  styles:
  customEmojis:

# 添加 RSS 订阅支持
feed:
  type: atom
  path: atom.xml
  limit: 20
  hub:
  content:
  content_limit: 140
  content_limit_delim: ' '
  order_by: -date

# 是否在首页显示音乐
music:
  enable: true
  title:     	    # 非吸底模式有效
    enable: true  # 可以关闭音乐功能
    show: 听听音乐
  server: netease   # require music platform: netease, tencent, kugou, xiami, baidu
  type: playlist    # require song, playlist, album, search, artist
  id: 503838841     # require song id / playlist id / album id / search keyword
  fixed: false      # 开启吸底模式
  autoplay: false   # 是否自动播放
  theme: '#42b983'
  loop: 'all'       # 音频循环播放, 可选值: 'all', 'one', 'none'
  order: 'random'   # 音频循环顺序, 可选值: 'list', 'random'
  preload: 'auto'   # 预加载,可选值: 'none', 'metadata', 'auto'
  volume: 0.7       # 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
  listFolded: true  # 列表默认折叠

2、matery模板配置文件的修改

matery目录下的_config.yml,具体路径:~/work/blog/themes/hexo-theme-matery/

2.1 菜单

# main menu navigation url and icon
# 配置菜单导航的名称、路径和图标icon.
menu:
  Index:
    url: /
    icon: fas fa-home
  Tags:
    url: /tags
    icon: fas fa-tags
  Categories:
    url: /categories
    icon: fas fa-bookmark
  Archives:
    url: /archives
    icon: fas fa-archive
  About:
    url: /about
    icon: fas fa-user-circle
  # Contact:   #联系方式
  #   url: /contact
  #   icon: fas fa-comments
  # Friends:
  #   url: /friends #友情链接
  #   icon: fas fa-address-book
  # 二级菜单写法如下
  #Medias:
  #  icon: fas fa-list
  #  children:
  #    - name: Musics
  #      url: /musics
  #      icon: fas fa-music
  #    - name: Movies
  #      url: /movies
  #      icon: fas fa-film
  #    - name: Books
  #      url: /books
  #      icon: fas fa-book
  #    - name: Galleries
  #      url: /galleries
  #      icon: fas fa-image

菜单样式如下:

二级菜单默认是关闭的,我这里也没开启。

2.2 站点运行开始时间

默认是关闭的,可以开启,并设置当前时间。

# Website start time.
# 站点运行开始时间.
time:
  enable: true
  year: 2021 # 年份
  month: 04 # 月份
  date: 26 # 日期
  hour: 00 # 小时
  minute: 00 # 分钟
  second: 00 # 秒

显示位置及样式如下:

2.3 首页封面轮播图

保持默认

# Index cover carousel configuration.
# 首页封面轮播图的相关配置.
cover:
  showPrevNext: true # 是否显示左右切换按钮. Whether to display the left and right toggle buttons.
  showIndicators: true # 是否显示指示器. # Whether to display the indicators
  autoLoop: true # 是否自动轮播. Whether it is automatically rotated.
  duration: 120 # 切换延迟时间. Switching delay time.
  intervalTime: 5000 # 自动切换下一张的间隔时间. Automatically switch the interval of the next one.
  useConfig: false # 是否使用配置文件, 在 _data/covers.json 下配置推荐文章, false则使用主题在文章中的配置 cover coverImg
  # useConfig 使用方式: 将主题 hexo-theme-matery/source/_data/covers.json 移动到 my-blog/source/_data/下修改配置即可

2.4 配置首页显示“梦想”语句

# index page dream text,
# 配置首页显示"梦想"的语句.
dream:
  enable: true  #觉得没必要,可以关闭。
  showTitle: true
  title: 关于梦想
  text: 做人如果冇梦想,咁同条咸鱼有咩分别呢?

设定后样式如下

2.5 是否在首页显示音乐

# Whether to display the musics.
# 是否在首页显示音乐.
music:
  enable: true  #觉得没必要,可以掉。
  title: #非吸底模式有效
    enable: true
    show: 听听音乐
  autoHide: true    # hide automaticaly
  server: netease   #require	music platform: netease, tencent, kugou, xiami, baidu
  type: playlist    #require song, playlist, album, search, artist
  id: 503838841     #require	song id / playlist id / album id / search keyword
  fixed: true       # 开启吸底模式
  autoplay: false   # 是否自动播放
  theme: '#42b983'
  loop: 'all'       # 音频循环播放, 可选值: 'all', 'one', 'none'
  order: 'random'   # 音频循环顺序, 可选值: 'list', 'random'
  preload: 'auto'   # 预加载,可选值: 'none', 'metadata', 'auto'
  volume: 0.7       # 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
  listFolded: true  # 列表默认折叠
  hideLrc: true     # 隐藏歌词

显示位置如下

2.6 是否在首页显示视频

保持默认的关闭状态

# Whether to display the videos.
# 是否在首页显示视频.
video:
  enable: false
  showTitle: true
  title: 精彩视频
  url: # url和iframeUrl其中一个必填
  iframeUrl: #在bilibili或者爱奇艺分享时选择iframe,然后填那个url来这里,sample: //player.bilibili.com/player.html?aid=669520137&bvid=BV1oa4y1L7mw&cid=234543483&page=1
  pic:
  thumbnails:
  height: # 如:400
  autoplay: false # 是否自动播放
  theme: '#42b983'
  loop: false # 是否循环播放
  preload: 'auto' # 预加载,可选值: 'none', 'metadata', 'auto'
  volume: 0.7

2.7 是否显示推荐文章的标题

默认关闭

# Whether to display the title of the recommended posts
# 是否显示推荐文章的标题
recommend:
  enable: true
  showTitle: true
  useConfig: false # 是否使用配置文件, 在 _data/recommends.json 下配置推荐文章, false则会走主题配置的 top 属性
  # useConfig 使用方式: 将主题 hexo-theme-matery/source/_data/recommends.json 移动到 my-blog/source/_data/下修改配置即可

如果保持默认配置,需要替换掉favicon.pnglogo.png两个文件。
也可以修改到指定文件名称。

# Configure website favicon and LOGO
# 配置网站favicon和网站LOGO
favicon: /favicon.png
logo: /medias/logo.png

2.9 首页banner中的第二个按钮的配置

# The configuration of the second button in the home banner,
# including the display name of the button, the font awesome icon, and the hyperlink to the button.
# 首页 banner 中的第二个按钮的配置,包括按钮的显示名称、font awesome图标和按钮的超链接.
indexbtn:
  enable: false #如果需要,可以开启。
  name: Github
  icon: fab fa-github-alt
  url: https://github.com/doghoo

关闭后效果

2.10 首页个人信息配置

个人信息,修改成自己的。

# The configurations of the second line of home banner
# icon/button will not show up if you leave the corresponding socialLink empty
# 首页 banner 中的第二行个人信息配置,留空即不启用
socialLink:
  github:  https://github.com/doghoo
  email: 94190234@qq.com
  facebook: # https://www.facebook.com/xxx
  twitter: # https://twitter.com/xxx
  qq: 94190234
  weibo: # https://weibo.com/xxx
  zhihu: # https://www.zhihu.com/xxx
  rss: true # true、false

2.11 文章TOC功能

文庄目录,建议打开。

# Whether to activate the Post TOC, and Configure which title types are supported by TOC support.
# You can add `toc: false` to the Front-matter of a post to turn off the TOC.
# 是否激活文章 TOC 功能,并配置TOC支持选中哪些标题类型,这是全局配置。
# 可以在某篇文章的 Front-matter 中再加上`toc: false`,使该篇文章关闭TOC目录功能
toc:
  enable: true
  heading: h2, h3, h4
  collapseDepth: 0 # 目录默认展开层级
  showToggleBtn: true # 是否显示切换TOC目录展开收缩的按钮

2.12 代码块相关

保持默认

# 代码块相关
code:
  lang: true # 代码块是否显示名称
  copy: true # 代码块是否可复制
  shrink: true # 代码块是否可以收缩
  break: false # 代码是否折行

2.13 是否激活打赏功能

保持默认配置,需要去替换掉 wechat.pngalipay.jpg 两个文件,改成自己的二维码, 路径 source/medias/reward

# 是否激活文章末尾的打赏功能,默认激活(你替换为的你自己的微信、支付宝二维码图片、或者使用网络图片也可以).
reward:
  enable: true
  title: 你的赏识是我前进的动力
  wechat: /medias/reward/wechat.png
  alipay: /medias/reward/alipay.jpg

2.14 是否激活复制功能

# Whether to activate the copyright information of the blog and author when copying the post content.
# minCharNumber: Approve copyright information by copying at least how many characters.
# 是否激活复制文章时追加博客和作者的版权信息.
copyright:
  enable: true #保持默认,则不开启。
  minCharNumber: 120 # 至少复制多少个字符就追加版权信息.
  description: 本文章著作权归作者所有,任何形式的转载都请注明出处

2.15 是否激活mathjax

默认不开启。

# 是否激活mathjax数学公式,这是全局配置,但文章仍然不会都开启mathjax渲染,
# 考虑到mathjax加载比较耗时,你还需要在需要渲染的文章的Front-matter中再加上`mathjax: true`才行.
mathjax:
  enable: false
  cdn: https://cdn.bootcss.com/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML

2.16 字数统计等

# 文章字数统计、阅读时长、总字数统计等
# 文章信息--若要开启文章字数统计,需要安装 hexo-wordcount 插件,安装命令: `npm i --save hexo-wordcount`
postInfo:
  date: true # 发布日期
  update: false # 更新日期
  wordCount: true # 文章字数统计
  totalCount: false # 站点总文章字数
  min2read: true # 文章阅读时长
  readCount: true # 文章阅读次数

开启后效果如下

2.17 是否点击显示’爱心’效果

# 是否激活点击页面的'爱心'效果,默认激活.
clicklove:
  enable: false

2.18 关于页面配置

关于页面也是个人信息,所以要修改。

# 在”关于”页面中配置个人信息,包括头像、职业和个人介绍.
profile:
  avatar: /medias/avatar.jpg
  career: Software Engineer
  introduction: 

# config my projects informations in about page.
# If you don't want to display this `My Projects` content, you can deactivate or delete this configuration.
# 在“关于”页面配置"我的项目"信息,如果你不需要这些信息则可以将其设置为不激活或者将其删除.
myProjects:
  enable: false
  data:
    hexo-theme-matery:
      icon: fas fa-file-alt
      iconBackground: 'linear-gradient(to bottom right, #66BB6A 0%, #81C784 100%)'
      url: http://github.com/blinkfox/hexo-theme-matery
      desc: This is a Hexo blog theme with 'Material Design' and responsive design.
    Fenix:
        icon: fas fa-database
        iconBackground: 'linear-gradient(to bottom right, #F06292 0%, #EF5350 100%)'
        url: https://github.com/blinkfox/fenix
        desc: 这是 Spring Data JPA 复杂或动态 SQL 查询的扩展库。
    typora-vue-theme:
        icon: fas fa-file-alt
        iconBackground: 'linear-gradient(to bottom right, #29B6F6 0%, #1E88E5 100%)'
        url: https://github.com/blinkfox/typora-vue-theme
        desc: This is a typora theme inspired by Vue document style.

# config my skills informations in about page.
# If you don't want to display this `My Skills` content, you can deactivate or delete this configuration.
# 在“关于”页面配置"我的技能"信息,如果你不需要这些信息则可以将其设置为不激活或者将其删除.
mySkills:
  enable: true
  data:
    C/C++:
      background: 'linear-gradient(to right, #FF0066 0%, #FF00CC 100%)'
      percent: 85%
    Qt:
      background: 'linear-gradient(to right, #9900FF 0%, #CC66FF 100%)'
      percent: 80%
    Linux:
      background: 'linear-gradient(to right, #2196F3 0%, #42A5F5 100%)'
      percent: 80%
    Go:
      background: 'linear-gradient(to right, #00BCD4 0%, #80DEEA 100%)'
      percent: 70%
    SQL:
      background: 'linear-gradient(to right, #4CAF50 0%, #81C784 100%)'
      percent: 90%
    嵌入式:
      background: 'linear-gradient(to right, #FFEB3B 0%, #FFF176 100%)'
      percent: 75%

# config gallery of my photos in about page.
# If you don't want to display this `Gallery` content, you can deactivate or delete this configuration.
# 在“关于”页面配置"我的相册"图片,如果你不需要这些信息则可以将其设置为不激活或者将其删除.
myGallery:
  enable: true
  data:
    - /medias/featureimages/0.jpg
    - /medias/featureimages/1.jpg
    - /medias/featureimages/2.jpg

# Whether to display post-calender in the `archive` page
# 设置在归档页面中是否显示'文章日历'控件
postCalendar: true

2.19 归档页面配置

# Whether to display post-calender in the `archive` page
# 设置在归档页面中是否显示'文章日历'控件
postCalendar: true

开启后样式如下

2.20 留言功能

全部保持默认的关闭状态。

2.21 阅读文章密码验证功能

默认不开启

# 阅读文章的密码验证功能,如要使用此功能请激活该配置项,并在对应文章的Front-matter中写上'password'的键和加密后的密文即可.
# 请注意:为了保证密码原文不会被泄露到网页中,文章的密码必须是通过'SHA256'加密的,这样就不会被破解.
verifyPassword:
  enable: false
  promptMessage: 请输入访问本文章的密码
  errorMessage: 密码错误,将返回主页!

2.22 不蒜子网站统计

默认开启

# busuanzi(http://busuanzi.ibruce.info/) website statistics
# 不蒜子(http://busuanzi.ibruce.info/) 网站统计
busuanziStatistics:
  enable: true
  totalTraffic: true # 总访问量
  totalNumberOfvisitors: true # 总人次

2.23 副标题打字效果

# 打字效果副标题.
# 如果有符号 ‘ ,请在 ’ 前面加上 \
subtitle:
  enable: false #可以关闭
  loop: true # 是否循环
  showCursor: true # 是否显示光标
  startDelay: 300 # 开始延迟
  typeSpeed: 100 # 打字速度
  backSpeed: 50 # 删除速度
  sub:
   - 从来没有真正的绝境, 只有心灵的迷途
   - Never really desperate, only the lost of the soul

开启后效果如下:

2.24 ICP备案

如有备案,建议启用。

#ICP备案信息尾部显示
icp:
  enable: true
  url: https://beian.miit.gov.cn # 备案链接
  text: 京ICP备16019129号-1 # 备案信息

图参见2.2

2.25 CDN访问加速

开启需要参考如下配置方法

# CDN访问加速 
# 第一次使用本功能,一定要先配置url,再`hexo cl && hexo g && hexo d`部署到GitHub的仓库,注意!必须是GitHub的仓库!
# 如果必须要使用国内的coding或者gitee,可以采用双部署,同时将网站部署到两个仓库(其中一个必须是GitHub的仓库)
# URL配置规则(例子如下): https://cdn.jsdelivr.net/gh/你的GitHub用户名/你的仓库名
# 如果想关闭此功能,将 url地址 注释或删除即可!
#
# 注:配置了此项,就代表着本地调试的时候,网站依然会去GitHub请求资源(原来的资源),本地调试的时候记得将 此项配置 注释或者删除掉
# 更多关于访问速度优化,请查看:https://blog.sky03.cn/posts/42790.html
# 注:jsdelivr可以自动帮你生成.min版的js和css,所以你在上面设置js及css路径中可以直接写.min.xxx
jsDelivr:
  url: # https://cdn.jsdelivr.net/gh/skyls03/skyls03.github.io

3、其他修改

/source/categories/index.md

---
title: categories
date: 2021-04-26 10:48:57
type: "categories"
layout: "categories"
---

/source/tags/index.md

---
title: tags
date: 2021-04-26 10:48:58
type: "tags"
layout: "tags"
---

/source/about/index.md

---
title: about
date: 2021-04-26 10:48:59
type: "about"
layout: "about"
---

/source/contact/index.md

---
title: contact
date: 2021-04-26 10:49:01
type: "contact"
layout: "contact"
---

/source/friends/index.md

---
title: friends
date: 2021-04-26 10:49:02
type: "friends"
layout: "friends"
---

/source/404/index.md

---
title: 404
date: 2021-04-26 10:49:06
type: "404"
layout: "404"
description: "Oops~,我崩溃了!找不到你想要的页面 :("
---

source 目录下新建 _data 目录,在 _data 目录中新建 friends.json 文件,文件内容如下所示:

[{
    "avatar": "http://image.luokangyuan.com/4027734.jpeg",
    "name": "闪烁之狐",
    "introduction": "Matery的作者",
    "url": "http://blinkfox.com/",
    "title": "前去学习"
}, {
    "avatar": "https://godweiyang.com/medias/avatars/avatar.jpg",
    "name": "godweiyang",
    "introduction": "分享深度学习与NLP算法",
    "url": "https://godweiyang.com",
    "title": "前去学习"
}]

/scaffolds/post.md修改为如下代码:

---
title: {{ title }}
date: {{ date }}
author: 
img: 
coverImg: 
top: false
cover: false
toc: true
mathjax: false
password:
summary:
tags:
categories:
---
属性名 默认值 建议
title 自动生成 不变
date 自动生成 不变
img featureImages中的某一张 文章特征图,可以通过URL指定
top true 文章置顶,一般选false
cover false 是否加入首页轮播封面中
coverImg 如果cover=true,则需要指定封面图
password 一般不需要密码
toc true 是否开启文章目录,建议关闭
summary 文章摘要
categories 文章分类,一篇文章只属于一个分类
tags 文章标签,一篇文章可以多个标签

三、运行

1、新建文章

hexo new hello-world

~/work/blog/source/_posts/目录下会生成一个hello-world.md文件

2、生成静态网页

hexo clean
hexo g
hexo s

第一步,clean, 清除上次生成的页面;
第二步,g(generate),生成静态页面;
第三步,s(server),在本地建立服务可以查看静态网页。

3、部署到GitHub

hexo d

d(deploy),部署页面到GitHub上,具体设置见_config.ymlDeployment部分。除了可以部署到GitHub上,还可以部署到其他地方。

git如果配置了CNAME绑定域名,需要在public下创建一个CNAME文件,保存绑定的域名,见下图:

End.

Thanks!


文章作者: doghoo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 doghoo !
  目录