跌跌撞撞,总算是建立起来了。回首走过的这么多坑,也真的是蛮不容易的。那么就写点东西,记录我是怎么搭建的吧。


准备工作

  • 安装Node.js: 用于生成静态页面,我们需要到官网上去下载即可。http://nodejs.org

  • 安装Git:作用就是把本地的hexo内容commit到我们的远程仓库,实现更新操作https://git-scm.com/download/

  • 申请GitHub账号:用来盛装我们的代码,这样才能够被访问,程序员如果没有这个账号,那我就不说什么了。

    SSH Keys,看你自己了,可以不配制,不配置的话以后每次对自己的博客有改动提交的时候就要手动输入账号密码,配置了就不需要了。至于怎么配置,网上的资源很多。

安装HEXO

进行到这一步的前提是你已经安装好了Node.js和Git了,不然接下来的你是没办法进行下去的。

随便找一个文件夹,然后右键使用gitbash打开:

npm install -g hexo // 即使用npm命令进行全局安装hexo

然后就是对这个文件夹进行初始化的操作:

hexo init

进行到这一步,基本上全部的安装工作也算是完成了。这个hexo init的文件夹,就是你的项目的根目录咯。

撰写博客

经过了刚才的那些繁琐的安装流程,接下来的就轻松了。我们只需要使用几个有限的命令,就可以生成页面精美的博客了。

首先还是浏览一下常用的命令吧:

  • hexo new “postName” #新建文章
  • hexo new page “pageName” #新建页面
  • hexo generate #生成静态页面至public目录
  • hexo server #开启预览访问端口(默认端口4000,’ctrl + c’关闭server)
  • hexo deploy #将.deploy目录部署到GitHub
  • hexo help # 查看帮助
  • hexo version #查看Hexo的版本

