Hexo+GitHub创建个人站点并发布

小编 2026-06-23 阅读:1143 评论:0
目录 1. 安装Git Bash 2. 安装NodeJs 3. 安装hexo 4. 生成SSH并添加到github 5. 部署项目 6. 上传到github 通过github可以发布个人博客(...

目录

1. 安装Git Bash

2. 安装NodeJs

3. 安装hexo

4. 生成SSH并添加到github

5. 部署项目

6. 上传到github


通过github可以发布个人博客(免去了寻找服务器的麻烦),通过域名绑定,可以使用自己的域名访问个人站点。

1. 安装Git Bash

git原来是为了同步github安装的,通过git bash 命令:git version 可以获取版本号。

2. 安装NodeJs

Hexo是基于nodeJS环境的静态博客,里面的npm工具很有用啊,下载地址(说明:LTS为长期支持版,Current为当前最新版)。之前也安装过NodeJs。通过(可以在cmd中)node -v 可以查看版本号。

3. 安装hexo

#安装过程中的警告(WARN)在不影响下一步操作时,可以先忽略。ERR要处理。

在gitbash中用npm工具安装就好了。先创建一个文件夹(用来存放所有blog的东西),然后cd到该文件夹下。安装hexo命令:npm i -g hexo 安装完成后,可以通过 npm-v 查看版本。

初始化命令:hexo init ,初始化完成之后打开所在的文件夹可以看到以下文件:

  • node_modules:是依赖包
  • public:存放的是生成的页面
  • scaffolds:命令生成文章等的模板
  • source:用命令创建的各种文章
  • themes:主题
  • _config.yml:整个博客的配置
  • db.json:source解析所得到的
  • package.json:项目所需模块项目的配置信息

4. 生成SSH并添加到github

需要有一个github的账号,然后创建一个repository,名称为yourname.github.io(其中yourname是你的github名称),必须这样命名。

回到gitbash中,配置github账户信息(YourName和YourEail都替换成你自己的):

$ git config --global user.name \"your username\"
$ git config --global user.email \"your email\"

创建SSH。在gitbash中输入:ssh-keygen -t rsa -C \"youremail@example.com\",生成ssh。需要输入保存的路径,其中文件名字必须是id_rsa。输入密码可以跳过为免密码。

Enter file in which to save the key (/c/Users/19829/.ssh/id_rsa): ...
...
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
...
The key\'s randomart image is:

创建成功会生成类似下图这样的图像

+---[RSA 2048]----+
|   oo o          |
|  o..* o         |
| . o. B .        |
|  = .o o .       |
| o +  . S        |
|  o = ...   E    |
| ooOo=.=.  .     |
|.+*+=++.o .      |
|===ooo. .+.      |
+----[SHA256]-----+

然后通过

$ cat id_rsa.pub

打开id_rsa.pub文件(上一步生成了两个文件分别是id_rsa和id_rsa.pub)复制文件内全部内容。将获取的ssh放到github中:settings——>ssh-key——>添加一个 New SSH key ,title随便取,key就填复制的内容。

在gitbash中验证是否添加成功(完成下一步你就成功啦!):

ssh -T git@github.com

Permission denied (publickey) 问题的一种可能解决方案(命名问题也可能导致该问题):通过ssh-add -l 查看的加入密匙列表,通过 ssh-add 添加密匙。

$ ssh-add -l
Could not open a connection to your authentication agent.

$ ssh-add -l
The agent has no identities.

$ ssh-add /f(window下的F盘)/生成的ssh所在位置/id_rsa

#添加成功后可以通过ssh-add -l 看到相关信息

$ ssh -T git@github.com
Hi username! You\'ve successfully authenticated, but GitHub does not provide shell access.
#添加成功

5. 部署项目

用编辑器打开你的blog项目,修改_config.yml文件的一些配置(冒号之后都是有一个半角空格的):

deploy:
  type: git
  repo: https://github.com/YourgithubName/YourgithubName.github.io.git
  branch: master

回到gitbash中,进入你的blog目录,分别执行以下命令:

hexo clean
hexo generate
hexo server

注:hexo 3.0把服务器独立成个别模块,需要单独安装:npm i hexo-server。打开浏览器输入:http://localhost:4000,接着你就可以遇见天使的微笑了~

6. 上传到github

先安装一波:npm install hexo-deployer-git --save(这样才能将你写好的文章部署到github服务器上并让别人浏览到)。执行命令(建议每次都按照如下步骤部署):

hexo clean
hexo generate
hexo deploy

在浏览器中输入http://yourgithubname.github.io就可以看到你的个人博客啦!

 

参考:http://chencheng.vip/csdn

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表