Hexo--簡介


1. Hexo生成界面原理

本節主要講述,Hexo怎麽生成界面的,我們寫的明明是Markdown文件爲什麽就可以變成HTML文件呢?以及MarkDown文件生成的HTML文件的對應關係是怎樣的呢?

首先我們來看一下,Hexo的文件目錄:

  • node_modules: 依赖包
  • public:存放生成的页面
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题**
  • _config.yml: 博客的配置文件**

输入hexo new post "article title" 或者 hexo n "article title",新建一篇文章。

然后打开\source\_posts的目录,可以发现下面多了一个文件夹和一个.md文件,一个用来存放你的图片等数据,另一个就是你的文章文件啦。
你可以会直接在vscode里面编写markdown文件,可以实时预览,也可以用用其他编辑md文件的软件的工具编写。

编写完markdown文件后,根目录下输入hexo g生成静态网页,生成的靜態網頁均保存在public目錄下。

我們在source文件夾下的文件均會被編譯,到public文件夾下生成對應的HTML文件,post中的文件會在public文件夾中生成和文章時間一直的目錄最後會有如下目錄:

image-20201028231554092

文章的内容會保存在index.html文件中

1.2 layout(布局)


1.2.1 post

当你每一次使用代码

hexo new XXX

它其实默认使用的是post这个布局,也就是在source文件夹下的_post里面。

Hexo有三种默认布局:postpagedraft,它们分别对应不同的路径,而您自定义的其他布局和post相同,都将储存到source/_posts文件夹。

而new这个命令其实是:

hexo new [layout] <title>

只不过这个layout默认是post罢了。

1.2.4.2 page

如果你想另起一页,那么可以使用

hexo new page newpage

系统会自动给你在source文件夹下创建一个newpage文件夹,以及newpage文件夹中的index.md,这样你访问的newpage对应的链接就是http://xxx.xxx/newpage

最終使用hexo g 生成界面時,就會生成newpage/index.html,如下:

hexo new page “about”

image-20201028232032913

1.2.3 draft

draft是草稿的意思,也就是你如果想写文章,又不希望被看到,那么可以

hexo new draft newdraft

这样会在source/_draft中新建一个newdraft.md文件,如果你的草稿文件写的过程中,想要预览一下,那么可以使用

hexo server --draft

在本地端口中开启服务预览。

如果你的草稿文件写完了,想要发表到post中,

hexo publish draft newdraft

就会自动把newdraft.md发送到post中。

1.3 Front-matter

scaffolds:生成文章的一些模板

image-20201028232230247

  • draft.md: 生成草稿文件的模板
  • page.md: 生成頁面文件的模板
  • post.md: 生成文章文件的模板

Front-mattermd文件最上方以 ---分隔的区域,用于指定个别文件的变量,举例来说:

title: Hexo+Github博客搭建记录
date: 2019-08-10 21:44:44

下是预先定义的参数,您可在模板中使用这些参数值并加以利用。

参数描述layout布局title标题date建立日期updated更新日期comments开启文章的评论功能tags标签(不适用于分页)categories分类(不适用于分页)permalink覆盖文章网址

其中,分类和标签需要区别一下,分类具有顺序性和层次性,也就是说FooBar不等于BarFoo;而标签没有顺序和层次。

---
title: Hexo+Github博客搭建记录
date: 2019-08-10 21:44:44
author: 洪卫
img: /medias/banner/7.jpg
coverImg: /medias/banner/7.jpg
top: true
cover: true
toc: true
password: 5f15b28ffe43f8be4f239bdd9b69af9d80dbafcb20a5f0df5d1677a120ae9110
mathjax: true
summary: 这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要
tags:
- Hexo
- Github
- 博客
categories:
- 软件安装与配置
---

相關鏈接


文章作者: xmhans
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xmhans !
评论
  目录