【项目实战】使用Github pages、Hexo如何10分钟内快速生成个人博客网站

news2024/11/23 19:33:06

文章目录

  • 一.准备工作
    • 1.安装git
    • 2.安装node
      • 安装 cnpm
    • 3.使用 GitHub 创建仓库,并配置 GitHub Pages
      • 0.Github Pages是什么
      • 1. 在 GitHub 上创建一个新仓库
      • 2. 创建您的静态网站
      • 3. 启用 GitHub Pages
      • 4. 等待构建完成
      • 5. 访问您的网站
  • 二. Hexo
    • 1.什么是Hexo
    • 2.安装Hexo
        • 1. 安装前提
        • 2.使用npm安装hexo-cli
        • 3.新建存储博客的文件夹,初始化hexo
        • 4.进入hexo项目文件夹,安装npm**
        • 5. 本地启动hexo项目
        • 6.将hexo博客站点部署到github上
        • 7. 推送hexo项目到github
          • hexo clean && hexo deploy 推送报错解决
    • 3.Hexo常用命令
    • 4.更换theme主题
        • 1. 找到喜欢的主题
        • 2.clone主题,或者将主题下载到本地解压
        • 3. 将主题解压后放到Hexo项目的`themes文件夹`下面
        • 4. 打开`_config.yml`配置文件,找到`theme:xxx`替换成你克隆下来的文件名
        • 5. 重新编译,并本地启动hexoo该hero项目
        • 6. 本地ok后上传到github等待审核通过
  • 三.配置指南
    • 1._config.yml中设置网站信息
    • 2.配置分类、标签
      • 2.1.创建分类选项
      • 2.2. 创建标签选项
      • 2.3.打开你要部署的md文件
    • 3.hexo报错解决方案

一.准备工作

1.安装git

git下载地址:https://git-scm.com/downloads

  • git安装完成后命令行执行 git -v 有返回表示安装完成

在这里插入图片描述

2.安装node

Hexo 基于 NodeJS 运行,因此在开始前,需要安装NodeJSnpm工具

  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)

    • 新版的Node都是内置安装了 npm 模块
  • git安装完成后命令行执行 node -v npm -v 有返回表示安装完成
    在这里插入图片描述

  • 如果执行 node -v 报错的话,手动将 Node.js 的安装路径添加到环境变量中

安装 cnpm

如果npm很慢,可以配置taobao的镜像:

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

配置后,使用 cnpm 代替 npm 命令即可。

3.使用 GitHub 创建仓库,并配置 GitHub Pages

0.Github Pages是什么

  • Github Pages 是一个免费的静态网页托管服务,可以托管博客、项目官网等静态网页。目前 Gitee Pages 支持 Jekyll、Hugo、Hexo编译静态资源。
    • 编译 Hexo 依据仓库编译目录下存在 package.json、_config.yml文件和 scaffolds 目录时,会使用hexo generate生成静态文件。由于每次部署需要重新克隆代码、执行 npm install 以及编译,部署时间相对于 Hugo 和 Jekyll 会长一些。

    • 编译 Hugo 依据:仓库编译目录下存在config.toml|json|yaml文件和 content 目录时,会使用hugo生成静态文件。

    • 当不符合上述 1 和 2 条件的时候,就使用 Jekyll 编译。

2.使用前须知

    1. 仓库必须有 index.html 才可以正常访问
    1. 静态网页的样式可以自己写,也可以拿一些静态模版来修改,Pages服务本身不提供任何形式的模版

3.Pages 进阶,使用 Jekyll、Hugo、Hexo 生成自己的静态网页

  • Jekyll、Hugo、Hexo 究竟是什么?
    在这里插入图片描述

    • Jekyll 使用文档:https://www.jekyll.com.cn/docs/home/
    • Hugo 使用文档:https://gohugo.io/documentation/
    • Hexo 使用文档:https://hexo.io/docs/

1. 在 GitHub 上创建一个新仓库

