在Ubuntu系统下用Github和Hexo建立自己的博客

本文目的:记录博客搭建的过程。


使用的环境:

  • Ubuntu 16.04LTS
  • nodejs
  • hexo
  • github:已注册账户并且创建了仓库

    方法步骤:

    安装:

    安装Git,终端输入以下命令,下同。

    1
    sudo apt-get install git

    绑定github账户:

    1
    2
    git config --global user.name "Github用户名"
    git config --global user.email "注册Github用的邮箱"

    生成新的SSH key

    1
    ssh-keygen -t rsa -C "注册Github用的邮箱"

    看到 Enter file in which to save the key (/home/bruce/.ssh/id_rsa): 直接敲回车
    看到 Enter passphrase (empty for no passphrase): 设置一个密码
    看到 Enter same passphrase again: 重复上面的密码
    找到刚生成的SSH key,打开id_rsa.pub复制里面的内容:

    1
    2
    cd ~/.ssh
    gedit id_rsa.pub

    在github里New SSH key 并粘贴。然后测试:

    1
    ssh -T git@github.com

    看到Are you sure you want to continue connecting (yes/no)?输入yes。

    安装Node.js

    1
    sudo apt-get install nodejs

    安装npm

    1
    sudo apt-get install npm

    安装hexo

    1
    sudo npm install -g hexo

    安装hexo-deployer-git(该命令运行时出错,重复运行3、4次后终于不再报错)

    1
    sudo npm install hexo-deployer-git --save

    建立博客:

    执行下面命令,如果出错,命令前面加sudo,如:sudo hexo init

    在blog目录(如果没有blog目录,hexo会自动创建)初始化hexo:

    1
    hexo init blog

    该命令执行完默认会生成以下目录和文件:
    ├── node_modules
    ├── scaffolds
    ├── source
    ├── themes
    ├── _config.yml
    ├── db.json
    └── package.json
    解释:scaffolds文件夹存放模板文件(新建文章、页面、草稿等需要基于模板创建);
    source文件夹存放用户内容(文章、图片、CSS、JS等);
    themes文件夹存放主题文件;
    _config.yml是网站的配置文件,可以用文本编辑器编辑;
    db.json是缓存文件;
    package.json为应用程序数据文件。

    进入blog目录

    1
    cd blog

    安装npm

    1
    npm install

    启动hexo服务器

    1
    hexo server

    OK,现在浏览器打开http://localhost:4000就能看到博客了

    配置博客:

    打开_config.yml,修改网站的相关配置信息:

    1
    2
    3
    4
    5
    6
    7
    8
    title: Owls Forest //网站标题
    subtitle: A Dreamy Living. //副标题
    description: A regular guy. //简介
    author: Bruce Lou //作者
    language: zh-Hans //语言
    url: http://gniba.com //网址
    permalink: :year/:month/:day/:title.html //文章链接格式
    theme: next //主题

    最后为github配置deploy,在_config.yml文件的最下面

    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/Github用户名/Github用户名.github.io.git
    branch: master

    配置域名:

    在/source文件夹下面新建CNAME文件,在里面输入域名gniba.com

    写一篇文章:

    输入命令:

    1
    hexo new 'first-page'

    该命令在source/_posts/目录新建first-page.md文件(.md是markdown格式)。打开并编辑它:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    title: "我的第一篇博文"
    date: 2016-07-05 11:33:40
    tags:
    - first
    - hexo
    - github
    categories:
    - blog
    ---
    从这里开始,写一些有用的东西,完成你的第一篇博文。

    新建关于页面和标签页面:

    关于页面:

    命令:

    1
    hexo new page about

    该命令在/source目录下新建/about目录,里面的index.md文件即是关于页面,打开并编辑它。
    浏览器输入http://localhost:4000/about访问

    标签页面:

    1
    hexo new page tags

    该命令在/source目录下新建/tags目录,里面的index.md文件即是标签页面,打开并编辑:

    1
    2
    3
    4
    5
    ---
    title: 标签
    date: 2016-07-07 22:48:07
    type: "tags" //设置页面类型为 标签
    ---

    主题,使用NexT

    获取主题:

    1
    git clone https://github.com/iissnan/hexo-theme-next themes/next

    清除缓存并验证主题:

    1
    hexo s --debug

    用浏览器访问 http://localhost:4000,如果没有错误提示即是主题安装成功。

    修改主题配置文件/themes/next/_config.yml

    1
    2
    3
    4
    5
    keywords: //添加关键字
    scheme:Pisces //选择主题样式
    about: //显示关于:去掉about前面的#
    sidebar
    display: always //侧边栏一直显示

    生成网站,发布到Github page

    清除缓存

    1
    hexo clean

    生成静态文件:

    1
    hexo generate

    部署(此命令与上面一条命令可一起简写为: hexo d --g 或者 hexo g --d):

    1
    hexo deploy

博客搭建历时一天,并参考了多篇网友分享的文章(偷个懒就不一一列出了),在此一并致谢!
同样感谢Github PagesHexoNexT

更多关于Hexo的内容请参阅Hexo Docs中文文档
Now, 开始享受你的博客之旅吧!

You are never too old to learn.