Hexo 与 Hexo-cli 的关系、入门教程

Hexo 与 Hexo-cli 的关系



要解释 Hexo 与 Hexo-cli 的关系 和 区别,先看2个项目:
一个是 hexo,一个是 hexo-cli ,那么,hexo 与 hexo-cli 2个项目是什么关系?有什么区别?


从hexo官方的 readme (https://github.com/hexojs/hexo )的使用说明来看,npm install hexo-cli -g 安装的都是 hexo-cli ,没看到哪里使用了 hexo 模块。
hexo-cli git 仓库中,package.json 也没有看到它依赖 hexo这个模块,package-lock.json 也没有看到 hexo 的这个npm模块。
那么 hexo 到底做了什么?完全也没看到依赖关系,hexo不见踪影。只看到 hexo-cli 的存在。

摸索一会儿之后,后来,我摸清楚hexo 与 hexo-cli 的相互关系了。
hexo-cli 命令行,npm install hexo-cli -g 安装之后,然后就可以创建 hexo 项目了:
hexo init blog
但是,生成项目之后,项目里面依赖的模块就是 hexo 模块了。
这样,关系就清晰了。
hexo cli,负责创建 hexo 工程,创建了工程之后,就hexo-cli就全身而退了。hexo-cli 把接力棒交给了 hexo。
hexo 模块,负责真正的项目管理工作(生成静态页面、预览等)。


创建项目之后,在项目根目录下,package.json 能看到依赖:"hexo": "^3.2.0"
也就是说,项目创建后,依赖的就是 hexo 了,hexo 负责全部的工作了。


English:
Hexo-cli is a cli service for create a project.
when project was created, all the things doing with hexo module.
you can see the hexo module and version in /package.json file in a new hexo project.



Hexo 入门教程(创建项目、启动服务器)


创建项目示例和log输出:
命令:
hexo init site

INFO Cloning hexo-starter to \hexo-project\site
Cloning into '\hexo-project\site'...
remote: Enumerating objects: 68, done.
remote: Total 68 (delta 0), reused 0 (delta 0), pack-reused 68
Unpacking objects: 100% (68/68), done.
Submodule 'themes/landscape' (https://github.com/hexojs/hexo-theme-landscape.git) registered for path 'themes/landscape'
Cloning into '\hexo-project\site\themes\landscape'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 843 (delta 0), reused 0 (delta 0), pack-reused 841
Receiving objects: 100% (843/843), 2.55 MiB | 39.00 KiB/s, done.
Resolving deltas: 100% (445/445), done.
Submodule path 'themes/landscape': checked out '73a23c51f8487cfcd7c6deec96ccc7543960d350'
INFO  Install dependencies
npm WARN deprecated postinstall-build@5.0.3: postinstall-build's behavior is now built into npm! You should migrate off of postinstall-build and use the new `prepare` lifecycle script with npm 5.0.0 or greater.

> nunjucks@3.1.3 postinstall \hexo-project\site\node_modules\nunjucks
> node postinstall-build.js src

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 420 packages in 14.325s
INFO Start blogging with Hexo!


命令:
cd site
hexo server
然后就可以在电脑预览你的效果了。


目录说明:
\site\source\_posts\
这个目录下面放 html、md(markwodn) 都是可以实时看到自己写的文章的。
hexo 同时既支持html富文本写文章,也支持 md 文件写文章。


命令:
hexo new "hello aaa"
这个命令可以创建文章,创建的文章会在这里。
\site\source\_posts\hello-aaa.md


tag:
hexo and hexo-cli relationship
hexo 与 hexo-cli 的关系 和 区别
hexo 与 cli 有什么区别、有什么关系
Node.js
Hexo.js
blog
CMS
hexo-cli