《JERRY Hexo & GitHub 静态网站搭建说明》
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)下载安装
选择对应系统版本下载,安装默认下一步即可。
(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 成为与 PHP
、Python
、Perl
、Ruby
等服务端语言平起平坐的 脚本语言
。
3.2 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 的下载安装与配置
下载安装:
打开终端键入以下命令:
$ 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 注册用户
点击右上角注册即可。
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)】
QQ:1846334075
微信:zhoujirui54
邮箱:www.zjr1846334075@foxmail.com
《JERRY Hexo & GitHub 静态网站搭建说明》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- MySQL基础篇(一)
本文主要内容为MySQL的基础语句以及正则表达式等内容. 本文操作的数据库内容存在个人github:https://github.com/YuanGao-1/blog_demo.git init_sc ...
- take for granted
解释含义1 Take for granted是一句地道的英语口语,意思是to expect someone to always be there and do things for you even ...
- c语言:getch() getchar()
1.getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码:若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区.若程序中有后 ...
- 一行代码打印python之禅
就这一句: import this 输出: The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is be ...
- java面向对象程序设计(下)-枚举类
在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象;再比如行星类,目前只有8个对象,这些实例有限而且固定的类,在Java中被称为枚举类 JDK1.5新增了一个enum关键字,(它与 ...
- HelloWord!
HelloWorld 1.新建一个文件夹,存放代码 2.新建一个java文件后缀为.java Hello.java (注意后缀 如系统没打开显示后缀需要打开) 3.编写HelloWorld代码 (建议 ...
- PO封装设计模式 -- Web页面端测试
一.已登录页面 -->新建PO封装的包 -- 以下源码适用于python3以上的版本 代码优化新增 Image -->对操作步骤进行截图 二.basepage 包基础类的封装如下: fro ...
- 【对线面试官】CountDownLatch和CyclicBarrier的区别
<对线面试官>系列目前已经连载31篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...
- POJ3190 - 优先队列 贪心
POJ3190 将所有牛从小到大排序然后用优先队列(小根堆)依次记录插入的牛的结束时间,如果插入牛时起始时间大于首元素,ans不增加并弹出首元素. 挺简单的.那么为什么我会写(水)这篇博客呢? #in ...
- 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【二】
HarmonyOS内核开发-信号量开发案例学习记录 一.LiteOS里面的任务管理介绍: 任务状态通常分为以下四种: 就绪(Ready):该任务在就绪列表中,只等待CPU. 运行(Running) ...