docs(www): point the website, docs and badges back at GitHub (#35)

* docs(www): point the website, docs and badges back at GitHub

GitHub is the release destination again, so every user-facing reference to the
self-hosted Gitea instance now points at github.com/AdrianBonpin:

- www: nav + footer links, Download / Releases buttons, 'View on GitHub' and
  'Star on GitHub' CTAs, landing.js download fallback label, the repo
  preconnect/dns-prefetch hints, and the ROADMAP link (Gitea's
  src/branch/prod path becomes GitHub's blob/prod)
- www/src/lib/seo.test.ts: matching structured-data fixtures
- README: shields.io badge and the tap prose
- ROADMAP: Homebrew tap URL

Deliberately left pointing at Gitea (they are the fallback, not destinations):
.gitea/workflows/release.yml and scripts/release-mac.sh use git.ranio.xyz as
an API host, so rewriting those would break the fallback path.

* fix(www): update the stale FAQ count assertion

faq.test.ts asserted exactly 5 FAQ items but the list has had 6 since
bdf2bb5 (Release 0.7.15), so the www suite has been red since then. No CI
runs the www tests, which is why it went unnoticed. Found while verifying the
docs change above; unrelated to it.
This commit is contained in:
2026-09-20 17:43:15 +08:00
committed by GitHub
parent e4de489f53
commit f807c22a36
9 changed files with 27 additions and 27 deletions
+2 -2
View File
@@ -59,12 +59,12 @@
const isMobile = /Mobi|Android|iPhone|iPad|iPod/i.test(userAgent);
const keepLabel = downloadBtn.hasAttribute("data-download-label");
const releasesUrl = "https://git.ranio.xyz/adrianbonpin/gridline/releases";
const releasesUrl = "https://github.com/AdrianBonpin/gridline/releases";
const version = "0.8.0";
if (isMobile) {
downloadBtn.href = releasesUrl;
if (!keepLabel) downloadBtn.textContent = "Get it on Gitea";
if (!keepLabel) downloadBtn.textContent = "Get it on GitHub";
} else if (isMac) {
downloadBtn.href = `${releasesUrl}/download/v${version}/Gridline_${version}_aarch64.dmg`;
if (!keepLabel) downloadBtn.textContent = "Download for macOS";
+1 -1
View File
@@ -32,7 +32,7 @@ export const changelogEntries: ChangelogEntry[] = [
date: "2026-09-04",
highlights: [
"No more repeated macOS keychain prompts — saved connection passwords and SSH secrets are now ACL-pinned to the app's code signature when stored, so app upgrades never re-trigger the macOS keychain access dialog (users upgrading from older builds see one final prompt — choose Always Allow).",
"Install via Homebrew — add the Gitea tap (brew tap AdrianBonpin/gridline https://git.ranio.xyz/adrianbonpin/homebrew-gridline.git) and run brew install --cask gridline.",
"Install via Homebrew — add the Homebrew tap (brew tap AdrianBonpin/gridline https://github.com/AdrianBonpin/homebrew-gridline.git) and run brew install --cask gridline.",
],
},
{
+2 -2
View File
@@ -2,8 +2,8 @@ import { describe, it, expect } from "vitest";
import { faqItems } from "./faq";
describe("faqItems", () => {
it("has exactly 5 items", () => {
expect(faqItems).toHaveLength(5);
it("has exactly 6 items", () => {
expect(faqItems).toHaveLength(6);
});
it("every item has a non-empty question and answer", () => {
+6 -6
View File
@@ -40,9 +40,9 @@ const isProd = import.meta.env.PROD;
<link rel="manifest" href="/site.webmanifest" />
<link rel="preload" as="image" href="/og.png" />
<link rel="preconnect" href="https://stat.ranio.xyz" crossorigin />
<link rel="preconnect" href="https://git.ranio.xyz" />
<link rel="preconnect" href="https://github.com" />
<link rel="dns-prefetch" href="https://stat.ranio.xyz" />
<link rel="dns-prefetch" href="https://git.ranio.xyz" />
<link rel="dns-prefetch" href="https://github.com" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
@@ -104,7 +104,7 @@ const isProd = import.meta.env.PROD;
</a>
<div class="hidden md:flex items-center gap-6 text-sm">
<a href="/#features" class="nav-link">Features</a>
<a href="https://git.ranio.xyz/adrianbonpin/gridline" target="_blank" rel="noopener" class="nav-link">Gitea</a>
<a href="https://github.com/AdrianBonpin/gridline" target="_blank" rel="noopener" class="nav-link">GitHub</a>
<a href="/#download" data-download data-download-label class="nav-link">Download</a>
<button id="theme-toggle" class="p-2 rounded-full hover:bg-[var(--surface-elevated)] transition-colors" aria-label="Toggle theme">
<span class="theme-icon-sun hidden">☀</span>
@@ -139,9 +139,9 @@ const isProd = import.meta.env.PROD;
<div>
<h4 class="font-semibold text-sm mb-4">Project</h4>
<ul class="space-y-2 text-sm text-[var(--text-muted)]">
<li><a href="https://git.ranio.xyz/adrianbonpin/gridline" target="_blank" rel="noopener" class="footer-link">Gitea</a></li>
<li><a href="https://git.ranio.xyz/adrianbonpin/gridline/issues" target="_blank" rel="noopener" class="footer-link">Issues</a></li>
<li><a href="https://git.ranio.xyz/adrianbonpin/gridline/src/branch/prod/ROADMAP.md" target="_blank" rel="noopener" class="footer-link">Roadmap</a></li>
<li><a href="https://github.com/AdrianBonpin/gridline" target="_blank" rel="noopener" class="footer-link">GitHub</a></li>
<li><a href="https://github.com/AdrianBonpin/gridline/issues" target="_blank" rel="noopener" class="footer-link">Issues</a></li>
<li><a href="https://github.com/AdrianBonpin/gridline/blob/prod/ROADMAP.md" target="_blank" rel="noopener" class="footer-link">Roadmap</a></li>
</ul>
</div>
<div>
+3 -3
View File
@@ -20,7 +20,7 @@ describe("seo builders", () => {
applicationCategory: "DeveloperApplication",
offersPrice: 0,
offersCurrency: "USD",
downloadUrl: "https://git.ranio.xyz/adrianbonpin/gridline/releases",
downloadUrl: "https://github.com/AdrianBonpin/gridline/releases",
});
expect(ld["@type"]).toBe("SoftwareApplication");
expect(ld.name).toBe("Gridline");
@@ -43,10 +43,10 @@ describe("seo builders", () => {
name: "Gridline",
url: "https://getgridline.app/",
logo: "https://getgridline.app/gridline-icon.svg",
sameAs: ["https://git.ranio.xyz/adrianbonpin/gridline"],
sameAs: ["https://github.com/AdrianBonpin/gridline"],
});
expect(ld["@type"]).toBe("Organization");
expect(ld.sameAs).toContain("https://git.ranio.xyz/adrianbonpin/gridline");
expect(ld.sameAs).toContain("https://github.com/AdrianBonpin/gridline");
});
it("buildWebSiteJsonLd includes SearchAction", () => {
+2 -2
View File
@@ -38,8 +38,8 @@ const jsonLd = [
<p class="mt-8 text-sm text-[var(--text-muted)]">
Full release history on{" "}
<a href="https://git.ranio.xyz/adrianbonpin/gridline/releases" target="_blank" rel="noopener" class="text-[var(--primary)] hover:text-[var(--primary-hover)]">
Gitea Releases
<a href="https://github.com/AdrianBonpin/gridline/releases" target="_blank" rel="noopener" class="text-[var(--primary)] hover:text-[var(--primary-hover)]">
GitHub Releases
</a>.
</p>
</div>
+7 -7
View File
@@ -28,7 +28,7 @@ const jsonLd = [
applicationCategory: "DeveloperApplication",
offersPrice: 0,
offersCurrency: "USD",
downloadUrl: "https://git.ranio.xyz/adrianbonpin/gridline/releases",
downloadUrl: "https://github.com/AdrianBonpin/gridline/releases",
}),
buildFaqJsonLd(faqItems),
buildOrganizationJsonLd({
@@ -36,7 +36,7 @@ const jsonLd = [
url: `${site}/`,
logo: `${site}/gridline-icon.svg`,
sameAs: [
"https://git.ranio.xyz/adrianbonpin/gridline",
"https://github.com/AdrianBonpin/gridline",
"https://x.com/AdrianBonpin",
],
}),
@@ -73,11 +73,11 @@ const jsonLd = [
Query, explore, sync, and edit PostgreSQL, MySQL, SQLite, and Redis, with no paywalls, no tab limits, no account required.
</p>
<div class="mt-8 flex flex-wrap items-center justify-center gap-3">
<a id="download" href="https://git.ranio.xyz/adrianbonpin/gridline/releases" class="primary-btn" data-download>
<a id="download" href="https://github.com/AdrianBonpin/gridline/releases" class="primary-btn" data-download>
Download
</a>
<a href="https://git.ranio.xyz/adrianbonpin/gridline" target="_blank" rel="noopener" class="ghost-btn">
View on Gitea
<a href="https://github.com/AdrianBonpin/gridline" target="_blank" rel="noopener" class="ghost-btn">
View on GitHub
</a>
</div>
</div>
@@ -181,8 +181,8 @@ const jsonLd = [
Gridline is Apache 2.0 and developed openly. Contributions, issues, and feature requests are welcome.
</p>
<div class="flex flex-wrap items-center justify-center gap-3">
<a href="https://git.ranio.xyz/adrianbonpin/gridline" target="_blank" rel="noopener" class="ghost-btn">
Star on Gitea
<a href="https://github.com/AdrianBonpin/gridline" target="_blank" rel="noopener" class="ghost-btn">
Star on GitHub
</a>
<a href="https://ko-fi.com/adrianbonpin" target="_blank" rel="noopener" class="ghost-btn">
☕ Support on Ko-fi