基础教程 | 用VuePress搭建一个简单的个人博客(附源码)
先附上自己个人博客页面:https://illusionno.github.io/
源码也在这里:https://github.com/illusionno/my-blog (如果觉得有帮助,可以点颗star✨)
使用的主题是vuepress-theme-reco@2.x,并在上面进行了一些调整。
💬注:美化版博客在blog目录下,基础版博客在simple-blog目录下!!




这里先介绍VuePress的基础使用,也就是目前大多数文档的那种简约风主题。
1. 基础版博客
使用VuePress简单搭建,原生主题:


1.1 VuePress初步搭建
1.创建并进入一个新目录
mkdir my-blogs
cd my-blogs
2.使用你喜欢的包管理器进行初始化
npm init -y
3.将 VuePress 安装为本地依赖
npm install -D vuepress
4.创建文档,并先随便写些内容
mkdir docs
echo '# Hello VuePress' > docs/README.md
注意:使用命令行写入内容时,README.md的编码格式如下,不然页面会乱码显示

5.在 package.json 中添加一些 scripts指令
"scripts": {"docs:dev": "vuepress dev docs","docs:build": "vuepress build docs"}
6.启动本地服务器
npm run docs:dev
1.2 基本配置
先在docs目录下创建一个 .vuepress 目录,所有 VuePress 相关的文件都将会被放在这里。
再在 .vuepress 文件夹下添加 config.js文件,它用于配置网站的标题和描述。
现在的项目结构如下:

在config.js中添加顶部导航栏和侧边栏配置:
module.exports = {// 添加标题和描述title: "MY BLOG",description: "description of my blog",themeConfig: {// 顶部导航栏nav: [{ text: "首页", link: "/" },{ text: "CSDN", link: "" },{ text: "Github", link: "" },],// 侧边栏sidebar: [{title: '分类1', // 必要的path: '/categroy1/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在collapsable: false,// 是否可折叠,默认为truesidebarDepth: 1, // 可选的, 默认值是 1children: [{title: '分类1-1', // 必要的path: '/categroy1/one', // 可选的, 标题的跳转链接,应为绝对路径且必须存在},{title: '分类1-2', // 必要的path: '/categroy1/two', // 可选的, 标题的跳转链接,应为绝对路径且必须存在}]},{title: '分类2', path: '/categroy2/', collapsable: true, children: [{title: '分类2-1', path: '/categroy2/one', },{title: '分类2-2', path: '/categroy2/two', }]}]},
};
文档结构如下:


1.3 主页配置

VuePress 遵循 “约定优于配置” 的原则,静态资源图片存放在 .vuepress 文件夹下的 public 文件夹中。

主页README,md配置如下:
---
home: true
heroImage: /avatar.jpg
heroText: Hero 标题
tagline: Hero 副标题
actionText: 快速上手 →
actionLink: /category1/
features:
- title: 简洁至上 details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。
- title: 高性能details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: Copyright © 2018-present baitao
---
1.4 favicon图标自定义

将图片先转成favicon.ico格式:🔍在线制作ico图标
将图片放在 public 目录下:

在 config.js中添加以下配置,设置favicon.ico的路径。
head: [['link',{ rel: 'icon', href: '/favicon.ico' }]],
更多其他设置,可以查看VuePress官网:https://vuepress.vuejs.org/zh/
2. 美化版博客
目前VuePress的热门主题有如下几个:

可以选择一个自己喜欢的风格:https://ecosystem.vuejs.press/zh/
我这里使用的是 vuepress-theme-reco@2.x 主题风格,
🔍vuepress-theme-reco@2.x文档
在使用该主题时,需要注意不可参照方默认主题文档来配置,必须按照该文档进行配置。

使用 vuepress-reco模板快速开始:
npx @vuepress-reco/theme-cli init
根据提示进行选择,哪一个模板其实都可以,不过主页会有些区别。可以直接选择2.x,风格会好看些。


运行:npm run dev

再在上面进行魔改一顿:



