Theme——借助github的API来实现主题自动更新

简介: Theme——借助github的API来实现主题自动更新

前言

那么借助的是那个api呢?这里是为了方便测试,使用的是tags,如果是正式的那么应该使用releases

内容

侧边公告栏

测试环境

<script>
async function request(url = '', method = 'GET', data = {}, headers = {}) {
    let options = {
        method: method,
        mode: 'cors',
        redirect: 'follow',
        referrerPolicy: 'no-referrer',
    }
    if (Object.keys(headers).length) {
        options.headers = headers
    }
    if (Object.keys(data).length) {
        options.body = JSON.stringify(data)
    }
    const response = await fetch(url, options)
    return response.json()
}
 request('https://api.github.com/repos/wangyang0210/cnblogs-theme/tags').then(r => {
        const url = `https://cdn.jsdelivr.net/gh/wangyang0210/cnblogs-theme@${r[0].name}/dist/simple-memory.js`;
         $.ajax({
            type: 'GET',
            dataType: 'script',
            cache: true,
            url,
            success: function (data) {
               console.log('simple-memory request success')
            },
            error: function (err) {
                console.log('simple-memory request', err)
            },
        })
    })
</script>

正式环境

<script>
async function request(url = '', method = 'GET', data = {}, headers = {}) {
    let options = {
        method: method,
        mode: 'cors',
        redirect: 'follow',
        referrerPolicy: 'no-referrer',
    }
    if (Object.keys(headers).length) {
        options.headers = headers
    }
    if (Object.keys(data).length) {
        options.body = JSON.stringify(data)
    }
    const response = await fetch(url, options)
    return response.json()
}
 request('https://api.github.com/repos/wangyang0210/cnblogs-theme/releases/latest').then(r => {
        const url = `https://npm.elemecdn.com/cnblogs-theme@${r.tag_name}/dist/simple-memory.js`;
         $.ajax({
            type: 'GET',
            dataType: 'script',
            cache: true,
            url,
            success: function (data) {
               console.log('simple-memory request success')
            },
            error: function (err) {
                console.log('simple-memory request', err)
            },
        })
    })
</script>

学无止境,谦卑而行.

目录
相关文章
|
1月前
|
JavaScript API 开发工具
使用GitHub Actions自动发布electron多端安装程序
使用GitHub Actions自动发布electron多端安装程序
40 8
|
3月前
|
资源调度 搜索推荐 Shell
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
本文介绍了如何使用 Vue3、TypeScript 和 Vite 开发组件库并将其发布到 npm。文章详细描述了安装依赖、配置项目、创建文档网站以及编写组件文档的步骤。通过使用 VitePress,可以轻松搭建组件库的文档站点,并实现 Algolia 搜索功能。此外,还提供了自动化脚本用于部署静态网站至 GitHub 以及发布组件库到 npm。最后,展示了完整的目录结构和网站效果。
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
|
3月前
|
数据采集 JSON 小程序
零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?
34 0
|
3月前
|
开发工具 git
根据使用者反馈,对开源项目 go-gin-api 新增两个功能
根据使用者反馈,对开源项目 go-gin-api 新增两个功能
29 0
|
11月前
|
数据可视化 测试技术 API
Modelscope Agent实操(三):将API注册为tool,成为smart API,方便社区开发者调用
大家通过写python代码的方式来定制自己的tool,进一步扩展Agent的能力。
|
6月前
|
存储 JSON 数据可视化
API入门项目项目收集GitHub上热门项目的信息
API是网站的一部分,在学术领域中常用于获取数据信息。如果我们想要获取某个网站上的一些信息,可以使用API请求数据,然后对这些数据进行处理和可视化,以便更好地理解和分析数据。
118 0
|
数据可视化 安全 网络协议
登上了 Github trending!这个 API 管理工具新秀厉害了!
主打开源+插件生态,它是免费的,有 API 相关的核心功能,适合中小团队及个人开发者。2022 年被 Gitee(码云)评为GVP(最有价值的开源项目) ,经过众多用户的积极反馈,多次优化迭代更新,如今在 Github上也有1.6 K star 。
登上了 Github trending!这个 API 管理工具新秀厉害了!
|
API 开发者
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
近日 Postcat 终于上新了用户期待已久的 12 款【主题插件】!喵喵我啊,想着这下再也没有哪位用户老爷会吐槽 我们 Postcat 的主题过于简洁吧!
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
|
JavaScript 前端开发
Flutter官方推荐的状态管理库-Provider简单入门
Flutter官方推荐的状态管理库-Provider简单入门
233 0
|
Java 网络安全 持续交付
用 Github 实现组件自动发布
用 Github 实现组件自动发布
194 0
用 Github 实现组件自动发布
下一篇
无影云桌面