选择Hexo的理由Hexo 是一款基于 Node.js 的静态网站生成器,拥有丰富的插件生态和主题,可以用于快速创建博客和文档网站,并且通过简单的命令就能将生成的网页上传到 GitHub Pages 上。Hexo具有以下特点:
静态网站生成: Hexo 生成纯静态 HTML 文件,无需服务器端渲染,从而提高性能。
Markdown 支持: 支持 Markdown 语法,允许用户轻松撰写内容。
主题系统: 提供广泛的主题选择,用户可以自定义网站的外观和布局。
插件生态系统: 拥有丰富的插件,可扩展 Hexo 的功能,添加各种特性,如社交分享、搜索功能等。
命令行界面: 通过命令行界面管理网站,提供简洁高效的工作流程。
页面展示 - 首页
页面展示-归档
页面展示-分类/标签
页面展示-关于
页面展示-详情
页面展示-RSS该链接可以直接由Fluent Reader等软件进行订阅
页面展示-搜索
Hexo安装安装基础框架安装 Hexo(前提是安装过Nodejs和Git,此处省略)
$ npm install hexo-cli -g
非Windows用户安装$ brew install hexo
初始化一个项目$ hexo init blog
$ cd blog
此时项目结构如下:
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
_config.yml: 网站配置信息
package.json:应用程序版本信息
scaffolds:Hexo 会根据 scaffold 来创建文件
source:资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes:主题文件夹。Hexo 会根据主题来生成静态页面。
启动服务默认端口4000
$ hexo server
安装主题主题可以在Themes | Hexo网站找,找到心仪的主题后可以将其代码拉下来并放在themes文件夹下
然后根据主题教程进行配置。本博客的主题:snark
同时记得将主目录下的 _config.yml 文件中的 theme修改为主题名称
安装搜索插件需要在主目录下安装 hexo-generator-search 这款插件。(指令在主目录输入,不是主题所在目录)
npm install hexo-generator-search --save
然后修改博客根目录下的 _config.yml 其中中search.xml会在生成代码时候自动创建
search:
path: search.xml
安装RSS插件需要安装 hexo-generator-feed 插件来生成。
npm install hexo-generator-feed --save
同样也需要修改主目录下的 _config.yml
feed:
type: atom
path: atom.xml
limit: 20
hub:
content: true
content_limit: 140
content_limit_delim: ' '
order_by: -date
自定义代码高亮要使用自定义代码高亮,可以先访问该网站 并选择自己需要高亮的语言以获取最佳的体验。下载下来的压缩包中找到 highlight.pack.js 文件,将其重命名为 highlight.min.js 后替换放入 /source/js/ 文件夹下,然后关闭自带的 highlight。
highlight:
enable: false
如果需要其他主题高亮,需要修改 _config.yml 中的配置。
syntax:
enable: true
global: true
theme: xcode
部署
blog 仓库与远端仓库绑定
git remote remove origin
git remote add origin 你的仓库地址
安装部署插件
npm install hexo-deployer-git --save
生成代码
hexo g
部署到远程(可能需要输入GitHub账号密码)
修改部署配置文件
url: http://marigweizhi.github.io
root: /
deploy:
type: 'git'
repo: https://github.com/MarigWeizhi/marigweizhi.github.io.git
branch: master
开始部署
hexo d
GitHub配置
仓库名称必须为:用户名.github.io
1. 进入仓库设置 -> 仓库名称设置为 用户名.github.io
2. Pages -> Branch 选择 提交的代码分支,点保存,等待1分钟自动部署静态页面到 用户名.github.io
遇到的问题图片显示异常安装相关插件
npm install https://github.com/CodeFalling/hexo-asset-image --save
# 最好不要用下面的指令,最后生成的路径会有问题
npm install hexo-asset-image --save
修改配置
post_asset_folder: true
将图片存放在.md文件同级的同名文件夹下,并引用
引用方式如下图所示
修改完成,重新启动即可
hexo clean
hexo g
hexo s
ps: 尽量不要有中文路径,本地没问题,远程也有可能出问题
前端报错,资源文件路径错误
hljs.initHighlightingOnLoad();
检查发现是配置文件的root配置错了,修改成/后,重新生成代码hexo g 重新部署hexo d 修复
hljs.initHighlightingOnLoad();
文章多标签使用数组表示即可
tags: ['bug','406']
语法警告Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
Recommendation: math.div($mobile-head-height, 2) or calc($mobile-head-height / 2)
找到代码所在位置 将$mobile-head-height / 2 改为 calc($mobile-head-height / 2)即可
博客更新流程
创建新文章,设置分类标签,并编辑内容
hexo new "My New Post"
生成代码
hexo g
启动服务,本地检查内容格式
hexo server
部署到Github
hexo d
参考链接官方文档 | Hexo