snatching amp's walkthrough for my own purposes mwhahaha traverse.dunkirk.sh/diagram/6121f05c-a5ef-4ecf-8ffc-02534c5e767c
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

bug: fix git hash

+10 -7
+9 -6
src/index.ts
··· 10 10 const config = loadConfig(); 11 11 const PORT = config.port; 12 12 const MODE = config.mode; 13 - const GIT_HASH = await Bun.$`git rev-parse --short HEAD`.text().then(s => s.trim()).catch(() => "dev"); 13 + const VERSION = await Bun.$`git rev-parse --short HEAD`.text().then(s => s.trim()).catch(async () => { 14 + const pkg = await Bun.file(import.meta.dir + "/../package.json").json(); 15 + return `v${pkg.version}`; 16 + }); 14 17 initDb(); 15 18 16 19 // Load persisted diagrams ··· 55 58 }); 56 59 } 57 60 const existingShareUrl = getSharedUrl(id); 58 - return new Response(generateViewerHTML(diagram, GIT_HASH, process.cwd(), { 61 + return new Response(generateViewerHTML(diagram, VERSION, process.cwd(), { 59 62 mode: MODE, 60 63 shareServerUrl: config.shareServerUrl, 61 64 diagramId: id, ··· 153 156 // List available diagrams 154 157 if (url.pathname === "/") { 155 158 const html = MODE === "server" 156 - ? generateServerIndexHTML(diagrams.size, GIT_HASH) 157 - : generateLocalIndexHTML(diagrams, GIT_HASH); 159 + ? generateServerIndexHTML(diagrams.size, VERSION) 160 + : generateLocalIndexHTML(diagrams, VERSION); 158 161 return new Response(html, { 159 162 headers: { "Content-Type": "text/html; charset=utf-8" }, 160 163 }); ··· 484 487 </div> 485 488 <footer class="site-footer"> 486 489 <span>Made with &#x2764;&#xFE0F; by <a href="https://dunkirk.sh">Kieran Klukas</a></span> 487 - <a class="hash" href="https://github.com/taciturnaxolotl/traverse/commit/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 490 + <a class="hash" href="https://github.com/taciturnaxolotl/traverse/${/^v\d+\./.test(gitHash) ? "releases/tag" : "commit"}/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 488 491 </footer> 489 492 <script> 490 493 async function deleteDiagram(id, btn) { ··· 596 599 </div> 597 600 <footer class="site-footer"> 598 601 <span>Made with &#x2764;&#xFE0F; by <a href="https://dunkirk.sh">Kieran Klukas</a></span> 599 - <a class="hash" href="https://github.com/taciturnaxolotl/traverse/commit/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 602 + <a class="hash" href="https://github.com/taciturnaxolotl/traverse/${/^v\d+\./.test(gitHash) ? "releases/tag" : "commit"}/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 600 603 </footer> 601 604 </body> 602 605 </html>`;
+1 -1
src/template.ts
··· 643 643 644 644 <footer class="site-footer"> 645 645 <span>Made with &#x2764;&#xFE0F; by <a href="https://dunkirk.sh">Kieran Klukas</a></span> 646 - <a class="hash" href="https://github.com/taciturnaxolotl/traverse/commit/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 646 + <a class="hash" href="https://github.com/taciturnaxolotl/traverse/${/^v\d+\./.test(gitHash) ? "releases/tag" : "commit"}/${escapeHTML(gitHash)}">${escapeHTML(gitHash)}</a> 647 647 </footer> 648 648 649 649 <script type="module">