[整理/转载]Github+HEXO (Mac)

参考

  1. hexo你的博客
  2. HEXO+Github,搭建属于自己的博客
  3. Mac上搭建基于GitHub的Hexo博客[推荐该篇]

§配置环境

安装Node.js -> 生成静态页面的
安装Git -> 把本地的hexo内容提交至github(Xcode自带Git)
申请GitHub

§安装Hexo

  • sudo npm install-g hexo
    输入管理员密码(Mac登录密码)即开始安装
    (sudo:linux系统管理指令 -g:全局安装)

注意坑一:Hexo官网上的安装命令是 npm install -g hexo-cli,安装时不要忘记前面加上sudo,否则会因为权限问题报错。

  • 终端cd到一个你选定的目录,执行hexo init命令
    hexo init blog//blog是建立的文件夹名称

  • cd blognpm install//安装npm

  • hexo s//开启hexo服务器

  • 本地浏览器,http://localhost:4000
    成功界面

§配置Github

  • 关联Github
  • 检查SSH keys是否存在Github
    ls -al ~/.ssh//检查SSH keys是否存在.
    • 如果有文件github_rsa.pubgithub_dsa.pub,则直接将SSH key添加到Github中,否则进入下一步生成SSH key。
  • 生成新的ssh key
    ssh-keygen -t rsa -C "your_email@example.com"//生成public/private rsa key pair
    • 注意将your_email@example.com换成你自己注册Github的邮箱地址。
    • 默认会在相应路径下(~/.ssh/github_rsa.pub)生成github_rsa和github_rsa.pub两个文件。
  • 将ssh key添加到Github中
    • Find前往文件夹~/.ssh/github_rsa.pub打开github_rsa.pub文件
    • 进入Github -> Settings -> SSH and GPG keys -New SSH key ->
      Add SSH key
    • Title内容任意,key为github_rsa.pub内容
  • 创建仓库
    • 登录你的Github帐号,新建仓库,名为用户名.github.io固定写法
    • 本地的blog文件夹下内容为:
      • _config.yml
        db.json
        node_modules
        package.json
        scaffolds
        source
        themes
    • 终端cd到blog文件夹下,vim打开_config.yml
      vim _config.yml
    • 在文件最后deplo修改如下

注意坑二:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错。
博主本人的报错为FATAL bad indentation of a mapping entry at line 72, column 15:
请确认您使用空格进行缩进(Soft tab),并确认冒号后有一个空格

	- 在blog文件夹目录下执行生成静态页面命令
		- ``hexo generate`` 或者 ``hexo g``
		- 此时若出现如下报错:
	ERROR Local hexo not found in ~/blog
    ERROR Try runing: 'npm install hexo --save'
    若无报错,自行忽略此步骤。
	博主本人的报错为``ERROR Deployer not found: git``
    均执行命令:
	``npm install hexo --save``
		- 再执行配置``hexo deploy`` 或者 ``hexo d``
		- 比较奇怪的是之后居然要求我输入用户名和密码(私以为SSH已经搞定

注意坑三:若执行命令hexo deploy仍然报错:无法连接git,则执行如下命令来安装hexo-deployer-git:
npm install hexo-deployer-git --save
再次执行hexo generate和hexo deploy命令

	- 此时,浏览器中打开网址http://yourID.github.io(将gonghonglou换成你的用户名)能看到和打开http://localhost:4000时一样的页面。
  • 发布文章
    - 终端cd到blog文件夹下
    - hexo new "postName" //新建文章,位于目录/blog/source/_posts下
    - 编辑文章
    - 终端cd到blog文件夹下
    - hexo generate //生成静态页面
    - hexo deploy //将文章部署到Github

§安装theme

  • 更多官方主题请戳Hexo官网主题页。这里以hexo-theme-next为例
  • 终端cd到 blog 目录
  • git clone https://github.com/iissnan/hexo-theme-next themes/next
  • 将blog目录下_config.yml里theme的名称landscape修改为next
  • 终端cd到blog目录下执行如下命令(每次部署文章的步骤)
  • hexo clean //清除缓存文件 (db.json) 和已生成的静态文件 (public)
  • hexo g //生成缓存和静态文件
  • hexo d //重新部署到服务器
  • 附:NexT 使用文档
  • 更改theme内容,修改 blog/_config.yml 文件和 blog/themes/next/_config.yml 文件中对应的属性名称即可。
  • 不要忘记冒号:后加空格。

§绑定个人域名

  • 还未绑定,有兴趣的同学请访问原文。