热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Hexo+GitHub建站

前言:使用CSDN或简书撰写博客似乎是一件美事,只不过个人觉得太过于依赖他人平台,不如就自己搭建一个属于自己的博客。最终,个人选择了**Hexo+GitHub(Pages)*

前言: 使用CSDN或简书撰写博客似乎是一件美事,只不过个人觉得太过于依赖他人平台,不如就自己搭建一个属于自己的博客。

最终,个人选择了Hexo+GitHub(Pages)的方式。

GitHub Pages 是开源协作社区 GitHub 的一个服务,将博客部署到它上面再合适不过了。

Q W
为什么要部署到 GitHub Pages 上? 首先免费,其次省心,最后可以学习使用 GitHub。
GitHub Pages 有容量限制吗? 有,由 What is GitHub Pages? 可知:大小限制为 1GB,一个月 100GB 流量。
超出限制的容量怎么办? 讲真,如果图片音乐视频等大文件都放在七牛云 KODO、阿里云 OSS 或其它云存储上。
图片我更多是存放在图床上,比如路过图床或SM.MS。
国内访问速度行不行,有必要同时部署在 Coding 上吗? 个人感觉可有可无吧,自己不用***时,感觉访问速度可以,毕竟站点的大文件都是放在了云存储上,图片都是国内图床,加载较快。
我可以用自己的域名吗? 可以,并且原生支持 https。

安装篇


一、安装 Hexo前的准备

1、安装Hexo前的必要工作

安装以下两个程序:

程序 | 下载地址 | 说明|
--|--|--|--
Git|Git - Downloads| 网速的同学,可以自行百度移步到国内镜像 |
Node.js|Node.js - Downloads| 有LTS和Current两个版本,安装 LTS 版即可。 |由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。

注意:关于Git和Node.js的安装可能会有问题,尤其是Git的安装。这里贴上几张安装界面的截图。

wI2wcT.png

wI2R9x.png

wI2oHH.png

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
image.png

2、新建GitHub仓库

  1. 按照下图来新建一个Repo:
  • 最好勾选``Initialize this repository with a README`,图中忘记勾选了。

wIov7T.png

  1. 访问GitHub Pages

在建好的仓库右侧有个settings按钮,点击它

wITtUS.png

向下拉到GitHub Pages,提示的链接便是博客的首页了,可以点击浏览。(后期可以在这里绑定域名)

wIT5K1.png

二、正式安装Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。——官方

准备工作完成后,来安装hexo框架吧!
主要根据hexo官方的文档来安装Hexo。

  • 在本地电脑上新建一个文件夹,用来存放整个Hexo博客项目。这里默认路径是D:\blog

  • 使用 npm 安装 Hexo:

$ npm install -g hexo-cli

image.png

这样,Hexo就安装完成了。

可使用输入hexo -v,检查Hexo是否安装成功

三、初始化Hexo

hexo init,就会自动构建一个 hexo 项目,看到后面的Start blogging with Hexo!就说明初始化好了。

# 初始化Hexo
$ hexo init

四、安装npm必需组件

$ npm install

五、生成并预览

执行 hexo s,浏览器访问 localhost:4000 就可以看到效果啦!

# 本地预览
$ hexo s

初始化的默认博客页面:

wII0iQ.png

配置篇

一、配置git

1、 全局变量name、email

  • 可以在未来部署,并非一定现在

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

$ git config --global user.name  "your name"`

$ git config --global user.email "your Email"

2、生成私钥和公钥

$ ssh-keygen -t rsa

wh8K6e.png

3、绑定SSH公钥

登录Github,点击头像下的settings

wI7FPg.png

左侧点击SSH and GPG keys,添加ssh,新建一个New SSH key,将id_rsa.pub文件里的内容复制上去

wh810A.png

  • Title可以直接不填,Key粘贴id_rsa.pub文件里的内容

wh8oA1.png

4、修改_config.yml中的Deployment

配置Deployment,在其文件夹中,找到_config.yml文件,修改repo值(在末尾),repo值是github项目里的ssh

wIbQgJ.png

二、安装hexo-deployer-git插件

  • HexoBlog部署到git我们需要安装hexo-deployer-git插件,在blog目录下运行一下命令进行安装
$ npm install hexo-deployer-git --save

三、写作

# 创建文章,默认layout布局为:post
$ hexo new [layout] 

# 例如
$ hexo new post HelloHexo

关于这块,最好看官方文档:https://hexo.io/zh-cn/docs/writing

之后会在source文件夹的_post文件夹中看到你新建的文件HelloHexo.md

四、生成并部署博客

$ hexo d -g

生成以及部署了,在打开你的博客主页(melodyjerry.github.io)就可以看到你创建的文章了。

高阶篇

一、主题

1、选取喜欢的主题

在Hexo官方,有许多现成的主题了。当然,你想自己原创设计或二次开发也可以的


推荐阅读
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 本文详细介绍了如何创建和使用VUE uni-app开发环境,包括通过HBuilderX可视化界面和通过vue-cli命令执行的方法。文章内容简单清晰,易于学习与理解。通过学习本文,读者可以深入了解VUE uni-app开发环境,并通过实践验证掌握具体的使用情况。编程笔记将为读者推送更多相关知识点的文章,欢迎关注! ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
  • Node.js详细安装及环境配置
    1、下载安装根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包(官网:https:odejs.orgzh-cndownload).msi和.zip格式区别 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有