如何在 VitePress 中自定义logo,打造精美首页 #home-hero-image


💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~

  • 专栏导航

    • Python系列: Python面试题合集,剑指大厂
    • Git系列: Git操作技巧
    • GO系列: 记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列: 详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列: 总结好用的命令,高效开发
    • 算法与数据结构系列: 总结数据结构和算法,不同类型针对性训练,提升编程思维

    非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

    💖The Start💖点点关注,收藏不迷路💖

    📒文章目录

      • 1. 为什么要自定义 #home-hero-image
      • 2. 初始化 VitePress 项目
      • 3. 创建自定义主题文件
        • 3.1 配置主题入口文件
        • 3.2 创建自定义组件
      • 4. 配置 VitePress
      • 5. 运行和验证
      • 6. 高级技巧
        • 6.1 响应式设计
        • 6.2 动态背景
        • 6.3 使用 SVG 图像
        • 6.4 图像懒加载
      • 7、总结


在这里插入图片描述
VitePress 是一个轻量级的静态网站生成器,专为文档和博客而设计,基于 Vite 构建。对于希望为自己的项目文档创建高效、现代且美观的站点的开发者来说,VitePress 是一个极具吸引力的选择。在这个教程中,我们将深入探讨如何在 VitePress 中自定义首页的 #home-hero-image,使其更符合你的品牌或项目需求。

1. 为什么要自定义 #home-hero-image

在你的文档站点的首页,#home-hero-image 是第一个引起访问者注意的视觉元素。一个精美的首页图片可以显著提升用户体验和品牌形象。通过自定义 #home-hero-image,你可以展示与你的项目或品牌相关的图像,使主页更具吸引力和个性化。

2. 初始化 VitePress 项目

在开始自定义之前,我们需要确保已经初始化了一个 VitePress 项目。如果你还没有,请按照以下步骤进行设置:

npm init vitepress my-docs
cd my-docs
npm install

创建项目后,你可以通过运行 npm run docs:dev 启动本地开发服务器,并在浏览器中访问 http://localhost:3000 查看默认的 VitePress 站点。

3. 创建自定义主题文件

为了自定义 #home-hero-image,我们需要创建一个自定义主题文件。在项目根目录下,创建以下目录结构:

my-docs
├─ .vitepress
│  ├─ theme
│  │  ├─ index.js
│  │  ├─ components
│  │  │  └─ HomeHero.vue

3.1 配置主题入口文件

.vitepress/theme/index.js 文件中,引入默认主题并添加自定义组件:

import DefaultTheme from 'vitepress/theme'
import HomeHero from './components/HomeHero.vue'export default {...DefaultTheme,Layout: () => {const Layout = DefaultTheme.Layout()Layout.components.HomeHero = HomeHeroreturn Layout}
}

3.2 创建自定义组件

接下来,在 .vitepress/theme/components 目录下创建 HomeHero.vue 文件,用于定义自定义的 #home-hero-image 组件:

<template><div class="home-hero-image"><img src="/path/to/your/image.png" alt="Hero Image"></div>
</template><script>
export default {name: 'HomeHero'
}
</script><style>
.home-hero-image {text-align: center;margin-top: 50px;
}
.home-hero-image img {width: 100%;max-width: 800px;border-radius: 8px;
}
</style>

在这个组件中,我们定义了一个简单的 img 标签,并添加了一些基本的样式。你可以根据自己的需求进一步定制样式。

4. 配置 VitePress

确保在 .vitepress/config.js 中正确配置了主题:

import { defineConfig } from 'vitepress'export default defineConfig({themeConfig: {// 其他配置}
})

5. 运行和验证

保存所有文件后,运行 npm run docs:dev,然后打开浏览器访问 http://localhost:3000。你应该可以看到自定义的 #home-hero-image 显示在首页。

6. 高级技巧

6.1 响应式设计

为了确保 #home-hero-image 在不同设备上都能有良好的显示效果,我们可以添加一些媒体查询,使图像在小屏幕设备上自动调整大小:

@media (max-width: 768px) {.home-hero-image img {width: 90%;max-width: 400px;}
}

6.2 动态背景

如果你想要一个动态背景,可以使用 CSS 动画或 JavaScript。例如,使用 CSS 动画实现一个简单的淡入效果:

.home-hero-image {animation: fadeIn 2s ease-in-out;
}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}
}

