hexo github blog


hexo 本地环境 重新载入

由于懒, 近半年未有更新blog. 今天想更新几篇文章, 突然发现已经忘记了如何把本地环境的文章 更新到 github的私人博客, 比较慌, 赶紧把接下来的几个步骤详细记录下来, 以防万一.

基本状态

默认端口号: 4000
路径: G:/Spaces/blog
启动hexo: 需要进入上述地址, hexo server. // cmd or bash 都可以, (由于笔记本配置不高?)初次启动需要5s以上, 千万不要以为命令无效而关闭命令窗口继而去找问题到底出在哪里.

目录结构:

- .deploy_git  // git
- node_modules  // node.js
- public  // hexo生成的静态文件, 就是把这里的文件推到git上的
- scaffolds  // hexo
- source  // hexo 文章(.md)
    - _posts  // 默认Layout
    - page
    - draft_  // 草稿, `$ hexo new draft hexo_github_blog`
- themes  // hexo
    - landscape
        - source  // 类似网站根目录(_config.yml.favicon: /favicon.png 就是这里的相对路径)
        - _config.yml  // 主题配置
- .gitignore  // git ignore 配置
- _config.yml  // hexo 配置文件, 包含hexo 及 github关联账号 的配置
- db.json  // hexo
- package.json  // hexo
- db.zip  // bak
- public.zip  // bak

新建文章 >> 生成静态文件 >> 上传至github:

总共用到的命令不出10个, 回忆起来也就不觉得麻烦了.

1
2
3
4
5
6
7
8
hexo deploy --generate # 生成静态文件并推送至github上. 相关的配置在_config.yml中写到.
hexo publish draft hexo-github-blog # 把草稿(draft)中的`hexo-github-blog`文章发布到post中
hexo generate # 生成静态文件
hexo generate --watch # 生成静态文件并监控文件变化
# 这里有一个有趣的情况是, 虽然新建文章的名称是hexo_github_blog, 发布之后该篇文章的titil还是hexo_github_blog,
# 但是文件名hexo会自动帮你处理为: 以-为分隔符的名称.我这里已知的有 下划线_95, 空格 32, 圆括号()4041
hexo new draft hexo_github_blog # 新建名为hexo_github_blog的文章到draft(草稿箱)中
hexo new post hexo_github_blog # 新建名为hexo_github_blog的文章到post中

想要5分钟了解hexo的结构那就直接看配置文件, 里面的变量足够帮你认识它了.

分页
Index generator plugin for Hexo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 安装插件
$ npm install hexo-generator-index --save
# _config.yml 配置文件
# 首页分页
index_generator:
per_page: 5
# archive分页
archive_generator:
per_page: 10
# yearly: true
# monthly: true
# tag分页
tag_generator:
per_page: 10
# category分页
category_generator:
per_page: 10

站内文章跳转
hello-world

1
2
# vsprintf("[%s](/%s/%s/%s/%s/)", [show_title, year, mon, day, title])
[hello-world](/2016/03/07/hello-world/)

首页-底部-模块

1
2
// position: blog/themes/landscape/layout/_partial/after-footer.ejs
<%- js('js/script-min') %> // 引用js模板语法

推入githut时的警告
LF will be replaced by CRLF in git - What is that and is it important? [duplicate]

1
2
3
4
5
# 基本还是 Unix, windows差异
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in tags/rgb-alpha/index.html.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in tags/src/index.html.