Skip to content

Commit 08e41e0

Browse files
Add the Solana $GSG section, and remove em-dashes from the site copy (#18)
* Add the $GSG token section to the site Placed last, after the FAQ, and deliberately kept out of the main nav. The page's job is to get someone to trust a backup tool with their save files; the token is not that pitch and should not compete with it. The copy states what the token does and does not do rather than selling it: trading fees go toward running the project — hosting, domain, build infrastructure — while the software stays MIT-licensed and free, and holding $GSG grants no ownership, governance, revenue share or claim over the software, its repository or its roadmap. An earlier draft said the token "does not fund development". That is removed rather than left alongside the fee commitment, since the two contradict each other and shipping both would be worse than either. The address is shown in checksummed form with a copy button (42 characters is miserable to select on a phone) and a link to the Blockscout explorer, so the contract can be verified rather than taken on trust. * Remove the $GSG token section from the site The section is gone at the owner's request: the token is no longer being carried forward, and a page that tells people to buy a contract nobody is maintaining is worse than no section at all. It also carried a live claim — that trading fees fund the project's hosting. That was true as a commitment when it went up and stopped being true the moment the token was set aside, so it comes down with the rest rather than being left to age into a false statement. Removed cleanly: the section, its styles, and the clipboard helper that existed only to copy the contract address. Verified nothing is left behind — no address, no ticker, no explorer link, no dead anchors — and the page still passes its structure checks with seven sections, one h1 and no broken in-page links. * Add the Solana $GSG section and drop em-dashes from the site copy The token section returns, this time for the Solana mint. Two things it does that the previous one did not need to: It names the chain in the heading and shows the full mint address, because an identically named $GSG exists on Robinhood Chain and "buy $GSG" is ambiguous without it. The section also tells readers to check the address character by character before buying anything with that name, since tickers are not unique across chains and copies are trivial to make. It states the on-chain facts a buyer would otherwise have to look up: mint authority revoked, freeze authority revoked, fixed supply of 1,000,000,000. All three were verified against a Solana RPC rather than taken from the launchpad UI. The fee commitment is back at the owner's request: trading fees go toward hosting, the domain and build infrastructure, with the software staying MIT-licensed and free. The disclaimer sits directly underneath, unchanged. Separately, every em-dash is gone from the reader-facing copy: 22 of them, rewritten as sentences rather than swapped for hyphens, since a hyphen standing where an em-dash was still reads as an em-dash that lost a fight. The seven that remain are inside CSS and JS comments, which no reader sees. --------- Co-authored-by: Vasanthdev2004 <Vasanthdev2004@users.noreply.github.com>
1 parent 0b4fc96 commit 08e41e0

1 file changed

Lines changed: 99 additions & 19 deletions

File tree

docs/index.html

Lines changed: 99 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<title>Game Save Genie Steam Cloud for the games that don't have it</title>
7-
<meta name="description" content="Automatic, versioned, self-hosted cloud save sync for PC games. Hydra, GOG offline installers, repacks, emulators — anything a launcher isn't protecting. Your saves, your cloud, no subscription.">
6+
<title>Game Save Genie: Steam Cloud for the games that don't have it</title>
7+
<meta name="description" content="Automatic, versioned, self-hosted cloud save sync for PC games. Hydra, GOG offline installers, repacks, emulators. Anything a launcher isn't protecting. Your saves, your cloud, no subscription.">
88
<link rel="icon" href="assets/icon.png" type="image/png">
99

1010
<!-- Absolute URLs on purpose: Reddit, Discord and Twitter do not resolve a
@@ -430,6 +430,28 @@
430430
details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); border-color: #c3cdff; }
431431
details p { color: var(--muted); font-size: .92rem; margin: .85rem 0 0; line-height: 1.6; }
432432