然后我们就正式开始吧,使用hexo new “BlogName” 就可以创建一个新的.md文件(markdown文件,大家可以参考我之前的这篇文章。Markdown 入门与提高

然后,我们可以进入到source文件夹下,通过查找就可以找到了。我们可以随意的使用任何的文本编辑器编写markdown类型的博客内容。写完之后,保存即可。

最后在git bash中使用

hexo generate // 生成html类型的博文

这样,我们的编辑工作就完成了。

部署博客到GitHub

我们可以手动的使用浏览器的方式进行upload文件,但是每次都要很繁琐的进行一系列的操作,我不太喜欢这种方式。所以我仍旧是用命令行来完成提交。

当然了,我们要想使用git命令,得有一点git的基础才行。大家仍旧可以参考我之前的文章:

GitHub 如何提交代码,即问题汇总

Git客户端及常用的Git命令

然后最最重要的就是配置根目录下面的_config.yml文件了,具体的大家可以参考我的这个,有人可以到网上搜索一下。

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: 博客主标题
subtitle: 人生的乐趣不止编程,但没有编程,一定不快乐!
description: 记录进步的点点滴滴
author: 你的名字
language: default
email: 你的邮箱
timezone: Asia/Hong_Kong

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://guoruibiao.github.io
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true
  line_number: true
  auto_detect: true
  tab_replace:

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: git@github.com:你的GitHub账号/你的GitHub账号.github.io.git
  branch: master

接下来就可以部署我们已经编写好的博客内容了。

总的来说需要三个命令:

hexo clean // 清理文件

hexo generate  // 生成目标的html

hexo deploy  //  发布

我遇到的问题

我遇到的问题比较的奇葩,我的配置文件明明是正确的,我也检查了好几遍,但是每次deploy的时候,它总会将我的项目文件全部的上传到我的GitHub仓库。导致我访问我的io账号的时候出现404错误。

我的解决办法:

我每次完成编写,生成html之后。不会使用hexo deploy命令。

而是手动的在我的public文件夹下:

git add .
git commit -m 'update'
git remote add origin git@github.com:yourAccount/yourAccount.github.io.git
git push -u origin master -f

这样强制性的提交代码,就不会出现404错误了。

总结

搭建Github Pages的这个流程说起来复杂,但是完成后看起来也不复杂。可能就在于对一个新知识的接受需要一个过渡吧。未知的总是充满着晦涩难懂的概念。

不过,跌跌撞撞。总算是完成了,接下来的任务就是更换主题,添加sitemap,以及添加评论功能了。大家可以参考下面的这篇好文

搭建HEXO静态博客

HEXO主题选择

Github Pages 搭建HEXO主题个人博客的更多相关文章

  1. Github Pages和Hexo创建静态博客网站

    Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...

  2. 使用Github Pages和Hexo构建个人博客

    Github Pages可以创建免费的静态站点,支持自带主题.支持自制页面等,并且可以使用Jekyll或者Hexo等静态博客框架进行管理. 独立博客是博客园等博客平台之外的一个良好补充,相比使用虚拟主 ...

  3. 我是如何利用Github Pages搭建起我的博客,细数一路的坑

    1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...

  4. GitHub上搭建Hexo化的博客

    遇过的坑: 使用GitBash安装Hexo(npm的环境变量配置)注意 安装完成后添加Path环境变量,使npm命令生效.新版已经会自动配置Path 1 ;C:\Program Files\nodej ...

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

    1.基础准备 github账号 安装git 安装node.js.npm 2.创建repo 3.配置SSH key 这一步并不重要,配置SSH key与否,并不影响博客的搭建和使用,只是配置了之后,更新 ...

  6. 使用 github Pages 服务建立个人独立博客全过程

    你是否有这样子的需求,只是想简单的写写文章,记录下自己的学习心得.成长经历等,都是些文字内容,不需要配置使用数据库.不想购买服务器自己搭建站点,只是想安安静静的用比较舒服的方式来写篇文章. 静态博客就 ...

  7. 用GitHub Pages搭了个静态博客

    经过周末两天折腾,终于在GitHub Pages上用Hugo搭了个静态博客. 链接:https://xusiwei.github.io/ @ruanyf 曾经在博客里提到过"喜欢写Blog的 ...

  8. Github pages + Minimal-Mistakes + Disqus建立个人博客记录

    本文详细记录了利用Github pages建立个人博客的步骤. github pages官方推荐使用Jekyll生成静态网页,jekyll支持各种不同的主题,Minimal-Mistakes是一个功能 ...

  9. 应用github pages创建自己的个人博客

    首先你需要注册自己的github账号 1.登录或者注册github,登录之后点击右上角的“+”号,选择“New repository”菜单,创建仓库,用于存储和博客相关的源文件. 2.跳转页面将填写域 ...

随机推荐

  1. [HNOI2011]任务调度

    题目描述 有 N 个任务和两台机器 A 与 B.每个任务都需要既在机器 A 上执行,又在机器 B 上执行, 第 i 个任务需要在机器 A 上执行时间 Ai,且需要在机器 B 上执行时间 Bi.最终的目 ...

  2. Codeforces 2B. The least round way

    There is a square matrix n × n, consisting of non-negative integer numbers. You should find such a w ...

  3. hdu 4533 线段树(问题转化+)

    威威猫系列故事——晒被子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  4. bzoj3224Tyvj 1728 普通平衡树 treap

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 17706  Solved: 7764[Submit][St ...

  5. LCD接口和RGB介绍【转】

    转自:https://www.cnblogs.com/hzl6255/p/5470583.html 阅读目录 1. 介绍 2. 接口类型 3. RGB 4. YUV 5. FOURCC 回到顶部 1. ...

  6. 【译】基于主机的卡仿真(Host-based Card Emulation)

    基于主机的卡仿真(Host-based Card Emulation) 能提供NFC功能很多Android手机已经支持NFC卡模拟.在大多数情况下,该卡是由设备中的单独的芯片仿真,所谓的安全元件.由无 ...

  7. OCP 认证考试报名费技巧题库051052053解析合格线

    本人于2017年4月22日通过参加OCP考试,第一次参加,一天之内考了三门,三门一次性通过,052 - 95% ,053 - 86% ,051 - 100% 一.关于考试考试报名费: 052:158$ ...

  8. SpringCloud学习之sleuth&zipkin

    一.调用链跟踪的必要性 首先我们简单来看一下下单到支付的过程,别的不多说,在业务复杂的时候往往服务会一层接一层的调用,当某一服务环节出现响应缓慢时会影响整个服务的响应速度,由于业务调用层次很“深”,那 ...

  9. C语言第三次程序设计作业

    (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 1)源程序(有错误的程序) #include <stdio.h> int main(v ...

  10. Oracle10g以上sysaux表空间的维护和清理

    SYSAUX表空间在Oracle 10g中引入,其作为SYSTEM表空间的辅助表空间.之前,一些使用独立表空间或系统表空间的数据库组件,现在SYSAUX表空间中存在.通过分离这些组件,减轻了SYSTE ...