6.3 使用 SVG 图像

SVG 图像具有无限缩放性和较小的文件大小,非常适合用于网站图像。你可以直接在 HomeHero.vue 中插入 SVG 代码:

<template><div class="home-hero-image"><svg width="800" height="400" xmlns="http://www.w3.org/2000/svg"><!-- SVG 内容 --></svg></div>
</template>

6.4 图像懒加载

为了提升页面加载速度,可以使用懒加载技术来延迟加载图像。使用原生的 loading 属性:

<template><div class="home-hero-image"><img src="/path/to/your/image.png" alt="Hero Image" loading="lazy"></div>
</template>

7、总结

通过上述步骤和技巧,你已经成功地在 VitePress 中自定义了 #home-hero-image。这种自定义不仅能增强你站点的视觉吸引力,还能提升用户体验。如果你对 VitePress 或其他前端技术有更多兴趣,欢迎持续关注我的博客,获取最新的开发技巧和教程。


🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

React 和 Vue _使用区别

目录 一、框架介绍 1.Vue 2.React 二、框架结构 1.创建应用 2.框架结构 三、使用区别 1.单页面组成 2.样式 3.显示响应式数据 4.响应式html标签属性 5.控制元素显隐 6.条件渲染 7.渲染列表 react和vue是目前前端比较流行的两大框架&#xff0c;前端程序员应该将两…

go-kratos 学习笔记(8) redis的使用

redis的在项目中的使用是很常见的&#xff0c;前面有了mysql的使用redis的也差不多&#xff1b;也是属于在data层的操作&#xff0c;所以需要新建一个 NewRedisCmd方法 在internal/data/data.go中新增NewRedisCmd 方法&#xff0c;注入到ProviderSet package dataimport (&quo…

正则采集器之五——商品匹配规则

需求设计 实现分析 系统通过访问URL得到html代码&#xff0c;通过正则表达式匹配html&#xff0c;通过反向引用来得到商品的标题、图片、价格、原价、id&#xff0c;这部分逻辑在java中实现。 匹配商品的正则做成可视化编辑&#xff0c;因为不同网站的结构不同&#xff0c;同…

论文阅读:A Survey on Evaluation of Large Language Models-鲁棒性相关内容

A Survey on Evaluation of Large Language Models 只取了鲁棒性相关的内容 LLMs&#xff1a;《A Survey on Evaluation of Large Language Models大型语言模型评估综述》理解智能本质(具备推理能力)、AI评估的重要性(识别当前算法的局限性设 对抗鲁棒性是衡量大型语言模型&…

ComfyUI 、ComfyUI-Manager、ComfyUI-Translation语言包、Insightface、Crystools资源监测器安装

简单介绍ComfyUI、ComfyUI-Manager、ComfyUI-Translation语言包、Insightface、Crystools资源监测器安装&#xff0c;并通过ComfyUI-Manager安装缺失的节点。 1、ComfyUI安装 打开https://github.com/comfyanonymous/ComfyUI&#xff0c;找到Installing中 Direct link to do…

phpenv安装redis扩展

1、下载dll文件 https://pecl.php.net/package/redis 我的是php8.1, 安装最新版的 DLL文件 &#xff12;、将dll文件放到php安装目录的ext目录下 3、在php.ini中增加配置后重启服务 [Redis] extension php_redis.dll

VMware安装(有的时候启动就蓝屏建议换VM版本)

当你开始使用虚拟化技术来管理和运行多个操作系统时&#xff0c;VMware 是一个强大且广泛使用的选择。本篇博客将指导你如何安装 VMware Workstation Pro&#xff0c;这是一个功能强大的虚拟机软件&#xff0c;适用于个人和专业用户。 一、下载 VMware Workstation Pro 访问官网…

JavaScript青少年简明教程:函数及其相关知识(上)

JavaScript青少年简明教程&#xff1a;函数及其相关知识&#xff08;上&#xff09; 在JavaScript中&#xff0c;函数是一段可以重复使用的代码块&#xff0c;它执行特定的任务并可能返回结果。 内置函数&#xff08;Built-in Functions&#xff09; 内置函数是编程语言中预先…

PLC网关:开启工业4.0时代的智能工厂之路

