从零开始建立个人博客II:Hexo基础
Hexo基础:安装、初始化、目录结构、基本命令、文章发布
安装Hexo
安装Node.js:下载解压即可,注意将其目录添加到PATH中
安装git:sudo apt install git
安装hexo:npm install -g hexo-cli
(注意是hexo-cli)
升级npm:npm install -g npm
升级hexo:npm update -g
#升级所有npm全局模块
升级Node.js可自行覆盖安装或借助模块n
或nvm
:
npm install -g n
#安装模块n
n stable
#升级nodejs到最新稳定版
- npm默认会将模块安装到当前目录下的node_modules文件夹(local);不带模块名,则npm读取package.json中的依赖信息,安装相关模块。
- 参数-g开启全局模式,安装模块到nodejs根目录下的node_modules;全局模式下不带模块名,则会当前目录作为模块安装到nodejs根目录。
- 更多信息查看文档
man
/npm help
npm-folders / npm-install / npm-init / package.json。
初始化
1 | cd < 博客目录 > |
安装好各种依赖模块后,可在博客目录下的package.json
中看到所有已安装的npm模块列表: npm install ...
默认会将安装的模块及依赖信息加入package.json中的依赖(dependencies)字段。而只要有package.json,执行npm install
(不指定模块名),便可自动安装其中所列的所有依赖模块到当前目录。
网上很多文章中会加一个–save参数,意思同样是要求在安装时将模块信息加入package.json。在npm 5.0.0以后这已经是默认操作,所以已不再需要该参数。而如果不希望保存相关信息可使用–no-save参数。
目录结构
1 | |──node_modules/ #hexo模块 |
source是源文件目录:所有文章的markdown源文件及插入的图片等资源的存放目录。该目录下除_posts
文件夹之外,开头命名为 _ (下划线)
的文件 / 文件夹以及隐藏的文件会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,其他文件会被直接拷贝过去。
themes是主题目录,默认主题landscape太难看,推荐Tranquilpeak
、NexT
、React
、Cactus
等
config.yml是配置文件,用于设置发布站点(名称, 网址, 链接格式)、主题等信息。具体可查看配置|Hexo,更多设置查看 从零开始建立个人博客III:Hexo配置
常用命令
注意:以下所有命令都只能在执行hexo init的那个目录下执行
1 | hexo new [layout] "post_title" #由模板新建md文件,layout默认为post |
发布
Hexo支持多种发布方式,包括Git、Heroku、OpenShift、Rsync、FTPSync等,还可以同时进行多个发布。
对于Github Pages,发布方式为Git,使用前需要预先做以下设置:
- 设置Github的远程登陆(将SSH密钥给github)
- 建立Github Pages的仓库( username.github.io )
- 安装
hexo-deployer-git
,用于Hexo调用git - 配置Git:设置user.name及user.email(全局或局部均可)
- 在Hexo的配置文件(_config.yml)中写入发布类型及Github Pages仓库地址信息
以上都设置好后,Hexo便可自动调用git推送更新,使用时无需手动执行任何git命令,直接hexo deploy即可一键发布
此外可以同时设置多个远程仓库,一次性push到多处,比如同时使用Github和Gitlib,操作完全类似。