Hexo剖析 中文文档:https://hexo.io/zh-cn/docs/ 官方主题库:https://hexo.io/themes/ next主题:https://github.com/theme-next
Hexo原理综述 markdown到html的旅程
hexo文件结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ├── _config.yml ├── db.json ├── node_modules ├── package.json ├── public ├── scaffolds │ ├──draft.md │ ├──page.md │ └──post.md ├── source │ ├── _draft │ └── _posts │ └── hello-world.md └── themes ├── └──next ├── ├── ├── ├──
详解clean 1 2 3 4 $ hexo clean --debug INFO Deleted database. INFO Deleted public folder.
详解hexo g 每次运行 hexo g 命令,hexo(node.js程序)会遍历你的 source 目录,建立索引,根据你 theme 文件夹的主题生成页面到 public 文件夹。这时 public 文件夹就是一个纯由 html javascript css 等内容制作的博客,而这些恰好能在 git pages 识别
详解deploy 最后 hexo d 将 public 文件夹的内容复制到临时目录,以 git 方式 push 到 github 的指定项目的指定分支,由 github 进行显示
首次deploy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 $ hexo d --debug DEBUG Config loaded: ~/xs/blog/_config.yml DEBUG Plugin loaded: hexo-generator-category INFO Start processing DEBUG Processed: source /404.html DEBUG Processed: 404.html DEBUG Theme config loaded. DEBUG Processed: _config.yml DEBUG Processed: source /css/main.styl DEBUG Processed: layout/archive.swig DEBUG Generator: page INFO Files loaded in 796 ms DEBUG Rendering page: 404.html DEBUG Rendering post: 2018/01/25/hello-world/index.html DEBUG Rendering archive: archives/index.html DEBUG Rendering index: index.html INFO Deploying: git Initialized empty Git repository INFO Copying files from public folder... INFO Copying files from extend dirs ... INFO Deploy done : git DEBUG Database saved
详解hexo server hexo s –debug
hexo的模板引擎,Rendering HTML 模板引擎的作用,就是将界面与数据分离。最简单的原理是将模板内容中指定的地方替换成数据,实现业务代码与逻辑代码分离。
source 文件夹理解为数据库,而theme文件夹相当于 界面。 hexo g 就将我们的数据和界面相结合生成静态文件 public。
Hexo 的模板引擎是默认使用 ejs 编写的,同类型的东西还有很多,比如jade,swig。
next选用的swig
比较赞的设计
文件名与博客名分离,即title不直接采用文件名。(这样保证了不会因为title的变动引起url的变动)
url路径与实际路径分离 ()
reference http://coderunthings.com/2017/08/20/howhexoworks/