Hexo + NexT + Github搭建个人博客

news2025/1/23 15:58:57

文章目录

  • 一、 安装
  • 二、配置相关项
    • NexT config
    • 更新主题
    • 主题样式
    • 本地实时预览
    • 常用命令
  • 三、主题设置
    • 1.侧边栏
    • 2.页脚
    • 3.帖子
      • 发布字数统计
    • 4.自定义
      • 自定义页面
      • Hexo 的默认页面
      • 自定义 404 页
      • 自定义样式
    • 5.杂项
      • 搜索服务
  • 四、第三方插件
    • NexT 自带插件
    • 评论系统
      • 阅读和访问人数统计
  • 五、部署到GitHub Pages
  • 六、小技巧
        • 在 PowerShell 上通过自定义命令来简化目录导航
  • 参考文档


零成本搭建博客,下面就介绍一下我的搭建过程以及一些踩过的坑。参考样式:点击访问

零成本搭建博客,国内访问也没问题,下面就介绍一下我的搭建过程以及一些踩过的坑。参考样式:点击访问

一、 安装

  1. 安装 Hexo在这里插入图片描述

  2. 安装 NexT 主题

    npm install hexo-theme-next
    
  3. 在 Hexo config 中把主题改为 NexT

    theme: next

二、配置相关项

NexT config

因为我是用 npm 安装的主题,所以需要将他的配置文件单独拉取出来,这也是官方推荐的,可以根据下面这篇文章去配置

#config-next-yml

现在我们得到了 NexT 主题的配置文件 _config.next.yml

更新主题

npm install hexo-theme-next@latest

主题样式

#scheme: Muse
#scheme: Mist
#scheme: Pisces
scheme: Gemini
drakmode # 深色模式

现在可以看我们的站点了 hexo clean && hexo s

本地实时预览

hexo g -w
hexo generate --watch

常用命令

hexo new <title>  # 新建文章
hexo new page <"page name">   # 建立新页面
hexo clean # 清除缓存文件
hexo list <type>  # 列出所有路由
hexo s  # 启动
hexo clean && hexo d  # 部署

三、主题设置

下面我仅用相关参数表示对应功能,大家在 NexT 配置文件中 Ctrl + F 即可找到它们。

1.侧边栏

toc - 侧边栏目录

favicon - 站点 icon,放 \source 目录下即可,因为我想要把 \source\images 用于存放帖子的图片

custom_logo - 头像, \source

creative_commons - CC 许可证,中文为 zh-hans

menu - 配置菜单项,就是主页、归档那些什么的显示

avatar - 更换侧边栏头像

social - 侧边栏社交链接

links - 友链

2.页脚

powered - 由 Hexo & NexT.Gemini 强力驱动

reward - 打赏

follow_me - 文章底部社交链接

3.帖子

tag_icon - 将正文底部的标签左边的#替换为icon

<!-- more --> - 手动断开文章,使得首页不显示文章全文

发布字数统计

  1. 安装

    npm install hexo-word-counter
    hexo clean
    
  2. Hexo config: symbols_count_time

  3. NexT config:

    symbols_count_time:
      symbols: true  # 帖子字数
      time: true  # 阅读时间
      total_symbols: true  # 站点总字数
      total_time: true  # 站点总阅读时长
      awl: 4  # 平均字长(以单词为单位的字符数)
      wpm: 275  # 每分钟的平均字数
    

4.自定义

自定义页面

  1. 先创建一个页面

    cd [your-site]  # 进到站点中
    hexo new page [page-name]  # 创建页面
    
  2. 在文件开头的 YAML 块(用于写入配置)中添加配置

  3. 通过主题的配置文件将你所创建的页面路由写入菜单menu,图标在 font awesome 中找

    # 标签
    ---
    title: Tags
    date: 2014-12-22 12:39:04
    type: tags
    ---
    

Hexo 的默认页面

  • 《标签》页:记得加type: tags,它的配置项在 tagcloud
  • 《分类》页:加上 type: categories 即可

自定义 404 页

  1. 确保禁用 relative_link

  2. 新建 404 页

    cd hexo-site
    hexo new page 404
    

    用户是否可以重定向到 404 页面取决于网站托管服务或 Web 服务器的设置,而不是 Hexo。例如,如果使用 Nginx 作为服务器,则还需要在 nginx.conf 文件中配置 404 页面。

自定义样式

自定义文件
与数据文件一样,您可以将所有自定义布局或样式放置存放在 source/_data 中,并在NexT config 中把 custom_file_path 中的注释打开相应的注释打开。

动态背景的配置,由于感觉有点占内存后面我给取消掉了

5.杂项

reading_progress - 顶部阅读进度加载条

back2top - 返回顶部按钮

bookmark - 书签(保存用户阅读进度)

github_banner - 右上角的 GitHub 标签

font - 更换字体

pace - 页面加载期间顶部的进度条

codeblock - 代码块相关设置

搜索服务

  1. npm install hexo-generator-searchdb安装

  2. Hexo config:

    search:
      path: search.xml
      field: post
      content: true
      format: html
    
  3. Next cofig:

    local_search:
      enable: true
    