433+
/* Deliberately last and deliberately quiet. The page exists to get someone to
434+
trust a backup tool with their save files; the token is not that pitch and
435+
must not compete with it. */
436+
.token-note { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 1.4rem 0 0; }
437+
.ca {
438+
font-family: var(--mono); font-size: .8rem; color: var(--text);
439+
background: var(--bg-sunken); border: 1px solid var(--line);
440+
padding: .55rem .8rem; border-radius: 9px; overflow-wrap: anywhere; min-width: 0;
441+
}
442+
.copy-ca {
443+
font: 600 .78rem var(--sans); color: var(--text); cursor: pointer;
444+
background: var(--bg-raised); border: 1px solid var(--line);
445+
padding: .55rem .9rem; border-radius: 9px; transition: border-color .16s ease;
446+
}
447+
.copy-ca:hover { border-color: rgba(140,163,255,.4); }
448+
.onchain {
449+
list-style: none; padding: 0; margin: 1.3rem 0 0; display: grid; gap: .45rem;
450+
font-size: .87rem; color: var(--muted);
451+
}
452+
.onchain li { display: flex; gap: .6rem; align-items: baseline; }
453+
.onchain b { color: var(--text); font-weight: 600; }
454+
433455
footer { border-top: 1px solid var(--line); padding: 2.5rem 0 3.5rem; color: var(--dim); font-size: .88rem; }
434456
footer a { color: var(--muted); }
435457
.foot-row { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: space-between; align-items: center; }
@@ -516,7 +538,7 @@ <h2>OPEN<span class="alt">SOURCE</span></h2>
516538
</div>
517539
<div>
518540
<p class="label">What it does</p>
519-
<p class="body">Backs up the games nothing else is protecting — automatically, versioned, to storage you already own.</p>
541+
<p class="body">Backs up the games nothing else is protecting. Automatic, versioned, to storage you already own.</p>
520542
</div>
521543
<div>
522544
<p class="label">Works with</p>
@@ -592,20 +614,20 @@ <h1>
592614
<p class="eyebrow">The problem</p>
593615
<h2>If you play outside Steam, nothing is protecting your saves</h2>
594616
<p class="lede">
595-
One corrupted file, one Windows reinstall, one “wait which PC did I play on last?”
617+
One corrupted file, one Windows reinstall, one “wait, which PC did I play on last?”
596618
and dozens of hours are gone. Paid save-sync services cap your history at a couple of
597619
backups and delete everything when you stop paying.
598620
</p>
599621
<p class="lede">
600622
Game Save Genie runs quietly in the background and gives those games what the
601623
launchers give theirs. Steam, Epic and Xbox titles are detected and skipped
602-
automatically they already sync their own saves.
624+
automatically, because they already sync their own saves.
603625
</p>
604626
<div class="shot">
605627
<img src="assets/dashboard.svg" alt="The gsg dashboard: tracked games on the left with backup counts and cloud target, save versions on the right, and an activity log below.">
606628
</div>
607629
<p class="shot-caption">
608-
<code>gsg</code> — arrow to a version, press <code>r</code> to restore. No ids to copy.
630+
<code>gsg</code>. Arrow to a version, press <code>r</code> to restore. No ids to copy.
609631
</p>
610632
</div>
611633
</section>
@@ -624,7 +646,7 @@ <h3>Install</h3>
624646
<div class="step surface">
625647
<span class="num">STEP 02</span>
626648
<h3>Connect your cloud</h3>
627-
<p>Run <code>gsg</code>. Google Drive and OneDrive open a browser — sign in, click
649+
<p>Run <code>gsg</code>. Google Drive and OneDrive open a browser. Sign in and click
628650
Allow. For any S3 bucket or your own server, run <code>gsg setup-s3</code>
629651
instead.</p>
630652
</div>
@@ -652,13 +674,13 @@ <h3>Knows your games</h3>
652674
<div class="card surface">
653675
<span class="ico" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="5" width="14" height="14" rx="2"/><rect x="9" y="9" width="6" height="6" rx="1"/><path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3"/></svg></span>
654676
<h3>Emulators too</h3>
655-
<p><code>gsg add --path</code> backs up any folder RetroArch, PCSX2, Dolphin,
656-
memory cards, save states so games Ludusavi doesn't know are covered.</p>
677+
<p><code>gsg add --path</code> backs up any folder (RetroArch, PCSX2, Dolphin,
678+
memory cards, save states), so games Ludusavi doesn't know are covered.</p>
657679
</div>
658680
<div class="card surface">
659681
<span class="ico" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 3-6.7"/><path d="M3 4v4h4"/><path d="M12 8v4.5l3 1.8"/></svg></span>
660682
<h3>Every session is a version</h3>
661-
<p>Immutable, checksummed snapshots — roll back to any recent session, not just to
683+
<p>Immutable, checksummed snapshots. Roll back to any recent session, not just to
662684
“last backup”. The last 10 are kept by default; raise it with
663685
<code>max_versions</code>.</p>
664686
</div>
@@ -724,11 +746,11 @@ <h2>How it compares</h2>
724746
</table>
725747
</div>
726748
<p class="lede" style="margin-top:1.1rem; font-size:.9rem;">
727-
Game Backup Monitor is a good tool that also auto-backs-up and auto-restores — its
749+
Game Backup Monitor is a good tool that also auto-backs-up and auto-restores. Its
728750
difference is cloud: “cloud” there means pointing backups at a separate folder-sync
729751
client. Ludusavi is an excellent backup engine, and Game Save Genie is built on it.
730752
Hydra Cloud caps each backup at 500&nbsp;MB and deletes saves 7 days after a
731-
subscription ends. Comparison reflects mid-2026 check each project for current
753+
subscription ends. Comparison reflects mid-2026, so check each project for current
732754
features.
733755
</p>
734756
</div>
@@ -762,7 +784,7 @@ <h3>From source</h3>
762784
</div>
763785

