JERRY-Hexo-GitHub

《JERRY Hexo & GitHub 静态网站搭建说明》

原创内容,转载请注明出处!

一、前言

1.1 什么是 Hexo?

一个基于 Node.js 设计的快速、简洁且高效的博客框架

  • 超快速度
  • 支持 Markdown
  • 一键部署
  • 插件和可扩展性
  • 免费开源

1.2 什么是 GitHub?

一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式,故名 GitHub

  • 全球最活跃开源社区
  • 开源社交平台
  • 企业项目管理平台

1.3 什么是静态网站?

通俗的讲静态网站指:只有 前端 没有 后端 的网站,静态网站的所有页面内容在没有被修改的前提下都是固定不变的

适用于博客、固定页面展示等网站。

1.4 Hexo 与 GitHub 搭配建站的优缺点

(1)优点

  • 简单稳定
  • 开源免费
  • 社区活跃利于交流

(2)缺点:

  • 国内访问速度慢
  • 不支持动态网站搭建

二、安装 Git

2.1 什么是 Git?

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目

使用 GitHub 必须有 Git。

2.2 Git 的下载安装与配置

(1)下载安装

Git官网

选择对应系统版本下载,安装默认下一步即可。

(2)配置

打开终端键入以下命令:

$ git --version

# 查看 git 版本号
# 若成功识别即为 git 安装成功
$ git config --global user.name "xxx"
$ git config --global user.email xxx@xxx.com # 配置个人的用户名称和电子邮件地址
$ git config --list

# ...
# user.name=xxx
# user.email=xxx@xxx.com # 检查已有的配置信息
# 若配置信息中出现正确用户名及邮箱即为配置成功

三、安装 Node.js

3.1 什么是 Node.js?

一个基于 Chrome V8 引擎的 JavaScript 运行环境,使用了一个事件驱动 、非阻塞式 I/O 模型,让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与 PHPPythonPerlRuby 等服务端语言平起平坐的 脚本语言

3.2 Node.js 的下载安装与配置

Node.js官网

选择对应系统的长期支持版下载,安装默认下一步即可。

安装完成,打开终端键入以下命令:

$ node -v

# 查看 Node.js 版本
$ npm -v

# 查看 npm 包管理器版本

若以上两个命令都成功识别,那么 Node.js 便安装成功。

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

# 利用 npm 下载国内淘宝镜像 cnpm
$ cnpm -v

# 查看 cnpm 版本
# 若以上命令成功识别,那么 cnpm 便安装成功

什么是 npm 和 cnpm ?

  • npm (node package manager):Node.js 的包管理器,用于 node 插件管理(包括安装、卸载、管理依赖等)。

  • cnpm:因为 npm 安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常,所以乐于分享的淘宝团队解决了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步”。

四、安装 Hexo

4.1 Hexo 的下载安装与配置

下载安装:

可以参考Hexo官网

打开终端键入以下命令:

$ cnpm install hexo-cli -g

# 等待一会,安装完毕
$ hexo -v

# 查看 hexo 版本
# 若以上命令成功识别,那么 hexo 便安装成功

五、搭建静态网站

5.1 新建一个网站

$ hexo init [folder]

# 如果没有设置 folder,Hexo 默认在当前的文件夹建立网站

5.2 生成静态文件

$ hexo generate

# 该命令可以简写为 $ hexo g

5.3 启动服务器

$ hexo server

# 该命令可以简写为 $ hexo s
# 默认情况下,访问端口为:http://localhost:4000/
# 在浏览器中访问 http://localhost:4000/ 即可打开本地搭建好的网站

5.4 新建一篇文章

$ hexo new <title>

# 如果标题包含空格的话,请使用引号括起来 $ hexo new "first blog"
# 生成的 Markdown 文章放在 source 内的 _posts 下

六、利用 GitHub 部署网站

6.1 注册用户

GitHub官网

点击右上角注册即可。

6.2 创建同名仓库

  • 点击右上的 +,选择 New repository 新建一个仓库

  • 仓库名称设为 用户名.github.io

  • 仓库类型为 Public 公共类型

  • 复制仓库 HTTPS URL

6.3 更改 Hexo 配置文件

修改根目录 _config.yml 内的 deploy

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repo: https://github.com/用户名/用户名.github.io.git # HTTPS URL
branch: master

6.4 安装 hexo - git 部署工具

在 Hexo 博客根目录下,打开终端键入:

$ cnpm install hexo-deployer-git --save

# 安装 hexo-deployer-git 工具

6.5 远程部署到 GitHub Pages 服务器

$ hexo deploy

# 该命令可以简写为 $ hexo d

部署成功后即使用 https://用户名.github.io/ 在浏览器中访问网站。

七、结束语

7.1 美化 Hexo 网站

Hexo 支持主题自定义,并且有一个活跃的 主题社区

切换主题方法:下载主题到 themes 文件夹内并修改根目录 _config.yml 内的 theme 设定,即可切换主题。

修改配置主题请查阅相应主题的文档。

目前比较热门的几个主题:

7.2 使用 Hexo 插件

Hexo 是一个支持插件的可扩展框架,具体插件类型及安装方法请前往 Hexo 官网查看 或在搜索引擎求助。

7.3 帮助文档

Hexo 提供了全面的 Hexo 使用文档(中英文版)及 API 文档,在使用及开发优化 Hexo 的过程中,建议以官方文档为基准。

【与我联系 - 周吉瑞(JERRY)】

《JERRY Hexo & GitHub 静态网站搭建说明》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. ESP32低功耗模式

    1.ESP32 系列芯片提供三种可配置的睡眠模式,针对这些睡眠模式,我们提供了了多种低功耗解决方案,用户可以结合具体需求选择睡眠模式并进行配置.三种睡眠模式如下: Modem-sleep 模式:CPU ...

  2. linux驱动之LED驱动

    通过之前的学习,了解到linux驱动编写的流程是:先通过注册函数注册我们编写的入口函数,然后在入口函数中获取设备号->注册字符设备->自动创建设备节点->获取设备树信息,最后通过销毁 ...

  3. java001-泛型

    泛型出现的意义: 为编码阶段的不确定性和转化做视觉设计 将运行期遇到的问题转移到编译期,省去了强转的麻烦 package com.xiaolin.basic; /** * 泛型:将运行期遇到的问题转移 ...

  4. urllib库中的URL编码解码和GETPOST请求

    在urllib库的使用过程中,会在请求发送之前按照发送请求的方式进行编码处理,来使得传递的参数更加的安全,也更加符合模拟浏览器发送请求的形式.这就需要用urllib中的parse模块.parse的使用 ...

  5. react应用(基于react脚手架)

    使用create-react-app创建react应用 react脚手架 1) xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 a. 包含了所有需要的配置 b. 指定好了所有的依赖 ...

  6. 深入刨析tomcat 之---第23篇 聊一下web容器的filter配置和defaultservet

    writedby 张艳涛,在一个webapp应用程序内如何配置filter? <?xml version="1.0" encoding="ISO-8859-1&qu ...

  7. 构建前端第7篇之---elementUI设置主题,进而改变全局button底色

    张艳涛写于2020-1-20 What:是elementUI主题? 是内置的格式,elementUI默认只有一个主题,如果想整体替换按钮的颜色等问题,那么就可以用主题 设置步骤 在路径src/styl ...

  8. vue el-table 调整 行间距

  9. mysql查看当前连接数

    show status like 'Threads%';   需要root权限才能看到所有的连接

  10. jquery.autocomplete 使用解析

    页面引用 <script type="text/javascript" src="${base}/autocom/jquery-1.8.2.min.js" ...