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>

学无止境,谦卑而行.

目录
相关文章
|
5月前
|
数据采集 JSON 小程序
零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?
47 0
|
数据可视化 测试技术 API
Modelscope Agent实操(三):将API注册为tool,成为smart API,方便社区开发者调用
大家通过写python代码的方式来定制自己的tool,进一步扩展Agent的能力。
|
8月前
|
存储 JSON 数据可视化
API入门项目项目收集GitHub上热门项目的信息
API是网站的一部分,在学术领域中常用于获取数据信息。如果我们想要获取某个网站上的一些信息,可以使用API请求数据,然后对这些数据进行处理和可视化,以便更好地理解和分析数据。
136 0
|
API 开发者
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
近日 Postcat 终于上新了用户期待已久的 12 款【主题插件】!喵喵我啊,想着这下再也没有哪位用户老爷会吐槽 我们 Postcat 的主题过于简洁吧!
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
|
前端开发 API
react实战笔记24:三个api之二原生创建2注意点
react实战笔记24:三个api之二原生创建2注意点
127 0
react实战笔记24:三个api之二原生创建2注意点
|
前端开发 API
react实战笔记23:三个api之一原生创建2注意点
react实战笔记23:三个api之一原生创建2注意点
112 0
react实战笔记23:三个api之一原生创建2注意点
|
前端开发 API
react实战笔记22:三个api之一原生创建1
react实战笔记22:三个api之一原生创建1
117 0
react实战笔记22:三个api之一原生创建1
|
存储 小程序 前端开发
【微信小程序】image组件 API 协同工作和发布
🍒小程序的宿主环境 - 组件 🍈image 组件的基本使用 🥭image 组件的 mode 属性 🍓小程序的宿主环境 - API 🥦小程序 API 概述 🍅小程序 API 的 3 大分类 🍘协同工作和发布 - 协同工作 🍊了解权限管理需求 🥝了解项目成员的组织结构 🍉小程序的开发流程
【微信小程序】image组件 API 协同工作和发布
|
Java 网络安全 持续交付
用 Github 实现组件自动发布
用 Github 实现组件自动发布
203 0
用 Github 实现组件自动发布
|
Web App开发 缓存 开发框架
开源的网易云音乐API项目都是怎么实现的?
上一篇文章[这个高颜值的开源第三方网易云音乐播放器你值得拥有]介绍了一个开源的第三方网易云音乐播放器,这篇文章我们来详细了解一下其中使用到的网易云音乐api项目[NeteaseCloudMusicApi]的实现原理。
1135 0
开源的网易云音乐API项目都是怎么实现的?

热门文章

最新文章