該賞金到期in 4天。回答這個問題有資格獲得 50聲望獎勵。 Voldemort's Wrath想引起更多人對這個問題的關注。
我將 github 頁面用于我的個人網站,并希望在底部包含一小段內容,說明該網站上次更新的時間(即,最近一次提交的時間)。我已經看到有關 API 的問題,但我也想知道如何將其與 GitHub 頁面集成,以便它也自動更新。該網站位于私人存盤庫中。
uj5u.com熱心網友回復:
借助一點 AJAX,可以使用 GitHub API 實作這一點。
const desiredRepo = "yoursite.github.io";
const dateTagClass = ".date"; // The HTML element you want to update
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200)
{
let repos = JSON.parse(this.responseText);
repos.forEach((repo)=>{
if (repo.name == desiredRepo)
{
var lastUpdated = new Date(repo.updated_at);
var day = lastUpdated.getUTCDate();
var month = lastUpdated.getUTCMonth();
var year = lastUpdated.getUTCFullYear();
$(dateTagClass).text(`Last updated: ${year}-${month}-${day}`);
}
});
}
};
xhttp.open("GET", "https://api.github.com/users/YOUR_USERNAME/repos", true);
xhttp.send();
確保更改desiredRepo為您的 GitHub 頁面 URL,更改為您dateTagClass要更新的元素的相應類,并更新xhttp.open()呼叫以在其顯示的位置包含您的用戶名YOUR_USERNAME。
uj5u.com熱心網友回復:
這取決于您使用的靜態站點生成器。
例如,對于Jekyll,您有 plugin gjtorikian/jekyll-last-modified-at,這是 Jekyll 的液體標簽,用于指示檔案上次修改的時間。
該插件通過檢查源檔案的最后一次 Git 提交日期來確定頁面的最后修改日期。
如果 Git 不可用,則使用檔案的 mtime。
使用Hugo,您擁有lastmod可以配置的Git 變數(如Andrew Stevens 的“與 Hugo 的最后修改日期”所示,或MERT BAKIR 的“雨果的最后修改日期”所示)
[frontmatter]
enableGitInfo = true
date = ["date", "publishDate", "lastmod"]
lastmod = ["lastmod", ":git", "date", "publishDate"]
默認情況下,
:git在之前,lastmod但上面的配置更改允許您仍然lastmod在前端定義中定義以覆寫git派生日期(如果您愿意)。您現在可以顯示 lastmod:
<p>Last Modified: {{ .Lastmod.Format "2 January 2006" }}</p>
使用11ty/eleventy,您將使用contentDate:請參閱問題 330。
當然,我們的目標是不在頁面中使用動態腳本(帶有 API 呼叫),因為每次訪問頁面時都會涉及 API 呼叫。
“最后修改”應該是靜態資料,在您構建和發布頁面時生成一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401332.html
上一篇:為什么克隆成功,但結帳失敗?
