summaryrefslogtreecommitdiff
path: root/wiki/contributors.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/contributors.md')
-rw-r--r--wiki/contributors.md95
1 files changed, 0 insertions, 95 deletions
diff --git a/wiki/contributors.md b/wiki/contributors.md
deleted file mode 100644
index 37ff048..0000000
--- a/wiki/contributors.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: "Contributors"
-date: "2025-01-01"
-summary: "List of Typo's contributors"
-description: "List of Typo's contributors"
-toc: false
-readTime: false
-autonumber: false
-math: false
-showTags: false
-hidePagination: true
-hideBackToTop: true
----
-
-<div id="loading-message">fetching GitHub data, hang tight!</div>
-
-<div id="content" style="display: none;">
- Typo is currently on release <a href="https://github.com/tomfran/typo/releases/latest"><span id="release-number">...</span></a>,
- with <span id="star-count">over 300</span> stars, and
- <span id="contributors-count">over 20</span> contributors:
-
- <div id="contributors-list" style="display: flex; flex-wrap: wrap; gap: 15px; margin-top: 1.5rem;"></div>
-</div>
-
-<script>
- async function fetchGitHubData() {
- const cacheKey = "githubData";
- const cacheExpiryKey = "githubDataExpiry";
- const cacheExpiryTime = 3600 * 1000;
-
- const cachedData = localStorage.getItem(cacheKey);
- const cachedExpiry = localStorage.getItem(cacheExpiryKey);
- const now = new Date().getTime();
-
- if (cachedData && cachedExpiry && now < cachedExpiry) {
- const { starCount, contributors, latestRelease } = JSON.parse(cachedData);
- updateUI(starCount, contributors, latestRelease);
- return;
- }
-
- try {
- const [repoRes, releaseRes, contributorsRes] = await Promise.all([
- fetch("https://api.github.com/repos/tomfran/typo"),
- fetch("https://api.github.com/repos/tomfran/typo/releases/latest"),
- fetch("https://api.github.com/repos/tomfran/typo/contributors")
- ]);
-
- const [repoData, releaseData, contributors] = await Promise.all([
- repoRes.json(),
- releaseRes.json(),
- contributorsRes.json()
- ]);
-
- const starCount = repoData.stargazers_count;
- const latestRelease = releaseData.name;
-
- localStorage.setItem(cacheKey, JSON.stringify({ starCount, contributors, latestRelease }));
- localStorage.setItem(cacheExpiryKey, now + cacheExpiryTime);
-
- updateUI(starCount, contributors, latestRelease);
- } catch (error) {
- console.error("Error fetching GitHub data:", error);
- document.getElementById("star-count").textContent = "Failed to fetch star count.";
- document.getElementById("contributors-count").textContent = "Failed to fetch contributors.";
- document.getElementById("release-number").textContent = "Failed to fetch release.";
- }
- }
-
- function updateUI(starCount, contributors, latestRelease) {
- document.getElementById("loading-message").style.display = "none";
- document.getElementById("content").style.display = "block";
-
- document.getElementById("release-number").textContent = latestRelease;
- document.getElementById("star-count").textContent = `${starCount}`;
- document.getElementById("contributors-count").textContent = `${contributors.length}`;
-
- const contributorsList = document.getElementById("contributors-list");
- contributorsList.innerHTML = "";
-
- contributors.forEach(contributor => {
- const contributorItem = document.createElement("a");
- contributorItem.href = contributor.html_url;
- contributorItem.title = contributor.login;
- contributorItem.style.display = "inline-block";
-
- contributorItem.innerHTML = `
- <img src="${contributor.avatar_url}" alt="${contributor.login}" width="45" height="45" style="border-radius: 50%;">
- `;
-
- contributorsList.appendChild(contributorItem);
- });
- }
-
- fetchGitHubData();
-</script>