| 我的GitHub | 我的博客 | 我的微信 | 我的邮箱 |
|---|---|---|---|
| baiqiantao | baiqiantao | bqt20094 | baiqiantao@sina.com |
十年 Android 开发老鸟,Base 深圳!人生过半,初心未改;三十未立,以终为始!
副标题
| 我的GitHub | 我的博客 | 我的微信 | 我的邮箱 |
|---|---|---|---|
| baiqiantao | baiqiantao | bqt20094 | baiqiantao@sina.com |
十年 Android 开发老鸟,Base 深圳!人生过半,初心未改;三十未立,以终为始!
| 我的GitHub | 我的博客 | 我的微信 | 我的邮箱 |
|---|---|---|---|
| baiqiantao | baiqiantao | bqt20094 | baiqiantao@sina.com |
[TOC]
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Hexo 是基于 Node.js 的高效静态站点生成框架,通过 Hexo 你可以轻松地使用 Markdown 编写文章。
1 | 使用体验:不建议使用! |
node -v和npm -vssh -T git@github.comnpm i -g hexohexo initnpm installhexo new xxx,执行后会在目录/source/_posts/下生成一个文件xxx.mdhexo g,生成的文件都在/public/目录下hexo s,或hexo server -p 端口号启动服务后,可访问 http://localhost:4000 查看生成的静态文件。在服务启动期间,Hexo 会监视文件变动并自动更新,而无须重启服务器。
baiqiantao.github.iohexoBlog_config.yml 中设置正确的 url 和 rooturl: https://baiqiantao.github.io,root: /url: https://baiqiantao.github.io/hexoBlog,root: /hexoBlog/_config.yml 中设置正确的 deployrepo: git@github.com:baiqiantao/baiqiantao.github.io.git,branch: masterrepo: git@github.com:baiqiantao/hexoBlog.git,branch: gh-pagesnpm i hexo-deployer-githexo g -d即可自动完成 build、push 等操作1 | deploy: |
1 | deploy: |
1 | ├── .deploy_git # 在 _config.yml 中配置的 git 仓库,内容来自 public 目录 |
source 目录下的除_posts外,开头命名为_的文件、文件夹和隐藏的文件将会被忽略source 目录下的 Markdown 文件,会被解析后放到public目录,其他文件,例如图片、css、js、lib 等,会被直接拷贝到public目录source/images 中的图片可以通过相对路径引用,例如,对于source/images/logo.png:source/_posts/README.md中引用方式:source/_posts/blog/about.md中引用方式:确保
source目录下的 MarkDown 文件以及_config.yml配置文件是以utf-8编码保存的。
1 | hexo init [folder] # 初始化 |
使用主题
git clone --branch v5.1.2 https://github.com/iissnan/hexo-theme-next themes/nextnpm i hexo-renderer-swignext_config.yml 内的主题 theme: next,有些主题可能会需要添加一些必要的配置hexo clean,然后再 hexo g几个流行的主题
1 | npm install 插件名称 --save # 安装插件 |
如果插件代码很简单,可以写 JavaScript 脚本,只需要脚本文件放到 scripts 文件夹中,在启动时就会自动载入。
permalink 直接翻译的意思是
永久链接,但是其实在这里的意思仅仅是:MarkDown 文件生成的 html 被部署后,访问的链接的生成规则,没有什么永久不永久的意思。
可以在 permalink 中设置网站的永久链接(也可以在文章的 Front-matter 中指定),可在 permalink_defaults 参数下调整永久链接中各变量的默认值。
1 | permalink: :title/ ## 文章链接,默认【:year/:month/:day/:title/】,要以/或.html结尾 |
permalink 中可以下列变量或 Front-matter 中定义的属性(例如title)
:title:文件名称:category:文章分类。如果文章没有分类,则是 default_category 配置信息:post_title:文章标题:id:文章 ID:year:文章的发表年份,4 位数:month:文章的发表月份,2 位数:i_month:文章的发表月份,去掉开头的零:day:文章的发表日期,2 位数:i_day:文章的发表日期,去掉开头的零假设文件 source/_posts/about.md 中包含以下 Front-matter:
1 | title: about |
1 | permalink: :year/:month/:day/:title/ # 生成的链接为【2018/07/14/about】,有多个层级 |
front-matter中自动增加abbrlink属性,值为base64(md5(标题+时间)),例如abbrlink: 66c8在 Hexo 中,分类具有顺序性和层次性,而标签没有
1 | categories: |
在 _config.yml 中,我们可以通过 category_map 给一个 category 设置别名,然后在组合 url 的时候,用这个别名 来替代 category 名称。tag_map的功能类似。
1 | default_category: blog ## 当没有分类时的默认分类,默认【uncategorized】 |
front-matter中的categories变量,值为所有子目录npm install hexo-auto-category --save例如,对于博客 source/_post/web/framework/hexo.md,该插件会自动生成以下categories:
1 | categories: |
修改配置文件_config.yml,添加如下内容:
1 | ## Generate categories from directory-tree |
hexo-auto-category 可以在构建时,自动为生成的文件添加 categories 信息,我能不能在让他自动帮我生成title等信息呢?
YAML 依靠
缩进来确定元素间的从属关系,因此,请确保缩进长度相同,并且使用空格缩进
1 | ## Site 网站 |
2019-3-15