四、第三方插件

官方插件库

NexT 自带插件

pajx - 加速访问网页

fancybox - 查看图片(更多自定义)

mediumzoom - 查看图片(仅查看,这两个不能同时开)

lazyload - 延迟图片加载

pangu - 在中文和英文数字间加个空格

quicklink - 加快访问速度

pace - 进度条

评论系统

我选择 Waline非常好用 ,不用登录也可以评论,注意一个就是那边的 serverURL 记得填成 Domains 旁的网址,也有 NexT 主题的插件,可以点击进去配置。

Waline官方文档

Waline用 Vercel 部署非常方便,但是奈何被墙国内无法访问😭(白嫖党泪目)最终还是改用了utterances,屈服了,Waline等以后有自己服务器再配置吧(可能)

  1. 安装在这里插入图片描述

  2. 在 NexT config 中找到并启用 utterances

阅读和访问人数统计

参考这篇博客

五、部署到GitHub Pages

可以看 Hexo 官方文档配合食用

  1. 建立名为 <username>.github.io的储存库

  2. 在项目目录底下安装插件用于一键部署

    npm install hexo-deployer-git --save
    
  3. 在 Hexo config 下添加以下配置

    deploy:
      type: git
      repo: https://github.com/<username>/<project>
      branch: gh-pages
    
  4. 执行 hexo clean && hexo d,即可配置成功

六、小技巧

在 PowerShell 上通过自定义命令来简化目录导航

效果:在这里插入图片描述

  1. notepad.exe $PROFILE 打开 pwsh 的配置文件

  2. 添加以下内容

    function order {
        Set-Location -Path "your path"
    }
    
  3. 上面的 order 可以改成自己想要的指令,路径根据自己的工作区来设置

  4. 完成后保存并关闭文件,使用 . $PROFILE 应用一下配置

最后来说一下正常写文章的流程:

  1. cmd + r 打开 PowerShell(我习惯是这样)
  2. cd 到项目目录
  3. hexo new "文章名称"
  4. typora .\source\_posts\title.md 打开我们的文章
  5. hexo clean && hexo d (也可以先 hexo g && hexo s 本地预览下)

参考文档

NexT 主题官方文档

Hexo 官方文档

utterances配置参考博客

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

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

相关文章

I2S是什么通信协议?它如何传输音频数据?它和I2C是什么关系?

首先我们先明确一点&#xff0c;I2S和I2C没有什么关系&#xff0c;如果非要扯点共同点的话那就是它们都是由飞利浦制定的。 I2C我们用的比较多&#xff0c;我们用的大多数的传感器模块用的通信协议就是I2C&#xff0c;SPI&#xff0c;UART这些。 而I2S应用领域比较单一&#…

大模型:LangChain技术讲解

一、什么是LangChain 1、介绍 LangChain是一个用于开发由大型语言模型提供支持的Python框架。它提供了一系列工具和组件&#xff0c;帮助我们将语言模型集成到自己的应用程序中。 有了它之后&#xff0c;我们可以更轻松地实现对话系统、文本生成、文本分类、问答系统等功能。…

【2024 博客之星评选】请继续保持Passion

我尝试复盘自己2024年走的路&#xff0c;希望能给诸君一些借鉴。 文章目录 回头望感想与收获成长与教训今年计划感恩一些体己话 回头望 回望我的2024年&#xff0c;年初拿高绩效&#xff0c;但感觉逐渐被公司一点点剥离出中心&#xff1b;年中一直在学习防患于未然&#xff1b…

Node.js接收文件分片数据并进行合并处理

前言&#xff1a;上一篇文章讲了如何进行文件的分片&#xff1a;Vue3使用多线程处理文件分片任务&#xff0c;那么本篇文章主要看一下后端怎么接收前端上传来的分片并进行合并处理。 目录&#xff1a; 一、文件结构二、主要依赖1. express2. multer3. fs (文件系统模块)4. pat…

【2025小年源码免费送】

&#x1f496;学习知识需费心&#xff0c; &#x1f4d5;整理归纳更费神。 &#x1f389;源码免费人人喜&#xff0c; &#x1f525;码农福利等你领&#xff01; &#x1f496;山高路远坑又深&#xff0c; &#x1f4d5;大军纵横任驰奔&#xff0c; &#x1f389;谁敢横刀立马行…

【JavaSE】(8) String 类

一、String 类常用方法 1、构造方法 常用的这4种构造方法&#xff1a;直接法&#xff0c;或者传参字符串字面量、字符数组、字节数组。 在 JDK1.8 中&#xff0c;String 类的字符串实际存储在 char 数组中&#xff1a; String 类也重写了 toString 方法&#xff0c;所以可以直…

css普通用法

Css普通用法 这是一个链接 W3C&#xff0c;用这个语法可以访问W3C,自己可以去看更加详细的内容。 基本语法 名字{ 类型&#xff1a;参数 类型&#xff1a;参数 }a{ color:blue }引入方法 直接在html之中进行带入到html代码之中&#xff0c;文件不需要重新写一个&#xff0c…