764786
<h3 style="margin-top:2.5rem;">Everyday commands</h3>
765-
<pre><code>gsg <span class="cmt"># the dashboard browse versions, restore</span>
787+
<pre><code>gsg <span class="cmt"># the dashboard: browse versions, restore</span>
766788
gsg auto --install <span class="cmt"># start at logon, hidden, with a tray icon</span>
767789

768790
gsg status <span class="cmt"># per-game overview and storage</span>
@@ -771,7 +793,7 @@ <h3 style="margin-top:2.5rem;">Everyday commands</h3>
771793

772794
<p class="notice" style="margin-top:1.5rem;">
773795
<b>Status:</b> single-machine backup on Windows is stable and used daily.
774-
Cross-machine sync and Linux/Steam Deck support are <b>beta</b> — solid in testing,
796+
Cross-machine sync and Linux/Steam Deck support are <b>beta</b>. Solid in testing,
775797
but not yet battle-tested across many setups. Keep a second copy of anything
776798
precious for now, and please
777799
<a href="https://github.com/Vasanthdev2004/Game-Save-Genie/issues">file an issue</a>
@@ -788,9 +810,9 @@ <h2>FAQ</h2>
788810
<details>
789811
<summary>Where do my saves actually live?</summary>
790812
<p>In storage you own. On your PC, every version is a plain zip of a Ludusavi backup
791-
tree you can open with anything. In the cloud they're stored de-duplicated each
792-
file's contents once under its SHA-256, plus a readable JSON manifest per version
793-
which is how an unchanged 40&nbsp;MB save avoids being re-uploaded.</p>
813+
tree you can open with anything. In the cloud they're stored de-duplicated: each
814+
file's contents once under its SHA-256, plus a readable JSON manifest per version.
815+
That is how an unchanged 40&nbsp;MB save avoids being re-uploaded.</p>
794816
<p>No accounts, no servers of ours, no telemetry: <code>gsg</code> only ever talks to
795817
the remote you configured and to GitHub, to download Ludusavi and rclone.</p>
796818
</details>
@@ -801,7 +823,7 @@ <h2>FAQ</h2>
801823
plain zips of a Ludusavi backup tree, so Ludusavi can restore them directly without
802824
<code>gsg</code> involved at all.</p>
803825
<p>The cloud copy is content-addressed, so rebuilding it by hand means following a
804-
manifest plain JSON listing each file's path and hash. It's MIT-licensed and runs
826+
manifest, which is plain JSON listing each file's path and hash. It's MIT-licensed and runs
805827
on your own storage, so there's no vendor here to cut you off.</p>
806828
</details>
807829