登录到您的 GitHub 账户(没有就注册一个吧,开始你的GitHub之旅)

  • 在页面右上角,点击页面顶部的 “+”(加号)按钮,然后选择 “New repository”(新建仓库)

  • github仓库用于存放个人博客页面,仓库名必须使用<GitHub用户名>.github.io格式。

  • 填写一个简短的描述,选择是否要将仓库设置为公共或私有
    在这里插入图片描述

  • 勾选 “Initialize this repository with a README” 选项,这将创建一个初始的README文件
    在这里插入图片描述

2. 创建您的静态网站

  • 创建仓库完成后,必须在仓库根路径下创建一个名为index.html的来验证个人博客搭建是否成功。

在这里插入图片描述
在这里插入图片描述

	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>怎么回事</title>
	</head>
	<body>
	    <h1>您好</h1>

3. 启用 GitHub Pages

  • 进入仓库的 Settings(设置)选项卡
  • 在左侧导航栏中,选择 “Pages
  • 在 “Source” 部分,选择您希望用于 GitHub Pages 的分支(通常是 main 或 gh-pages
  • 点击 “Save
    在这里插入图片描述

4. 等待构建完成

构建完成后, 在<GitHub用户名>.github.io仓库对应的 GitHub Pages 设置页面 (访问路径为Settings -> Pages) 可以找到个人博客的主页访问地址:https://<GitHub-username>.github.io/<repository-name>

  • 其中 GitHub-username 是您的 GitHub 用户名repository-name是您的仓库名称
    • 由于我的仓库名叫ouyangll.github.io ,自带.github.io 所以生成的个人博客访问地址为https://ouyangll.github.io/
      在这里插入图片描述

5. 访问您的网站

  • 等待几分钟后,若能在浏览器中正常访问该地址,即代表个人 GitHub Pages 搭建成功。

在这里插入图片描述

二. Hexo

1.什么是Hexo

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

  • 官方教程:https://hexo.io/zh-cn/docs/

2.安装Hexo

1. 安装前提
  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
  • Git
2.使用npm安装hexo-cli
npm install -g hexo-cli 
	或者
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g hexo-cli
  • 安装完成可输入hexo -v查看版本
3.新建存储博客的文件夹,初始化hexo
mkdir github_blog
hexo init github_blog
4.进入hexo项目文件夹,安装npm**
cd github_blog

npm install

在这里插入图片描述

5. 本地启动hexo项目
hexo server

访问http://localhost:4000/ 至此hero就搭建好了。可以在本地访问了

6.将hexo博客站点部署到github上
  1. npm安装hexo的上传插件deploy-git
npm install hexo-deployer-git --save
  1. 修改hexo配置文件_config.yml指定仓库路径
		deploy:
		  type: git
		  repo: https://<github_token>@github.com/ouyangll/ouyangll.github.io.git
		  branch: main
7. 推送hexo项目到github
hexo clean && hexo deploy

推送中会要求输入github的用户名和密码,GitHub 从 2021 年 8 月 13 日起不再支持通过密码进行认证。因此,使用电子邮件和密码的方式克隆或推送代码到 GitHub 仓库将会失败。

hexo clean && hexo deploy 推送报错解决

在这里插入图片描述

  • GitHub 从 2021 年 8 月 13 日起不再支持通过密码进行认证。因此,使用电子邮件和密码的方式克隆或推送代码到 GitHub 仓库将会失败。

  • 推荐使用个人访问令牌(Personal Access Token, PAT)或 SSH 密钥进行认证。你可以前往 GitHub 的设置页面,生成一个 PAT,并在 Git 命令中使用它来代替密码

    • 请查看 https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls 以获取当前推荐的认证模式信息。
  • 致命错误:出现问题。也许您可以在这里找到解决方案:https://hexo.io/docs/troubleshooting.html

  1. 在github页面的右上角,单击您的个人资料照片,然后单击 Settings(设置)

    在这里插入图片描述

  2. 在左侧边栏中,单击 Developer settings
    在这里插入图片描述

  3. 在左侧边栏中,单击 Personal access tokens(个人访问Tokens) 然后点击 Generate new token(生成新Tokens)
    在这里插入图片描述
    在这里插入图片描述

  4. 设置token名称,过期日期,以及权限。
    在这里插入图片描述

  5. 点击生成
    在这里插入图片描述
    在这里插入图片描述

  6. 记得将生成的token复制并且存储下来,因为安全原因当您离开该页面之后,token将不再显示

你在github上的原始url: https://github.com/<github-username>/<repo-name>.git
	而你现在需要clone的则是:https://<your_token>@github.com/<github-username>/<repo-name>.giy
  • 也可以在密码登录时使用token作为密码进行登录认证

上传成功
在这里插入图片描述

3.Hexo常用命令

  1. hexo init: 命令用于初始化一个本地文件夹为网站的根目录

  2. hexo new <title > 新建一篇文章

  3. hexo clean 命令用于清理缓存文件
    在这里插入图片描述

  4. hexo generate:该命令用于生成静态文件,可以简写成 hexo g
    在这里插入图片描述

  5. hexo deploy 命令用于部署网站,上传文件到git/gitee 可以简写成 hexo d

  6. hexo server 命令用于启动本地服务器,可以简写成 hexo s

    • -p 选项,指定服务器端口,默认为 4000
    • -i 选项,指定服务器 IP 地址,默认为 0.0.0.0
    • -s 选项,静态模式 ,仅提供 public 文件夹中的文件并禁用文件监视
  7. hexo --safe 表示安全模式,用于禁用加载插件和脚本

  8. hexo --debug 表示调试模式,用于将消息详细记录到终端和 debug.log 文件

4.更换theme主题

1. 找到喜欢的主题

hexo主题地址:Themes | Hexo
在这里插入图片描述
在这里插入图片描述

2.clone主题,或者将主题下载到本地解压

https://github.com/zhangolve/hexo-theme-olive
在这里插入图片描述

3. 将主题解压后放到Hexo项目的themes文件夹下面

在这里插入图片描述

4. 打开_config.yml配置文件,找到theme:xxx替换成你克隆下来的文件名

在这里插入图片描述

在这里插入图片描述

5. 重新编译,并本地启动hexoo该hero项目
cd github_blog 进入hexo项目
hexo generate 生成静态文章
hexo server 本地启动

http://localhost:4000/

6. 本地ok后上传到github等待审核通过
hexo clean && hexo deploy  清理缓存上传github

在这里插入图片描述

三.配置指南

1._config.yml中设置网站信息

在这里插入图片描述

2.配置分类、标签

2.1.创建分类选项

  • hexo默认是按时间(年月日)分类,如果自定义分类:

    hexo new page categories
    
  • 生成文件在...\source\categories\index.md
    在这里插入图片描述

  • 编辑创建分类生成的...\source\categories\index.md文件,加入 categories :

    ---
    title: 分类
    date: 2024-05-10 14:37:47
    type: "categories"
    ---
    

2.2. 创建标签选项

  • 默认是没有标签的,生成标签:

    hexo new page tags
    
  • 生成文件...\source\tags\index.md
    在这里插入图片描述

  • 打开...\source\tags\index.md文件,加入 tags:

    ---
    title: 标签
    date: 2024-05-10 14:37:47
    type: "tags"
    ---
    

2.3.打开你要部署的md文件

部署到服务器的文章统一在放在source/_posts目录下
在这里插入图片描述

打开文章,在头部声明分类和标签

---
title: 安装NodejsGitNpm教程
date: 2024-05-10 14:52:57
categories: 
- web前端
- 环境安装
tags:
- Nodejs
- Git
- Npm
---
  • 分类 只能有一个,如果有多个默认取第一个;标签可以有多个

在这里插入图片描述

编译并上传

hexo g && hexo d

等待审核查看网站是否生效

在这里插入图片描述

要添加更多的归档或者自定义分类,参考:https://www.jianshu.com/p/ebbbc8edcc24

3.hexo报错解决方案

hexo d命令报错 ERROR Deployer not found: git
解决npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to
搭建Hexo博客中遇到的那些“坑”


Hexo 好看的主题推荐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RAG查询改写方法概述

在RAG系统中&#xff0c;用户的查询是丰富多样的&#xff0c;可能存在措辞不准确和缺乏语义信息的问题。这导致使用原始的查询可能无法有效检索到目标文档。 因此&#xff0c;将用户查询的语义空间与文档的语义空间对齐至关重要&#xff0c;目前主要有查询改写和嵌入转换两种方…

QT创造一个新的类(柱状图的类),并关联属性和方法

1.以在UI上添加柱状图的类为例&#xff08;Histogram&#xff09; #ifndef STUDY_HISTOGRAM_H #define STUDY_HISTOGRAM_H#include <QVector> #include <QWidget>// 前向声明 QT_BEGIN_NAMESPACE class QColor; class QRect; class QString; class QPaintDevice; …

适用于 macOS 的最佳独立 HBO Max 客户端

适用于 macOS 的最佳独立 HBO Max 应用程序。不再在浏览器选项卡之间切换。只需直接从 Dock 启动 Clicker for HBO Max 即可开始狂欢。 HBO Max 客户端 Clicker for HBO Max 下载 Clicker for HBO Max mac版安装教程 软件下载完成后&#xff0c;双击pkg根据提示进行安装 Clic…

27、Qt自定义标题栏

一、说明 QtWidget及其子类有默认的标题栏&#xff0c;但是这个标题栏不能美化&#xff0c;有时候满足不了我们的使用需求&#xff0c;所以进行自定义标题栏 二、下载图标 在下面的链接中下载两种颜色的最大化、向下还原、最大化和关闭八个图片&#xff0c;并找一张当做图标…

c++opencv Project3 - License Plate Detector

俄罗斯车牌识别案例&#xff1a;实时识别车牌&#xff0c;并且读取到指定文件夹中。 惯例先展示结果图&#xff1a; 对于摄像头读取图片进行车牌匹配&#xff0c;原理和人脸识别其实是一致的。 利用训练好的模型进行匹配即可。可参考&#xff1a; 对视频实现人脸识别-CSDN博…

MySQL索引(聚簇索引、非聚簇索引)

了解MySQL索引详细&#xff0c;本文只做整理归纳&#xff1a;https://blog.csdn.net/wangfeijiu/article/details/113409719 概念 索引是对数据库表中一列或多列的值进行排序的一种结构&#xff0c;使用索引可快速访问数据库表中的特定信息。 索引分类 主键索引&#xff1a…

drawio 网页版二次开发(1):源码下载和环境搭建

目录 一 说明 二 源码地址以及下载 三 开发环境搭建 1. 前端工程地址 2. 配置开发环境 &#xff08;1&#xff09;安装 node.js &#xff08;2&#xff09;安装 serve 服务器 3. 运行 四 最后 一 说明 应公司项目要求&#xff0c;需要对drawio进行二次开发&…

Redis学习1——redis简介、基础

介绍 redis简介 Redis(Remote Dictonary Server) 是由Salvatore Sanfilippo开发的key-value缓存数据库&#xff0c;基于C语言开发。目前市面上&#xff0c;Redis和MongoDB是当前使用最广泛的NoSQL&#xff0c;而就Redis技术而言&#xff0c;它的性能十分优越&#xff0c;可以…

HackMyVM-Animetronic

目录 信息收集 arp nmap nikto whatweb WEB web信息收集 feroxbuster steghide exiftool hydra ssh连接 提权 系统信息收集 socat提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:9d:6d:7…

jenkins部署想定报错

报错&#xff1a; 解决办法&#xff1a; 登录被编译的设备&#xff0c;清楚旧代码&#xff0c;在重新执行

burp靶场xss漏洞(初级篇)

靶场地址 http://portswigger.net/web-security/all-labs#cross-site-scripting 第一关&#xff1a;反射型 1.发现搜索框直接注入payload <script>alert(111)</script> ​ 2.出现弹窗即说明攻击成功 ​ 第二关&#xff1a;存储型 1.需要在评论里插入payload …

object

object.clone() 在 Java 中&#xff0c;Object.clone() 方法执行的是浅拷贝&#xff08;shallow copy&#xff09;&#xff0c;而不是深拷贝&#xff08;deep copy&#xff09;。 浅拷贝&#xff08;Shallow Copy&#xff09;&#xff1a; 浅拷贝是指在拷贝对象时&#xff0…

Al Agent:开启智能化未来的关键角色,让机器更智能的为我们服务

文章目录 &#x1f680;Al Agent是什么&#x1f4d5;Al Agent的工作原理与技术&#x1f4aa;Al Agent应用领域&#x1f680;智能家居应用&#x1f308;医疗健康领域⭐金融服务行业&#x1f302;交通运输管理&#x1f3ac;教育培训应用 &#x1f512;Al Agent优势与挑战✊Al Age…

中国地形可调节高度-UE5-UE4

2000坐标系&#xff0c;可进行高度调整。 支持版本4.21-5.4版本 下载位置&#xff1a;https://mbd.pub/o/bread/ZpWZm5Zs

初探 JUC 并发编程:读写锁 ReentrantReadWriteLock 原理(8000 字源码详解)

本文中会涉及到一些前面 ReentrantLock 中学到的内容&#xff0c;先去阅读一下我关于独占锁 ReentrantLock 的源码解析阅读起来会更加清晰。 初探 JUC 并发编程&#xff1a;独占锁 ReentrantLock 底层源码解析 6.4&#xff09;读写锁 ReentrantReadWriteLock 原理 前面提到的 R…

LeetCode 209 长度最小的子数组(滑动窗口and暴力)

、 法一&#xff1a;滑动窗口 //使用滑动窗口来解决问题 //滑动窗口的核心点有&#xff1a; /*1.窗口内是什么&#xff1f;2.如何移动窗口的起始位置&#xff1f;3.如何移动窗口的结束位置&#xff1f;4.两个指针&#xff0c;怎么判断哪个指针是终止指针&#xff0c;哪个指针…

【核武器】2024 年美国核武器-20240507

2024年5月7日,《原子科学家公报》发布了最新版的2024美国核武器手册 Hans M. Kristensen, Matt Korda, Eliana Johns, and Mackenzie Knight, United States nuclear weapons, 2024, Bulletin of the Atomic Scientists, 80:3, 182-208, DOI: https://doi.org/10.1080/00963…

【JavaScript】内置对象 - 数组对象 ① ( 数组简介 | 数组创建 | 数组类型检测 )

文章目录 一、数组对象1、数组简介2、数组创建3、数组检测 - Array.isArray() 方法4、数组检测 - instanceof 运算符 Array 数组对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array 一、数组对象 1、数组简介 在 JavaScr…

嫁接打印的技术要点

所谓嫁接打印&#xff0c;是一种增减材混合制造的方式。它将已成形的模具零件当作基座&#xff0c;在此基础上“生长”出打印的零件。其中基座通常采用传统加工方式制造&#xff0c;而打印部分则使用专用的金属粉末&#xff0c;通过 3D 打印技术成型。 嫁接打印之所以备受欢迎&…

PyTorch 图像篇

计算机视觉技术是一门包括计算机科学与工程、神经生理学、物理学、信号处理、认知科学、应用数学与统计等多学科的综合性科学技术&#xff0c; 是人工智能的一个重要分支&#xff0c; 目前在智能安防、自动驾驶汽车、医疗保健、生成制造等领域具有重要的应用价值。 计算机视觉…