gpt4 book ai didi

caching - Github 页面是否具有从 API 访问和缓存最新版本的内置方式?

转载 作者:行者123 更新时间:2023-12-04 12:59:53 24 4
gpt4 key购买 nike

通过 Github 页面学习 Jekyll 和托管我正在尝试弄清楚如何访问私有(private) repo 的最新版本并将下载 URL 缓存到 Jekyll 页面。我知道如何使用 AJAX 使用访问 token 通过 Github API 访问数据:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script language="javascript" type="text/javascript">

let USER = "grim"
let REPO = "foobar"
let TOKEN = "jsfjksgfjasgdjgsajgasjk"
$.ajax({
url: `https://api.github.com/repos/${USER}/${REPO}/releases/latest?access_token=${TOKEN}`,
jsonp: true,
method: "GET",
dataType: "json",
contentType: 'application/json',
success: function(res) {
console.log(res.assets)
},
error: function(res) {
console.log(res)
}
})
</script>

在 config.yml 我设置 USER , REPOTOKEN .我的研究确实找到了 Cache API但它不是 listed .使用 Github Pages 作为主机并在 Jekyll 中编码,有没有办法获取最新版本并将响应缓存在 Jekyll 的私有(private)仓库中?如果我无法缓存 API,有没有办法将发布 URL 存储在 Jekyll 构建中,以便我可以将其编码到按钮中,以便按钮充当下载?

研究:
  • Download latest GitHub release
  • First Steps with the Cache API
  • How to force GitHub Pages build?
  • Is there a link to GitHub for downloading a file in the latest release of a repository?
  • 最佳答案

    Using Github Pages as the host and coded in Jekyll is there a way to get the latest release and cache the response on a private repo with Jekyll?



    列出了仅允许与 GitHub Pages 一起使用的 Jekyll 扩展 here :
  • jekyll-coffeescript
  • jekyll-default-layout
  • jekyll-gist
  • jekyll-github-metadata
  • jekyll-optional-front-matter
  • jekyll-paginate
  • jekyll-readme-index
  • jekyll-titles-from-headings
  • jekyll-relative-links

  • 这些都与您正在寻找的缓存或客户端功能无关,因此您必须采用不同的解决方案。

    If I cannot cache the API is there a way to store the release URLs on the Jekyll build so I can code it to the buttons so the buttons act as a download?



    由于 GitHub Pages 没有与您的用例匹配的缓存 API,您可以通过对站点进行以下更改来回退到服务器端呈现:
  • 创建 a data file在 Jekyll 站点中存储当前发布的 Assets ( stub URL 以暂时简化测试)
  • 更新站点以使用此数据文件并呈现 HTML(而不是使用客户端 JS)

  • 然后您可以创建一个 GitHub Action定期运行以执行此工作流程:
  • 使用有权访问私有(private)存储库的 token ,查询最新版本
  • 以编程方式重写磁盘上的文件以使用相同的值
  • 使用 Git
  • 检查它是否已更改
  • 提交并推送到默认分支,这将触发站点的发布

  • 我没有任何示例来说明这一点,但是如果您想进一步探索,还有其他资源。

    关于caching - Github 页面是否具有从 API 访问和缓存最新版本的内置方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122119/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com