Blog (网络日志)
网络日志,外语全名weB LOG,后来缩写为BLOG。
它是继Email、BBS、IM之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。
- 简言之,网络日志就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
免费易用的Blog层出不穷,使用者亦多有各自见解。
现将在Linux环境下搭建GitHub博客相关内容作以回顾:
Step1 检查系统是否安装必要组件
安装前必须检查是否安装git、nodejs以及npm
直接在命令行输入即可:
1 | m87@m87:~$ git |
1 | m87@m87:~$ npm |
Step2 安装Nodejs
1 | wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh |
安装完成后,重启终端并执行下列命令即可安装 Node.js。
1 | nvm install stable |
执行以下命令即可使用nodejs,并在当前用户下使用npm
1 | m87@m87:~$ nvm use --delete-prefix v8.1.3 |
1 | m87@m87:~$ npm |
如此,则nodejs、npm、git相应都已安装。
Step3 安装hexo
1 | m87@m87:~$ npm install hexo-cli -g |
1 | /home/m87/.nvm/versions/node/v8.1.3/bin/hexo -> /home/m87/.nvm/versions/node/v8.1.3/lib/node_modules/hexo-cli/bin/hexo |
如此,hexo已经安装完成。
Step4 创建并部署Blog根目录
在本地~目录下创建Blog文件夹
1 | m87@m87:~$ mkdir Blog |
在Blog文件夹目录下执行生成静态页面命令:
1 | hexo generate 或者:hexo g |
此时若出现如下报错:
1 | ERROR Local hexo not found in ~/blog |
部署博客:
1 | hexo deploy 或者:hexo d |
若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:
1 | npm install hexo-deployer-git --save |
若你未关联Github,则执行hexo deploy命令时终端会提示你输入Github的用户名和密码,即
1 | Username for 'https://github.com': |
hexo deploy命令执行成功后,能看到和打开http://localhost:4000页面。
Step5 创建GitHub账号
点击Sing up进行注册,或已注册的点击Sing in登录。
登录你的Github帐号,新建仓库,名为用户名.github.io固定写法。
Step6 关联GitHub
检查SSH keys是否存在Github
执行如下命令,检查SSH keys是否存在。如果有文件id_rsa.pub或id_dsa.pub,则将SSH key添加到Github中,否则进入下一步生成SSH key。
1 | ls -al ~/.ssh |
生成新的ssh key
执行如下命令生成public/private rsa key pair,注意将your_email@example.com换成你自己注册Github的邮箱地址。
1 | ssh-keygen -t rsa -C "your_email@example.com" |
默认会在相应路径下(~/.ssh/id_rsa.pub)生成id_rsa和id_rsa.pub两个文件。
可以到用户根目录下使用快捷键“Ctrl+H”显示所有隐藏文件,进入“.ssh”文件,打开id_rsa.pub,复制其内所有内容。
本地blog目录如下:
1 | _config.yml |
使用编辑器编辑“_config.yml”:
打开后往下滑到最后,修改成下边的样子:
1 | deploy: |
你需要将repository后wndkz换成你自己的用户名
- 切记:冒号后必须有一个空格!
Step7 GitHub上添加SSH
点击GitHub页面右上角头像—>Settings
在左边会出现”Personal settings”栏目
点击“SSH and GPG keys”
点击New SSH key,添加在本地id_rsa.pub中内容,标题可以随便填写。
Step8 发布文章
终端cd到blog文件夹下,执行如下命令新建文章:
1 | hexo new "postName" |
名为postName.md的文件会建在目录~/Blog/source/_posts下。
文章编辑完成后,终端cd到blog文件夹下,执行如下命令来发布:
1 | hexo generate //生成静态页面 |
Step9 安装Next主题
终端cd到 blog 目录下执行如下命令:
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
将blog目录下_config.yml里theme的名称landscape修改为next
终端cd到blog目录下执行如下命令(每次部署文章的步骤):
1 | hexo clean //清除缓存文件 (db.json) 和已生成的静态文件 (public) |
至于更改theme内容,比如名称,描述,头像等去修改blog/_config.yml文件和blog/themes/next/_config.yml文件中对应的属性名称即可,不要忘记冒号:后加空格。
注意
按照本文搭建博客,启动时必须先输入以下内容:
1 | m87@m87:~$ nvm use --delete-prefix v8.1.3 |
其中,版本号按照安装版本号来修改。
报错总结
(来源于网络)
1.出现 error deployer not found:git 或者 error deployer not found:github 的错误
解决办法:执行 npm install hexo-deployer-git --save
2.出现类似 FATAL can not read a block mapping entry; a multiline key may not be an implicit key at line 70, column 1: … 错误
解决办法:_config.yml中配置项的冒号后面要用空格隔开,再跟内容
3.中文乱码问题
解决办法:将文件的内容编码改为UTF8格式
4.’hexo sever’能够成功运行,但是localhost:4000无法访问
解决办法:执行hexo s -p 5000
,改用其他端口启动