hexo框架介绍
基于Node.js的静态博客框架,依赖少易于安装。可以托管在GitHub和coding上,对中文支持友好。
搭建流程
- hexo的初步搭建及部署
- 主题配置,双部署实现国内外分流
- 添加更多功能
hexo的初步搭建及部署
框架的本地安装与运行
安装git
Git是分布式版本控制系统,用于项目版本管理。
学习文档
官方教程
廖雪峰Git教程
官网速度一般比较狗屎,建议第二个,除了广告多点,没有其他缺点。
下载安装
- windows
- Linux
sudo apt-get install git
git --version
安装Node.js
下载安装
Node.js
windows:选择Windows Installer 默认安装即可
Linux
sudo apt-get install nodejs |
检查node安装成功与否
node -v |
安装Hexo
安装流程
- 新建blog文件夹
- cd blog
- 安装
npm install -g hexo-cli #安装脚手架
hexo -v #检查版本
hexo init myblog #初始化hexo
cd myblog #进入myblog
npm install #新建
hexo g #
hexo server # 本地运行
Github创建个人仓库
创建流程
- 注册账户
- 新建一个仓库,命名为用户名+github.io,eg: yanyunpo.github.io
生成SSH添加到GitHub
流程
- 打开git bash
- 输入命令
命令详解
- 输入你的GitHub用户名和邮箱
- 检查是否正确
- 创建SSH,一路回车
- 复制复制id_rsa.pub的信息到ssh keys
- 查看是否成功
GitHub的setting中,ssh keys的设置选项,点击New SSH key,复制id_rsa.pub的信息到里面。
SSH简要:密钥,id_rsa:本机的私人密钥.
id_rsa.pub:公共密钥,将公钥放到GitHub上,当连接GitHub账户时,根据公钥去匹配本机私钥,匹配上则说明正确,然后即可通过git上传文件到GitHub。
git config --global user.name "yourname" |
部署到GitHub和coding
GitHub
打开站点配置文件_config.yml
释义:类型,仓库链接,分支
deploy: |
部署命令详解
- 安装deploy-git【部署】
- 清除
- 生成静态文章 缩写命令
npm install hexo-deployer-git --save
hexo clean
hexo generate
hexo deploy
hexo c && g && d
coding
部署有些问题,以后更新。
设置个人域名
因为没钱,暂时不考虑。
框架基本结构和打包文件概览
指定文件夹目录下有下列文件夹
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
butterfly主题安装和配置
根据官方文档配置,在此不赘述。
- hexo官方指导博客
- butterfly官方指导博客
注:Hexo 在合并主题配置时,Hexo 配置文件中的 theme_config 的优先级最高,其次是 _config.[theme].yml 文件,最后是位于主题目录下的 _config.yml 文件。hexo基本配置
本小节主要是一些注意点,并非详细教程【详情请参考hexo和butterfly官方博客】。分类和标签
分类下面的子类有顺序,标签没有。
eg:categories中Diary、PP和PP、Diary是不同的,而在tags中PS3、Games和Games、PS3是相同的categories:
- Diary
- PP
tags:
- PS3
- Games布局
当你每一次使用代码 hexo new paper
它其实默认使用的是post这个布局,也就是在source文件夹下的_post里面。
Hexo 有三种默认布局:post、page 和 draft,它们分别对应不同的路径,而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。
而new这个命令其实是:hexo new [layout] <title>
只不过这个layout默认是post罢了。page
如果你想另起一页,那么可以使用
hexo new page board
系统会自动给你在source文件夹下创建一个board文件夹,以及此文件夹下的index.md,这样你访问的board对应的链接就是http://xxx.xxx/boarddraft【草稿】
draft是草稿的意思,也就是你如果想写文章,又不希望被看到,那么可以
hexo new draft newpage。
这样会在source/_draft中新建一个newpage.md文件,如果你的草稿文件写的过程中,想要预览一下,那么可以使用
hexo server –draft,
在本地端口中开启服务预览。
如果你的草稿文件写完了,想要发表到post中,
hexo publish draft newpage ,
就会自动把newpage.md发送到post中。更换喜欢的主题
GitHub上下载喜欢的主题,放置到theme的文件夹下,_config.xml中的theme换成主题文件夹的名字。
根据主题的文档进行配置修改即可。多终端工作
原理
1.master没有源文件,只有.deploy_git中的内容,source和配置文件等都没有,因此只能在本地工作,换了电脑就无法操作了。
2.因此将源文件上传到GitHub的另一个分支,当需要工作时,从远端克隆到本地。
操作
1.GitHub新建分支hexo
2.更改默认分支为hexo分支
3.多端工作
- 随意进入一个文件,右键git bash,clone 文件
git clone git@github.com:yanyunpo/yanyunpo.github.io.git - 进入yanyunpo.github.io文件夹,删除除.git以外的文件,将源文件除了.deploy_git的文件都复制过去,.gitignore忽略一些不需要的文件,在主题中,如果有.git文件也都删除,然后上传即可。
- 远端电脑登陆git,克隆,拉取