搭建个人博客

1.创建仓库

  • 新建名为username.github.io的仓库,例如Thee24LYJ.github.io
  • 创建成功后,博客网站访问地址就是https://Thee24LYJ.github.io(不区分大小写)

2.配置SSH key

  • 提交代码需要拥有github权限,但是直接使用用户名和密码不安全,所以我们使用ssh key来解决本地和服务器的连接问题

  • 使用git bash执行命令

    1
    $ cd ~/.ssh	# 检查本机已经存在的ssh密匙

    如果提示No such file or directory说明是第一次使用git

  • 执行命令

    1
    ssh-keygen -t rsa -C "邮件地址"	# 邮件地址为GitHub绑定的邮箱

    然后连续三次回车,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:输入刚才复制的KeyTitle随意

  • 测试是否成功

    1
    $ ssh -T git@github.com 

    如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到:

    Hi Thee24LYJ! You've successfully authenticated, but GitHub does not provide shell access.,说明SSH配置成功。

  • 此时还需要配置:

    1
    2
    $ git config --global user.name "Thee24LYJ"// 你的github用户名,非昵称
    $ git config --global user.email "xxx@qq.com"// 填写你的github注册邮箱

3.使用hexo写博客

  • hexo介绍

  • 原理

    由于github pages存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,所以hexo所做的就是将这些md文件都放在本地,每次写完文章后调用写好的命令来批量完成相关页面的生成,然后再将有改动的页面提交到github

  • 安装

    1
    $ npm install -g hexo
  • 初始化

    新建一个文件夹用来存放博客代码,名字任意

    1
    2
    $ cd /e/hexo/	#文件夹目录
    $ hexo init
    1
    2
    $ hexo g # 生成
    $ hexo s # 启动服务

    hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容

4.上传代码

  • 在上传代码到github之前,一定要记得先把你以前所有代码下载下来(虽然github有版本管理,但备份一下总是好的),因为从hexo提交代码时会把你以前的所有代码都删掉

  • 使用命令hexo d

    • ssh key要配置好

    • _config.ymldeploy要配好

      1
      2
      3
      4
      deploy:
      type: git
      repository: git@github.com:Thee24LYJ/Thee24LYJ.github.io.git
      branch: master
    • 执行hexo d报错:Deployer not found: github 或者 Deployer not found: git

      原因是还需要安装一个插件:

      1
      npm install hexo-deployer-git --save
  • 保留CNAME、README.md文件

    • 提交之后网页上一看,发现以前其它代码都没了,此时不要慌,一些非md文件可以把他们放到source文件夹下,这里的所有文件都会原样复制(除了md文件)到public目录的:

    • 由于hexo默认会把所有md文件都转换成html,包括README.md,所有需要每次生成之后、上传之前,手动将README.md复制到public目录,并删除README.html

  • 常用hexo命令

    1
    2
    3
    4
    5
    6
    7
    hexo new "postName" #新建文章
    hexo new page "pageName" #新建网页页面
    hexo generate #生成静态页面至public目录
    hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
    hexo deploy #部署到GitHub
    hexo help # 查看帮助
    hexo version #查看Hexo的版本

5.写博客

  • 定位到我们的hexo根目录,执行命令:

    1
    hexo new 'my-first-blog'

    hexo会帮我们在_posts下生成相关md文件,我们只需要打开这个文件就可以开始写博客了

    当然也可以直接自己新建md文件,用这个命令的好处是帮我们自动生成了时间。

    一般完整格式如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ---
    title: postName #文章页面上的显示名称,一般是中文
    date: 2013-12-02 15:30:16 #文章生成时间,一般不改,当然也可以任意修改
    categories: 默认分类 #分类
    tags: [tag1,tag2,tag3] #文章标签,可空,多标签请用格式,注意:后面有个空格
    description: 附加一段文章摘要,字数最好在140字以内,会出现在meta的description里面
    ---

    以下是正文

    那么hexo new page 'postName'命令和hexo new 'postName'有什么区别呢?

    1
    hexo new page "my-second-blog"

    最终部署时生成:hexo\public\my-second-blog\index.html,但是它不会作为文章出现在博文目录。

  • 让博文内容不完全展示

    默认情况下,生成的博文目录会显示全部的文章内容,在合适的位置加上<!--more-->即可设置文章展示的长度。

  • 删除某篇文章

    直接删除_posts文件夹下的.md文章,然后执行hexo g重新生成删除文章后的网页,再执行hexo d上传

参考:
使用hexo+github搭建免费个人博客详细教程