大数据Hadoop中MapReduce的介绍包括编程模型、工作原理(MapReduce、MapTask、ReduceTask、Shuffle工作原理)

MapReduce概述 MapReduce是Hadoop的核心项目之一&#xff0c;它是一个分布式计算框架&#xff0c; 可用于大数据并行处理的计算模型、框架和平台&#xff0c;主要解决海量数据的计算&#xff0c;是大数据中较为熟知的分布式计算框架。 MapReduce作为分布式计算框架&#xff0…

【学习笔记】计算机网络(一)

第1章 概述 文章目录 第1章 概述1.1 计算机网络在信息时代中的作用1.2 互联网概述1.2.1 网络的网络1.2.2互联网基础结构发展的三个阶段1.2.3 互联网的标准化工作 1.3 互联网的组成1.3.1 互联网的边缘部分1.3.2 互联网的核心部分 1.4 计算机网络在我国的发展1.5 计算机网络的类别…

[OpenGL]实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)

一、简介 本文介绍了 屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO) 的基本概念&#xff0c;实现流程和简单的代码实现。实现 SSAO 时使用到了 OpenGL 中的延迟着色 &#xff08;Deferred shading&#xff09;技术。 按照本文代码实现后&#xff0c;可以实现以下…

KubeSphere 开源社区 2024 年度回顾与致谢

随着 2024 年圆满落幕&#xff0c;我们回顾 KubeSphere 社区这一年走过的每一步&#xff0c;感慨万千。2024 年&#xff0c;KubeSphere 继续领跑云原生技术的创新与发展&#xff0c;推动开源文化的传播&#xff0c;致力于为全球开发者和企业用户提供更强大的平台和解决方案。感…

ToDesk云电脑、顺网云、网易云、易腾云、极云普惠云横测对比:探寻电竞最佳拍档

一、云电脑&#xff1a;电竞新宠崛起 在电竞游戏不断发展的今天&#xff0c;硬件性能成为了决定游戏体验的关键因素。为了追求极致的游戏画面与流畅度&#xff0c;玩家们往往需要投入大量资金购置高性能电脑。然而&#xff0c;云电脑技术的出现&#xff0c;为玩家们提供了一种…

GitCode 助力 AutoTable:共创 MyBatis 生态的自动表格管理新篇章

项目仓库https://gitcode.com/dromara/auto-table 解放双手&#xff0c;专注业务&#xff1a;MyBatis 生态的“自动表格”创新 AutoTable 是一款致力于为 MyBatis 生态赋予“自动表格”功能的创新插件。其核心理念是通过 Java 实体类自动生成和维护数据库的表结构&#xff0c…

【useLayoutEffect Hook】在浏览器完成布局和绘制之前执行副作用

目录 前言语法useLayoutEffect 对比 useEffect&#xff1a;示例 前言 useLayoutEffect 是 React 中的一个 Hook&#xff0c; 类似于 useEffect&#xff0c;但有一个关键的区别&#xff1a;它会在所有的 DOM 变更之后同步调用 effect。这意味着它可以读取 DOM 布局并同步重新渲…

vue3-sfc-loader 加载远程.vue文件(sfc)案例

注意事项 style标签如果增加了lang比如&#xff1a;lang“scss”&#xff0c;需要提供scss-loader的处理器&#xff0c;这个暂时没研究&#xff0c;我的处理方式是将动态模版的css放在了全局打包暂时还没有测试&#xff0c;后面测试了会同步更新 安装vue3-sfc-loader npm inst…

AIGC的企业级解决方案架构及成本效益分析

AIGC的企业级解决方案架构及成本效益分析 一,企业级解决方案架构 AIGC(人工智能生成内容)的企业级解决方案架构是一个多层次、多维度的复杂系统,旨在帮助企业实现智能化转型和业务创新。以下是总结的企业级AIGC解决方案架构的主要组成部分: 1. 技术架构 企业级AIGC解决方…

NSIS系统制作Windows下的简易的安装程序

一. 前言 NSIS&#xff08;Nullsoft Scriptable Install System&#xff09;是一个专业的开源系统&#xff0c;用于创建 Windows 安装程序。拥有小巧而灵活的特点&#xff0c;受到很多用户的赞赏。 NSIS 基于脚本语言&#xff0c;允许您创建逻辑来处理比较复杂的安装任务。 官…

leetcode-不同路径问题

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 看见题目…

前端开发中的模拟后端与MVVM架构实践[特殊字符][特殊字符][特殊字符]

平时&#xff0c;后端可能不能及时给接口给前端进行数据调用和读取。这时候&#xff0c;前端想到进行模拟后端接口。本文将介绍如何通过vite-plugin-mock插件模拟后端接口&#xff0c;并探讨MVVM架构在前端开发中的应用。此外&#xff0c;我们还将讨论Vue2与Vue3的区别&#xf…

【Tool】沉浸式翻译 DeepLX

效果对比 对比一下四个常用的翻译工具的效果 不难看出只有Deepl算是在讲人话 如何配置 DeepLX 安装沉浸式翻译插件 获取APIKEY 从这获取: https://linux.do/t/topic/111737 配置 参考官方教程: https://linux.do/t/topic/111911