hugo-teek is loading...

teek文档模板

最后更新于:

全局问候语

image-20250509073817963

目录

[[toc]]

[toc]

简介

来给自己的Teek博客增加一个全局问候语功能。😊

版权

警告

本着开源共享、共同学习的精神:

本文是在 《[Hyde Blog](https://teek.seasir.top/)》博主的《[Umami统计](https://teek.seasir.top/pages/84d648)》文章 基础上增加了一些自己的实际操作记录和修改,内容依旧属于原作者所有(感谢原作者分享的手把手文档💖💖💖)。转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢。

环境

2025.5.9(已解决)

警告

次配置适用于`Teek@1.2.0-2025.5.12`版本(其它版本可自行测试)。

提示

自己开源的 《[vitepress-theme-teek-one-public](https://gitee.com/onlyonexl/vitepress-theme-teek-one-public)》网站模板。

此模板是在《[Young Kbt blog](https://vp.teek.top/)》大佬开源项目《[vitepress-theme-teek ](https://github.com/Kele-Bingtang/vitepress-theme-teek)》基础上修改为自己的风格而成,感谢大佬开发得主题,大佬威武。❤️❤️

安装

(1)新建组件

创建docs\.vitepress\theme\components\GlobalGreet.vue文件,添加如下代码:

 1<script setup lang="ts" name="GlobalGreet">
 2import { TkMessage } from "vitepress-theme-teek";
 3import { ref, watch } from "vue";
 4import { useRoute } from "vitepress";
 5
 6const route = useRoute();
 7
 8const hasGreet = ref(false);
 9const duration = 4000;
10
11const greet = () => {
12  console.log(1);
13  if (hasGreet.value) return;
14
15  hasGreet.value = true;
16  setTimeout(() => {
17    hasGreet.value = false;
18  }, duration);
19
20  const now = new Date();
21  let hours = now.getHours();
22  let minutes = now.getMinutes();
23  let seconds = now.getSeconds();
24
25  const timeStr = `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(seconds).padStart(
26    2,
27    "0"
28  )}`;
29  const message = getGreetingMessage(hours, timeStr);
30
31  TkMessage.info({ message, duration, plain: true });
32};
33
34const getGreetingMessage = (hours: number, timeStr: string) => {
35  if (hours >= 6 && hours < 11) {
36    return `早上好呀~~,现在是 ${timeStr},吃早餐了吗?😊🤭`;
37  }
38
39  if (hours >= 12 && hours <= 16) {
40    return `下午好呀~~,现在是 ${timeStr},繁忙的下午也要适当休息哦🥤🏀~~`;
41  }
42
43  if (hours >= 16 && hours <= 19) {
44    return `到黄昏了~~,现在是 ${timeStr},该准备吃饭啦🥗🍖~~`;
45  }
46
47  if (hours >= 19 && hours < 24) {
48    return `晚上好呀~~,现在是 ${timeStr},该准备洗漱睡觉啦🥱😪~~`;
49  }
50
51  if (hours >= 0 && hours < 6) {
52    return `别再熬夜了~~,现在是 ${timeStr},早点睡吧,让我们一起欣赏早上的太阳~~😇🛏`;
53  }
54
55  return `你好呀!现在是 ${timeStr}。`;
56};
57
58watch(route, greet, { immediate: true });
59</script>
60
61<template></template>

(2)注册组件

编辑docs\.vitepress\theme\components\TeekLayoutProvider.vue文件,添加如下代码:(具体代码可从我开源库Teek-one里获取)

1import GlobalGreet from "./GlobalGreet.vue"; //导入全局问候组件
2
3
4  <!-- 全局问候 -->
5  <GlobalGreet />

image-20250509074222387

image-20250509074258623

(3)运行测试

效果

每切换到一个网页时,会弹出如下弹框哦,有趣的特性。

image-20250509073932065

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 个人网站

image-20250109220325748

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号

《云原生架构师实战》

image-20230107215126971

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

如果你还有疑惑,可以去我的网站查看更多内容或者联系我帮忙查看。

如果你有更好的方式,评论区留言告诉我。谢谢!

好了,本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航