(光标可以悬浮在头像上看看👀)
相关文章:
基础教程 | 用VuePress搭建一个简单的个人博客(附源码)
先附上自己个人博客页面:https://illusionno.github.io/ 源码也在这里:https://github.com/illusionno/my-blog (如果觉得有帮助,可以点颗star✨) 使用的主题是vuepress-theme-reco2.x,并在上面进行了一些调…...
Ubuntu20.04,编译安装BCC
https://github.com/iovisor/bcc/blob/master/INSTALL.md 一、内核配置 In general, to use these features, a Linux kernel version 4.1 or newer is required. In addition, the kernel should have been compiled with the following flags set: CONFIG_BPFy CONFIG_BP…...
# 显卡算力参数对比
显卡算力参数对比 文章目录 显卡算力参数对比A 显卡参数查询B 显卡性能对比: 综合看:T4最具性价比 A 显卡参数查询 查询网址:https://www.techpowerup.com/gpu-specs/ ,以下列出部分: Product NameGPU ChipReleasedB…...
掌握RocketMQ4.X消息中间件(一)-RocketMQ基本概念与系统架构
1 MQ介绍 MQ(Message Quene) : 翻译为 消息队列,别名为 消息中间件,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,…...
实际开发中,java开发的准备工作
实际开发中,java开发的准备工作 一、IDEA工具环境设置 1、编码设置...
SQL进阶技巧:Order by 中 NULLS LAST特性使用?
目录 1 需求描述 2 数据准备 3 问题分析 4 小结 如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选择去看看我的博客专栏 ,部分内容如下: 数字化建设通关指南 专栏 原价99,现在活动价59…...
Redis:cpp.redis++类型操作
Redis:cpp.redis类型操作 stringsetmsetmgetgetrangesetrangeincrbydecrby listlpushrpushlrangellenlpoprpopblpopbrpop setsaddsmemeberssismemberscardspopsintersinterstore hashhsethgethexistshdelhkeyshvalshmsethmget zsetzaddzrangezcardzremzscorezrank 总…...
感冒用药记录
问题描述:国庆感冒了,头昏喉咙不舒服 用药过程: – 前3天:未用药,不好也不坏 – 中间2天:开始喉痛,使用复方氨酚烷胺胶囊【含对乙酰氨基酚】,基本没有效果 – 后面1天:开…...
JMeter性能测试时,如何做CSV参数化
在现代软件开发中,性能测试是保证应用程序在高负载条件下稳定运行的重要环节。为了实现真实场景的测试,参数化技术应运而生。其中,CSV参数化是一种高效且灵活的方法,可以让测试人员通过外部数据文件驱动测试脚本,从而模…...
爬虫获取不同数据类型(如JSON,HTML)的处理方法以及图片相对URL地址的转换
当我们爬取图片的URL地址时,我们要确保它们都是有效的绝对URL,这样就可以直接用这些URL来下载图片了。但是很多时候,它们都不是绝对URL地址,因此我们需要它进行URL转换。 if img_url.startswith(//): 这个条件检查URL是否以//开头…...
Elasticsearch 实战应用
Elasticsearch 实战应用 引言 Elasticsearch 是一个分布式、RESTful 风格的搜索和分析引擎,能够快速、实时地处理大规模数据,广泛应用于全文搜索、日志分析、推荐系统等领域。在这篇博客中,我们将从 Elasticsearch 的基本概念入手ÿ…...
前端数据加载慢的解决方法
都是和前端性能优化非常类似的做法。 1. 懒加载 (Lazy Loading) 对于图片、视频等资源,或者某些组件,在用户滚动到相关区域时再加载,而不是页面一开始就加载所有内容。使用 IntersectionObserver 实现懒加载,或者一些 UI 框架&am…...
探索MultiApp:一款强大的多应用管理工具
探索MultiApp:一款强大的多应用管理工具 在这个数字化时代,多任务并行已经成为我们日常生活的一部分。无论是工作还是娱乐,我们都需要频繁地在多个应用之间切换。今天,我要向大家介绍一款能够帮助你在同一设备上无缝切换和管理多…...
qt QGraphicsItem详解
一、概述 QGraphicsItem是Qt框架中图形视图框架(Graphics View Framework)的一个核心组件,它是用于表示2D图形元素的基类。 它支持的功能包括: 设置和获取图形项的位置和尺寸。控制图形项的外观,如颜色、笔刷、边框…...
LVS搭建负载均衡
LVS搭建负载均衡 引言 在现代互联网应用中,用户对服务的可用性和响应速度要求越来越高。为了应对高并发请求,保证系统的稳定性和容错能力,负载均衡技术应运而生。LVS(Linux Virtual Server)是一种高性能、高可用性的…...
Unity MVC框架演示 1-1 理论分析
本文仅作学习笔记分享与交流,不做任何商业用途,该课程资源来源于唐老狮 1.一般的图解MVC 什么是MVC我就不说了,老生常谈,网上有大量的介绍,想看看这三层都起到什么职责?那就直接上图吧 2.我举一个栗子 我有…...
基于springboot+vue人脸识别的考勤管理系统(源码+定制+开发)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
【api连接ChatGPT的最简单方式】
通过api连接ChatGPT的最简单方式 建立client 其中base_url为代理,若连接官网可省略;配置环境变量 from openai import OpenAI client OpenAI(base_url"https://api.chatanywhere.tech/v1" )或给出api和base_url client OpenAI(api_key&…...
技术成神之路:设计模式(二十)装饰模式
介绍 装饰模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变对象自身的情况下,动态地为对象添加额外的职责。这个模式通常用于增强或改变对象的功能。 1.定义 装饰模式通过创建一个装饰类,将功能动态地添加…...
利用特征点采样一致性改进icp算法点云配准方法
1、index、vector 2、kdtree和kdtreeflann 3、if kdtree.radiusSearch(。。。) > 0)...
ChatGPT等大模型安全指南:从数据泄露防护到模型滥用防范的7个关键策略
大模型安全实战手册:7个维度构建企业级防护体系 当ChatGPT在2023年掀起生成式AI的浪潮时,某跨国咨询公司曾发生一起典型的数据泄露事件——工程师将包含客户隐私的对话记录误上传至公开代码库,导致3.2万条敏感数据暴露。这个案例揭示了大模型…...
League Akari:英雄联盟终极智能助手完整使用指南
League Akari:英雄联盟终极智能助手完整使用指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否厌倦了在英雄联…...
eXoCAN:轻量级汽车电子CAN协议栈设计与实践
1. eXoCAN库概述:面向嵌入式汽车电子的轻量级CAN协议栈eXoCAN是一个专为资源受限嵌入式系统设计的轻量级、可移植CAN(Controller Area Network)驱动框架。其名称“eXoCAN”源自“eXtensible Open CAN”,强调其开放性、可扩展性与硬…...
别再为UVM环境发愁了!用路科V0虚拟机+《UVM实战》源码,10分钟搞定VCS/Verdi仿真
10分钟零配置玩转UVM验证:路科V0虚拟机《UVM实战》全攻略 当我在三年前第一次接触UVM验证时,花了整整三天时间在环境配置上——从EDA工具安装、环境变量配置到Makefile调试,每一步都踩过坑。直到发现路科V0预配置虚拟机这个"神器"&…...
你不知道的微信小程序环境判断技巧:wx.getAccountInfoSync()与__wxConfig深度对比
微信小程序环境判断进阶指南:从API到底层变量的深度解析 在微信小程序开发中,环境判断是一个看似简单却暗藏玄机的基础功能。许多开发者可能满足于简单的if-else判断,却忽略了不同判断方式对性能、稳定性和可维护性的深远影响。本文将带你深入…...
PHP开发者必看:通过xss-labs靶场level1-10,彻底搞懂htmlspecialchars()的坑与正确用法
PHP开发者实战指南:从xss-labs靶场剖析htmlspecialchars()的深层防御逻辑 在Web安全领域,XSS漏洞长期占据OWASP Top 10榜单,而PHP作为服务端主力语言,其内置的htmlspecialchars()函数常被开发者视为防御利器。但真实情况是&#x…...
SQLAdvisor终极调优指南:如何根据业务特点优化工具参数
SQLAdvisor终极调优指南:如何根据业务特点优化工具参数 【免费下载链接】SQLAdvisor 输入SQL,输出索引优化建议 项目地址: https://gitcode.com/gh_mirrors/sq/SQLAdvisor SQLAdvisor是由美团点评公司技术工程部DBA团队开发的一款强大的SQL索引优…...
OpenClaw备份与迁移:Qwen3.5-4B-Claude项目环境快速转移
OpenClaw备份与迁移:Qwen3.5-4B-Claude项目环境快速转移 1. 为什么需要备份与迁移方案 上周我的主力开发机突然硬盘故障,导致所有OpenClaw配置和技能丢失。在经历了8小时的手动重建后,我意识到必须建立一套可靠的备份迁移流程。特别是当我们…...
零门槛视频创作:OpenCut高效替代方案全解析
零门槛视频创作:OpenCut高效替代方案全解析 【免费下载链接】OpenCut The open-source CapCut alternative 项目地址: https://gitcode.com/gh_mirrors/ap/OpenCut 在数字内容创作爆炸的时代,视频编辑工具的选择直接影响创作效率与作品质量。Open…...
AI开源项目贡献指南:测试工程师从PR提交到核心维护者的专业路径
测试工程师在AI开源生态中的独特价值在AI开源项目的演进中,软件测试从业者具备不可替代的专业优势:质量敏感度:精准识别模型漂移、接口兼容性、数据异常等AI特有风险系统化思维:构建覆盖数据流水线、模型服务、API交互的端到端验证…...
