本地启动、部署

官方部署文档

ps:我们需要部署到自己的Linux上,所以需要先把页面生成好,才丢到Linux服务器上。

如果想自动部署,可以看下这位博主的ftp相关的文章:【虚拟机上使用Hexo指北

启动项目

1
hexo server

清理缓存

1
hexo clean

清除静态页并重新生成新页面(Linux使用run.js启动必须执行这步)

1
hexo clean && hexo generate

清除静态页并重新生成新页面

1
hexo deploy

部署项目

Linux安装Nodejs可以直接参考文章【Linux下安装NodeJS

安装Hexo

Linux安装Hexo脚手架

1
npm install hexo-cli -g

Linux安装Hexo服务

1
npm install hexo-server --save

安装pm2管理工具

具体pm2操作文档使用:【关于pm2命令的使用指南

1
npm install -g pm2

创建一个hexo_run.js

1
2
3
4
5
6
7
8
9
10
//JavaScript
const { exec } = require('child_process')
exec('hexo server -p 8000',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})

启动pm2管理工具

1
2
3
cd /home/smart/smart-blog-web

pm2 start hexo_run.js

项目结构、配置

项目结构

  • 【node_modules】:依赖包
  • 【scaffolds】:生成文章的一些模板
  • 【source】:用来存放你的文章
  • 【themes】:主题
  • 【.npmignore】:发布时忽略的文件(可忽略)
  • 【_config.landscape.yml】:主题的配置文件
  • 【_config.yml】:博客的配置文件
  • 【package.json】:项目名称、描述、版本、运行和开发等信息
  • 【static】:静态文件:图片、音视频、文件

source内容

  • 标签页:/source/tags/index.md
  • 分类页:/source/categories/index.md
  • 友情链页:/source/link/index.md
  • 友情链页-数据:/source/_data/link.yml

Pgae顶部图参数

参考:https://tzy1997.com/articles/hexo1605/

  • index_img 主页的 top_img
  • default_top_img 默认的 top_img,当页面的 top_img 没有配置时,会显示 default_top_img
  • archive_img 归档页面的 top_img
  • tag_img tag子页面 的 默认 top_img
  • tag_per_img tag子页面的 top_img,可配置每个 tag 的 top_img
  • category_img category 子页面 的 默认 top_img
  • category_per_img category 子页面的 top_img,可配置每个 category 的 top_img

新建页面

创建html文件

1
hexo new page 文件夹名称

创建html页面

1
hexo new post 文件名称