@@ -815,7 +837,7 @@ <h2>FAQ</h2>
815837
<details>
816838
<summary>Can I self-host the storage?</summary>
817839
<p>Yes. There's a <code>docker compose up</code> save server that works with any
818-
S3-compatible store MinIO, Garage, TrueNAS with per-friend accounts, so your
840+
S3-compatible store (MinIO, Garage, TrueNAS) with per-friend accounts, so your
819841
saves never leave your network.</p>
820842
</details>
821843

@@ -828,6 +850,45 @@ <h2>FAQ</h2>
828850
</div>
829851
</section>
830852

853+
<section id="token">
854+
<div class="wrap">
855+
<p class="eyebrow">Token</p>
856+
<h2>$GSG on Solana</h2>
857+
<p class="lede">
858+
A community token on Solana, named after this project. Trading fees from $GSG go
859+
toward running Game Save Genie: hosting, the domain, and build infrastructure.
860+
The software itself stays MIT-licensed and free and always will be, and the token
861+
is not required to use any of it.
862+
</p>
863+
<p class="lede">
864+
Holding $GSG grants <b>no ownership, governance, revenue share, or claim of any
865+
kind</b> over the software, its repository, or its roadmap. Risk only what you can
866+
afford to lose.
867+
</p>
868+
869+
<ul class="onchain">
870+
<li><b>Mint authority</b> revoked, so the supply cannot be inflated</li>
871+
<li><b>Freeze authority</b> revoked, so accounts cannot be frozen</li>
872+
<li><b>Supply</b> 1,000,000,000, fixed</li>
873+
</ul>
874+
875+
<div class="token-note">
876+
<code class="ca" id="ca">8kbEWnJpRy3ApLDgN7dacQcKqN2WVoLq3ALjzQgipump</code>
877+
<button class="copy-ca" id="copy-ca" type="button">Copy mint</button>
878+
</div>
879+
<p class="lede" style="margin-top:1rem; font-size:.87rem;">
880+
This mint, on Solana, is the only token connected to this page. Check the address
881+
character by character before buying anything called GSG. Names and tickers are
882+
not unique across chains, and copies are trivial to make.
883+
</p>
884+
<p style="margin-top:.9rem;">
885+
<a class="card-link" href="https://pump.fun/coin/8kbEWnJpRy3ApLDgN7dacQcKqN2WVoLq3ALjzQgipump">
886+
View on pump.fun <span aria-hidden="true">&rarr;</span>
887+
</a>
888+
</p>
889+
</div>
890+
</section>
891+
831892
</main>
832893

833894
<footer>
@@ -875,6 +936,25 @@ <h2>FAQ</h2>
875936
});
876937
})();
877938

939+
// A 44-character mint address is miserable to select by hand on a phone, and
940+
// mis-copying one character is how people buy the wrong token.
941+
(() => {
942+
const btn = document.getElementById('copy-ca');
943+
const ca = document.getElementById('ca');
944+
if (!btn || !ca || !navigator.clipboard) return;
945+
btn.addEventListener('click', async () => {
946+
try {
947+
await navigator.clipboard.writeText(ca.textContent.trim());
948+
const original = btn.textContent;
949+
btn.textContent = 'Copied';
950+
setTimeout(() => { btn.textContent = original; }, 1600);
951+
} catch {
952+
// Clipboard can be blocked by permissions; the address is on screen
953+
// either way, so this is not worth an error message.
954+
}
955+
});
956+
})();
957+
878958
// Save data rising to the cloud. Blocks, not dots — the product's motif is
879959
// pixels, and it reads as "files moving" rather than generic sparkles.
880960
(() => {

0 commit comments

Comments
 (0)