在vitepress网站添加全局的公告弹窗,以方便告知某些重要通告
例如我的PakePlus官网,如果遇到什么github或者tauri抽风,我就需要全局通知更新一下最新情况,防止大家错过某些重要的消息。这里的逻辑就需要自己配置了,因为vitepress官方并没有这个配置,我的思路就是:使用自定义的js脚本来实现
配置Note源信息
你的通知首先需要知道从哪里获取吧,并且要知道要不要发通知,并且通知内容是什么,都需要根据一个动态文件来实现,对吧
所以在public文件夹中添加一个ppnotes.json的文件,里面的show用于配置是否弹出公告,zh表示公告的内容,支持html文本,openUrl表示当用户点击确定的 时候,自动打开这个url地址,如果为空,就不打开。
配置JS脚本
配置好了源文件,就需要用js来控制这个公告的逻辑了,读取这个ppnotes.json文件,并根据里面的配置来确定是否要弹出公告内容和处理url逻辑,这个js文件我们也放在public中,内容如下:
配置好这个ppweb.js文件后,怎么让网站加载并执行这个逻辑呢?
就是在vitepress中配置加载:这样就好了
配置全局样式
配置好前面两步之后,就可以实现弹窗了,但是没有样式,需要给弹窗配置全局样式,然后就可以实现好看的样式了:
源代码可以参考我的开源项目:
https://github.com/Sjj1024/PakePlus