Mac搭建github Page的Hexo免费个人博客

1.基础准备

  1. github账号
  2. 安装git
  3. 安装node.js、npm

2.创建repo

Mac搭建github Page的Hexo免费个人博客

3.配置SSH key

这一步并不重要,配置SSH key与否,并不影响博客的搭建和使用,只是配置了之后,更新博客方便一点,不用每次都输用户名和密码。

  • 打开终端,输入如下命令
cd .ssh
ls -la

检查终端输出的文件列表中是否已经存在id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤

  • �创建SSH key
    $ ssh-keygen -t rsa -C "your_email@example.com"
    注:此处邮箱为注册github账号的邮箱
    回车,接着会提示你,让你输入文件名,直接回车会创建使用默认文件名的文件(推荐使用默认文件名);
    然后会提示你输入两次密码(输入密码之后没有反馈,显示还是空白,但是你确实已经输入了),当然密码也可以不输,直接回车,如果这里没有输入密码,以后提交博客更新的时候就不需要输入密码了。
  • 添加SSH key到github
    经过第二步,如果你没有指定文件名(也就是使用的默认文件名),那么你的.ssh文件夹下,应该有一个id_rsa.pub文件了,打开该文件,复制里面的文本。
    然后登陆github,点击右上角头像右边的三角图标,点击Settings,然后在左边菜单栏点击SSH and GPG keys,点击new ssh key,title 随意填,在key 栏填入你复制的内容,点击add ssh key,就可以添加一个ssh key了。
  • 验证SSH key是否配置成功
    终端输入:
    ssh -T git@github.com
    回车,你会看到如下回复,说明你的ssh key添加成功了。
    Hi chenglaiyong! You’ve successfully authenticated, but GitHub does not provide shell access.
    如果过程中提示你perimission deny相关错误,就在命令前加上sudo 然后执行命令的时候输入你的appleid密码应该就可以了。sudo用来说明用管理员权限运行。

4.安装Hexo

  • 终端输入:
    npm install -g hexo
  • 初始化,创建所需资源
    新建任意名字文件夹,cd进入该文件夹后,执行如下命令
hexo init
npm install
  • 生成并发布
hexo g  // 全拼是:hexo generate,可以简写成 hexo g
hexo s  // 全拼是:hexo server,可以简写成 hexo s

这样就开启了一个本地博客服务器,打开浏览器,在地址栏输入http://localhost:4000,就可以查看本地博客了,hexo默认生成了一片hello world博客。
注:以上hexo开头的命令,执行目录必须是你创建的博客文件夹目录,因为只有在那个文件夹下才有创建和发布hexo的所有资源。

5.同步Hexo到Github

  • 安装
    npm install hexo-deployer-git --save
  • 打开本地博客目录的_config.yml文件,编辑其中的deploy节点
deploy:
type: git
repository: https://github.com/chenglaiyong/chenglaiyong.github.io.git
branch: master

注:“: ”后面的空格,这是个坑
repository地址从下图中即可获取

url.jpeg

保存即可
当然可以使用SSH地址作为repository地址,点击右上角Use SSH,之后操作相同。

  • 生成和发布
hexo clean  // clean本地项目,防止缓存
hexo g      // 根据你编辑的md格式的博客,生成静态网页
hexo d      // 将本地博客发布到github

然后,在浏览器地址栏输入yourusername.github.io就可以访问你的博客了,别人也可以通过这个地址访问你的博客。

6.Hexo常用命令行

hexo init      //在指定目录执行该命令,会将当前目录初始化为hexo站点,生成hexo站点所需的一切文件
hexo new “my new blog title”  //新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
hexo clean      // 清除缓存,如果对本地文件做了修改,同步到远程验证修改的效果之前,先clean,清除缓存
hexo generate  // 可以简写成hexo g 根据markdown文件生成静态文件
hexo server    // 或者简写成hexo s 启动本地hexo 服务器,默认localhost:4000可以访问
hexo deploy    // 或者简写成hexo d 将本地修改,部署到远端
hexo version    // 显示hexo版本

7.其他常用操作

  • 新建博文
    hexo new "the title of your blog"
    建议学习 写作 | Hexo
  • 删除博文
    删除自动生成的hello world
    找到/source/_posts文件夹,里面放了所有我们写的博客,想删除哪篇,直接在这里删除,然后再重新发布到github,这篇博文就不见了
  • 给博文添加tag和分类
    创建的新博文文件,打开之后顶部会有一段自动生成的文本,在其中加入tag和category标签即可指定tag和分类。
  1. 编辑_config.yml
    post_asset_folder: true
    这样hexo会在每次使用hexo new title命令时在文章源文件目录下创建同名文件夹来存储资源.
  2. 实现
 
Mac搭建github Page的Hexo免费个人博客
photo.jpeg

markdown中引用这么写:

{% asset_img newRepository.png 创建repository%}

asset_img 表示要引用图片, newRepository.png是标题, 后面的是图片显示的标题和悬浮时的提示。

8.安装Theme

  1. 终端cd到hexo所在文件夹执行如下命令:
    git clone https://github.com/iissnan/hexo-theme-next themes/next
  2. 将hexo目录下_config.yml里theme的名称landscape修改为next,重新部署就可以了。
  3. fork me on github
    如果你访问我的个人博客,你会发现右上角有一个倾斜的fork me on github 图标,想要集成这个图标,去这里挑选你喜欢的样式,把样式代码复制过来。
    本地博客目录下的themes/next/layout/layout.swig文件,然后把你复制过来的样式代码粘贴到如下位置。
  1. 可以选择其他主题Themes | Hexo,方法同上。