PLC即可编程逻辑控制器&#xff0c;是工业自动化领域的核心设备&#xff0c;广泛应用于各个工业领域。从PLC问世至今&#xff0c;一直表现出强大的生命力和高速增长态势&#xff0c;2020年全球PLC市场的销售量已经达到了百亿RMB级别。 随着行业智能化、数字化推广&#xff0c;…

【Vulnhub系列】Vulnhub_Seattle_003靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Seattle_003靶场渗透 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、环境准备 1、从百度网盘下载对应靶机的.ova镜像 2、在VM中选择【打开】该.ova 3、选择存储路径&#xff0…

Nginx系列-12 Nginx使用Lua脚本进行JWT校验

背景 本文介绍Nginx中Lua模块使用方式&#xff0c;并结合案例进行介绍。案例介绍通过lua脚本提取HTTP请求头中的token字段&#xff0c;经过JWT校验并提取id和name信息&#xff0c;设置到http请求头中发向后段服务器。 默认情况下&#xff0c;Nginx自身不携带lua模块&#xff0…

什么是海外云手机?海外云手机有什么用?

在跨境电商的浪潮中&#xff0c;如何高效引流成为了卖家们关注的焦点。近期&#xff0c;越来越多的卖家开始借助海外云手机&#xff0c;通过TikTok平台吸引流量&#xff0c;从而推动商品的海外销售。那么&#xff0c;究竟什么是海外云手机&#xff1f;海外云手机又能为跨境电商…

商家转账到零钱保姆级申请教程

大多数商家在申请微信支付的“商家转账到零钱”过程中都免不了遇到问题&#xff0c;更有不少商家因为屡次驳回严重耽误项目工期。为了帮助商户顺利开通该接口&#xff0c;根据我们上万次成功开通的经验整理这篇攻略以供参考&#xff1a; 一、前期准备 1. 确认主体资格&#xf…

跨境电商独立站术语盘点(一)独立站建站篇

跨境新手总是被一些跨境专业术语弄得头晕脑胀&#xff0c;不懂得查&#xff0c;查了又忘&#xff0c;忘了又得继续查…… 本期【跨境干货】&#xff0c;笔者特地为大家整理汇总了跨境电商独立站常用网站建站方面的专业术语&#xff0c;帮助你了解建站相关知识&#xff01;赶紧收…

安装python插件命令集合

安装python插件pyecharts库 pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple 安装python插件pandas库 pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple PyCharm 中安装步骤&#xff1a;

数据结构之队列详解

1.队列的概念以及结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFo(Frist in Frist out)的特性 入队列&#xff1a;进行插入才操作的一端称为队尾 出队列&#xff1a;进行删除操作的一…

1比25万基础电子地图(广西版)

我们为你分享过四川、云南、江西、贵州、重庆、青海、西藏、新疆、甘肃、黑龙江、吉林、湖北、广东和内蒙古的1比25万基础电子地图&#xff0c;现在再为你分享广西版的电子地图。 如果你需要这些省份的1比25万基础电子地图&#xff0c;请在文末查看该数据的领取方法。 1比25万…

flutter开发实战-go_router使用

flutter开发实战-go_router使用 一、go_router介绍与特性 go_router是一个Flutter的第三方声明式路由插件&#xff0c;使用路由器API提供一个方便的、基于url的API&#xff0c;用于在不同屏幕之间导航。可以定义URL模式、使用URL导航、处理深度链接以及许多其他与导航相关的场…

【Spring Boot】Spring 的安全框架:Spring Security

Spring 的安全框架&#xff1a;Spring Security 1.Spring Security 初识1.1 核心概念1.2 认证和授权1.2.1 验证&#xff08;authentication&#xff09;1.2.2 授权&#xff08;authorization&#xff09; 1.3 模块 2.核心类2.1 Securitycontext2.2 SecurityContextHolder2.2.1 …

Python字符串处理技巧:一个小技巧竟然能省下你一半时间!

获取Pyhon及副业知识&#xff0c;关注公众号【软件测试圈】 效率翻倍的秘密&#xff1a;Python字符串操作的5个惊人技巧 在Python编程中&#xff0c;字符串处理在数据分析、Web开发、自动化脚本等多个领域都有广泛应用。Python提供了一系列强大的字符串处理函数&#xff0c;能够…