1 hexo框架搭建
1.1 了解hexo
首先,介绍一下hexo,这是一个专门用于博客类网站的开源项目,类似于之前的wordpress。
hexo中文官网:hexo.io GitHub 地址 https://github.com/hexojs/hexo
1.2 hexo依赖环境Node.js的安装
Hexo 是使用 Node.js 开发的,所以我们安装 Hexo 之前需要先安装 Node.js 环境。
下载Node.js
Node.js 中文官网:nodejs.org
安装
默认安装即可。
测试是否安装成功:
命令行输入,或git bash终端输入
npm -v
正常会输出版本号,我装的是10.1.0
1.3 hexo依赖环境Git
已安装,不再赘述,可参考网络文章自行安装,包括用户名及邮箱的配置,ssh公钥私钥的生成,及将公钥配置到github或者gittee.
1.4 安装Hexo
- 本地磁盘新建一个文件夹,例如hexo.
- 进入hexo目录,gitbash进入此目录,输入以下命令:
#安装hexo框架 npm install -g hexo-cli #初始化文件夹 hexo init #安装 hexo 依赖包 npm install
- 查看本地博客效果
打开浏览器,输入http://localhost:4000 显示博客主页。#生成静态网站 hexo g #启动服务器 hexo s
1.5 更换Hexo博客主题
- 在github官网搜索hexo-theme
- 将喜欢的主题仓库clone到hexo/themes下
- 修改hexo目录下_config.yml文件
# Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ #theme: landscape #theme: butterfly theme: matery
2 在github上搭建
2.1 注册github
官网 github.com,速度比较慢。
2.2 创建github pages仓库
pages仓库也是一个普通的仓库,但是有个特别的地方需要注意
仓库:<用户名>.github.io
属性必须是public。
其他创建过程与创建普通仓库一样。
2.3 测试github pages页面
- 在仓库目录下创建一个index.html文件,内容如下
<h1>hello my blog !</h1>
- 浏览器打开https://<你的用户名>.github.io,可以查看到hello my blog !字样,即说明github pages 仓库搭建成功。
2.4 github pages发布
2.4.1 手动发布
如果你是前端的开发人员,就可以直接将github远程仓库的代码跟本地关联
2.4.2 hexo自动发布
利用hexo的发布插件,我们只需要修改markdown格式的文档,hexo将自动装换位静态网页。
- 安装插件
npm install hexo-deployer-git
- 配置 hexo目录下_config.yml文件
# 其中 xxxxxx 是前面多次用到的你的GitHub用户名 deploy: type: git repo: git@github.com:xxxxxx/xxxxxx.github.io.git branch: main
- 编写一篇文章
会在hexo/source/_post/目录下生成[文章名称].md。如果使用hexo的发布机制,需要学习markdown的几个简单语法,比如标题,代码块等等,还有很多高级功能需要自己去发现,学习,使用。hexo new "[文章名称]"
- 发布
# 注意最后变成d了,原来的s表示服务起在本地,现在的d表示部署在远端 hexo g && hexo d
3 在gitee上搭建
3.1 注册gitee账号
官网,https://gitee.com/,自行注册账号, 此处不赘述。
3.2 创建gitee pages 仓库
- 首先创建一个普通的仓库,创建一个空白仓库后,记得在创建页面添加readMe文件(这一点很重要,否则【服务】中没有gitee pages选项),然后选择服务中的gitee pages选项。这时你会发现需要你进行账号实名。
- 根据gitee要求上传实名验证的照片。
- 后续….等我实名认证了再更新…
4 修改主题
4.1 markdown的完美支持
到这里,会发现使用markdown编写的文章,与注释相关的显示会不正常,此时就需要参考主题文件下的_config.yml文件提到的
# 图表绘制插件
# 建议更换更换hexo-renderer-markdown-it引擎。参考下面链接
# https://github.com/hexojs/hexo-renderer-markdown-it
# https://github.com/hexojs/hexo-renderer-markdown-it/wiki/Advanced-Configuration
# 使用教程: https://blog.17lai.site/posts/cf0f47fd/#Mermaid
# 安装配置方法
# yarn remove hexo-renderer-marked
# yarn add hexo-renderer-markdown-it hexo-tag-mermaid
# 注意:hexo-renderer-markdown-it 比默认引擎更快,可选择插件较多,请认真看上面两个链接教程。
# mermaid语法教程 https://mermaid-js.github.io/mermaid/#/
# 使用方法:
# 在post文章中填写mermaid语句,需要使用{% mermaid %} 包裹
# {% mermaid %}
# [mermaid 语句正文]
# {% endmermaid %}
# 样例如下所示:
# {% mermaid %}
# graph TD
# A[Christmas] -->|Get money| B(Go shopping)
# B --> C{Let me think}
# C -->|One| D[Laptop]
# C -->|Two| E[iPhone]
# C -->|Three| F[Car]
# {% endmermaid %}
# mermaid chart。 依赖hexo-tag-mermaid
其实我们有看懂上面的说明,那个使用教程说的很多,并没有解决所遇到的问题,但是找到了其他的办法:
修改hexo目录(非主题目录)下的_config.yml文件,将highlight enable设置为false,prismjs enable设置为true
highlight:
enable: false
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
prismjs:
enable: true
preprocess: true
line_number: true
tab_replace: ''
效果就是当前网页显示的效果,highlight.js 默认开启,用作 Hexo 的服务端高亮组件。如果你需要在浏览器端运行 highlight.js,请把它关闭。
PrismJS 默认禁用。启用 PrismJS 前应设置 highlight.enable 为 false。
Hexo 内建的 PrismJS 支持浏览器端高亮(preprocess 设置为 false)和服务器端高亮(preprocess 设置为 true)两种方式。
使用服务器端高亮时(preprocess 设置为 true),只需要在站点引入 Prismjs 的主题(CSS 样式表)即可;而使用浏览器端高亮时(preprocess 设置为 false),需要将 JavaScript 文件也引入。
4.2 文章的属性设置
配置选项 | 默认值 | 描述 |
---|---|---|
title | Markdown 的文件标题 |
文章标题,强烈建议填写此选项 |
date | 文件创建时的日期时间 | 发布时间,强烈建议填写此选项,且最好保证全局唯一 |
author | 根 _config.yml 中的 author |
文章作者 |
img | featureImages 中的某个值 |
文章特征图,推荐使用图床(腾讯云、七牛云、又拍云等)来做图片的路径.如: http://xxx.com/xxx.jpg |
top | true |
推荐文章(文章是否置顶),如果 top 值为 true ,则会作为首页推荐文章 |
hide | false |
隐藏文章,如果hide 值为true ,则文章不会在首页显示 |
cover | false |
v1.0.2 版本新增,表示该文章是否需要加入到首页轮播封面中 |
coverImg | 无 | v1.0.2 版本新增,表示该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片 |
password | 无 | 文章阅读密码,如果要对文章设置阅读验证密码的话,就可以设置 password 的值,该值必须是用 SHA256 加密后的密码,防止被他人识破。前提是在主题的 config.yml 中激活了 verifyPassword 选项 |
toc | true |
是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。前提是在主题的 config.yml 中激活了 toc 选项 |
mathjax | false |
是否开启数学公式支持 ,本文章是否开启 mathjax ,且需要在主题的 _config.yml 文件中也需要开启才行 |
summary | 无 | 文章摘要,自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要 |
categories | 无 | 文章分类,本主题的分类表示宏观上大的分类,只建议一篇文章一个分类 |
tags | 无 | 文章标签,一篇文章可以多个标签 |
keywords | 文章标题 | 文章关键字,SEO 时需要 |
reprintPolicy | cc_by | 文章转载规则, 可以是 cc_by, cc_by_nd, cc_by_sa, cc_by_nc, cc_by_nc_nd, cc_by_nc_sa, cc0, noreprint 或 pay 中的一个 |
下面是例子
在线加密网站 选择SHA256 https://tool.oschina.net/encrypt?type=2
---
title: 文件属性
date: 2023-09-25 16:53:56
author: liming
#img: /source/images/test.jpg
top: false
hide: true
cover: true
coverImg: /source/images/03.jpg
# password: 1b0f671a4a0674a84c1177bcc590fc6641708DFS7791a6dc25bedc60eddc3b416(乱码不可用)
toc: false
mathjax: false
summary: 这篇文章需要输入密码,请联系作者
categories: Markdown
tags:
- Typora
- Markdown
---
5 个人总结体会
主题的配置主要参考主题的readMe文档,而博客网站的配置主要是hexo目录下的_config.yml文件的修改。
6 参考(友情链接)
因为文章主要是为了做一个记录,所以不是很详尽,如果有不明白处,可以联系本人,也可以访问
半亩方塘-博客搭建