Git
因为经常会要用到Git以及Github,首先安装Git:https://git-scm.com/download/linux1
$ apt update; apt install git
Node.js
Hexo是一款基于Node.js的静态博客框架,所以我们还需要安装它:https://nodejs.org/en/download/
下载后移动到任意路径下解压,tar.xz解压命令为tar -xvJf 。然后建立全局软链接(全局变量)
sudo ln -s /../node.js/bin/npm /usr/local/bin/
sudo ln -s /../node.js/bin/node /usr/local/bin
然后检测是否成功1
2node -v
npm -v
如果成功会出现版本号,这里是v8.11.1与5.6.0
附: node.js源码安装教程
Hexo
然后开始安装Hexo。1
npm install hexo-cli -g //这是用npm方式部署hexo静态博客。
遇到安装异常sh: 1: node-gyp: Permission denied,运行1
2npm config set unsafe-perm true //以后,再运行
npm install -g hexo-cli //但是我好像没有遇到这个问题。
我的话主要是教程里都没有提醒我创建hexo的全局变量,导致我一直显示未找到命令。创建了变量后就成功了。这里用1
hexo -v
若出现版本信息,则安装成功,已在本地机器上搭建起了Hexo环境。
部署Hexo文件夹。
任意位置创建文件夹hexo,在该文件夹内初始化hexo1
2hexo init //将该文件夹初始化为博客目录
npm install
安装相关依赖包,具体安装内容可以在package.json文件里找到
其中,_config.yml是配置站点的文件,public是hexo生成的静态站点文件夹,scaffolds是模板文件夹,source是存在用户资源的文件夹,themes是主题文件夹。接着1
hexo generate
生成hexo静态页面,将我们写的Markdown文件 (.md后缀) 转换成html静态页面
生成完毕之后,hexo文件夹内又多了一个public文件夹,这就是静态博客的目录,如果我们需要部署到服务器或者托管平台,只要将hexo生成静态之后,将public文件夹里的文件传上去就可以了。其他系统文件还是放在本地。
博客预览
1 | hexo server |
然后在浏览器中输入地址http://localhost:4000
使用1
hexo server -p 5000
可以改变接入端口。默认接入端口为4000。但是听说如果打开了福昕阅读器,他会占用4000端口。
也可以在_config.yml内加上如下代码更改hexo-server运行时的端口号:1
2
3
4server:
port: 5000
compress: true
header: true
也可以先使用1
netstat -ant |grep 4000
命令查看端口被什么占用,若是个没人用的东西,就kill掉这个进程
进一步配置
找到博客根目录下的配置文件_config.yml,# Site部分,title是博客的名字,subtitle是副标题,author即为作者名字。
接下来是下一部分:
#将Hexo托管到Github
首先现在Github账户上新建一个仓库,作为以后博客的存放位置。仓库名为GithubUserName.github.io,然后Create
配置Github:
配置Name和Email:1
2$ git config --global user.name "yourName"
$ git config --global user.eamil "email@example.com"
在某个项目根路径下面可以设置单独的Email与姓名:1
2git config user.name "tiemaocsdn"
git config user.email "tiemaocsdn@qq.com"
创建公钥1
ssh-keygen -C "email@example.com" -t rsa
在用户~/.ssh/下建立相应的密钥文件~/.ssh/id-rsa.pub,gedit打开该文件,复制文本。
添加公钥:
在Github首页点击setting,选择New SSH KEY,然后将密钥文件复制进去。
Hexo部署到github
打开hexo文件下的_config_yml,在底部添加1
2
3
4deploy:
type: git
repo: https://github.com/GithubUserName/GithubUserName.github.io
branch: master
注:这是关键点!首先:后边必须有一个空格!然后次行repo有的教程是repository,听说会有bug;然后几乎所有教程io后会加.git,其实不用不知道为什么。最靠谱的是直接将你的仓库地址复制过来。
最后,因为hexo3.0以后deploy与hexo分离,所以还添加个插件就能将博客push到git上
npm install hexo-deployer-get –save
然后不要忘了上传1
2
3
4
5
6
7
8hexo g -d
hexo g 为生成静态文件
hexo g -d 为文件生成后立即部署网站
或者hexo g 然后hexo d也行
hexo d -g 为部署网站前生成静态文件
git push [-u origin master] 仓库数据进行同步
git pull 每次修改前进行更新
编写博客1
2
3hexo new "博客名"
显示博客的.md文件地址,打开即可编写
hexo g -d
本地Git库与远程仓库(Github)的关联建立
只有在本地初始化git后才能使用git。
选择一个文件夹,执行命令1
git init 初始化该本地文件夹为git管理的本地仓库
注:Git将自动创建唯一一个master分支。当前目录下多了一个.git的目录(隐藏文件夹),这个目录是Git来跟踪管理本地库的,修改文件需谨慎,易破坏Git仓库。可通过删除目录来断开本地仓库与远程仓库的连接,就像刚刚没有创建本地仓库,每次更新都需要输入用户名与密码。
关联指定远程仓库1
git remote add origin git@github.com:YotrolZ/helloTest.git
注:origin即为远程库的名字,这是Git默认的叫法,可以改成别的;
git@github.com:YotrolZ/helloTest.git 为我们远程仓库的路径,可为url或仓库名。这里还直接仓库地址保险。
此时,可以尝试git pull拉取。