GitHub+Hexo博客创建
参考教程
从0开始到部署到github
基本步骤
1. 安装git
2. 安装nodejs
3. 安装hexo
前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹Blog,然后cd
到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。
输入命令安装:
1 | npm install -g hexo-cli |
查看版本命令:hexo -v
初始化hexo
1 | hexo init myblog |
这个myblog可以自己取什么名字都行,会在当前文件夹(Blog)目录下创建一个myblog文件夹
1 | cd myblog #进入这个myblog文件夹 |
新建完成后,指定文件夹目录下有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
打开hexo的服务,在浏览器输入 localhost:4000 就可以看到你生成的博客了
1 | hexo g |
使用ctrl+c可以把服务关掉
4. GitHub创建个人仓库
创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名
5. 生成SSH添加到GitHub
回到你的git bash中
1 | git config --global user.name "yourname" |
这里的 yourname 输入你的GitHub用户名,youremail 输入你GitHub的邮箱(双引号保留)
然后创建SSH,一路回车(应该有3次回车)
1 | ssh-keygen -t rsa -C "youremail" |
终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub
文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key
将刚复制的内容粘贴到key那里,title随便填,保存
测试是否成功
1 | $ ssh -T git@github.com # 注意邮箱地址不用改 |
如果提示Are you sure you want to continue connecting (yes/no)? 输入yes,然后会看到:
Hi H-Sanae! You’ve successfully authenticated, but GitHub does not provide shell access.
看到这个信息说明SSH已配置成功!
6. 将hexo部署到GitHub
打开站点配置文件 _config.yml
,翻到最后,修改为:
(YourgithubName就是你的GitHub账户)
1 | deploy: |
branch
填你刚刚创建GitHub
仓库的默认分支名称,看下是master
还是main
,不要填错了,还要注意一下,冒号后面加一个空格
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub
1 | npm install hexo-deployer-git --save |
然后
1 | hexo clean |
到此完成,过一会儿就可以在http://yourname.github.io
这个网站看到你的博客了!
注意
因为从hexo提交代码时会把你以前的所有代码都删掉,在上传代码到github之前,要记得先把以前所有代码下载下来(虽然github有版本管理,但备份一下总是好的)。
相关命令
1 | hexo clean #清除缓存文件 db.json 和已生成的静态文件 public |
常用命令
1 | hexo new "postName" #新建文章 |
缩写
1 | hexo n == hexo new |
组合命令
1 | hexo s -g #生成并本地预览 |
主题设置
diaspora主题
Butterfly 文檔(三) 主題配置 | Butterfly
美化
根目录全局配置文件_config.yml
1、所有的配置“:”符号后面都要带空格,否则执行本地测试直接失败。
2、language是设置语言。zh-Hans是中文。
3、如果设置zh-Hans后仍出现乱码问题。需要更改文件的字符编码集为UTF-8,方法很多。
写博客
定位到我们的hexo根目录,执行命令:
1 | hexo new 'my-first-blog' |
hexo会帮我们在_posts
下生成相关md文件
我们只需要打开这个文件就可以开始写博客了
当然你也可以直接自己新建md文件,用这个命令的好处是帮我们自动生成了时间
一般完整格式如下:
1 | --- |