From 186b9bca36cf073556fb36f74870c48ee9d603b4 Mon Sep 17 00:00:00 2001 From: Anjo Vahldiek Date: Wed, 8 Jul 2026 13:42:58 +0200 Subject: [PATCH 1/2] search: enforce result link order and artifact labeling --- src/assets/js/reprodb-search.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/assets/js/reprodb-search.js b/src/assets/js/reprodb-search.js index 9fd8d59..4fab4a6 100644 --- a/src/assets/js/reprodb-search.js +++ b/src/assets/js/reprodb-search.js @@ -257,31 +257,34 @@ } else if (d.paper_url) { links.push('📄 Paper'); } - // Artifact URLs (unified list) + if (d.appendix_url) links.push('📋 Appendix'); + // Artifact URLs from scraped sources first, then ArtiFinder-discovered URLs. var artUrlList = artUrls; if (artUrlList.length === 1) { var isGH = artUrlList[0].indexOf('github.com') !== -1; - var lbl = isGH ? '💻 GitHub' : '📦 Artifact'; + var isZenodo = artUrlList[0].indexOf('zenodo.org') !== -1; + var lbl = isGH ? '💻 GitHub' : (isZenodo ? '📦 Zenodo' : '📦 Artifact'); var avail1 = availabilityTag(artUrlList[0]); links.push('' + lbl + '' + avail1); } else { artUrlList.forEach(function(u, i) { if (u) { var isGH = u.indexOf('github.com') !== -1; - var lbl = isGH ? '💻 GitHub' : '📦 Artifact'; + var isZenodo = u.indexOf('zenodo.org') !== -1; + var lbl = isGH ? '💻 GitHub' : (isZenodo ? '📦 Zenodo' : '📦 Artifact'); if (artUrlList.length > 1) lbl += ' #' + (i+1); var availN = availabilityTag(u); links.push('' + lbl + '' + availN); } }); } - if (d.appendix_url) links.push('📋 Appendix'); // ArtiFinder-discovered links: not manually verified, no badges. var afUrls = (d.artifinder_urls || []).map(normalizeUrl); afUrls.forEach(function(u) { if (!u) return; var isGH = u.indexOf('github.com') !== -1; - var lbl = isGH ? '💻 GitHub' : '📦 Artifact'; + var isZenodo = u.indexOf('zenodo.org') !== -1; + var lbl = isGH ? '💻 GitHub' : (isZenodo ? '📦 Zenodo' : '📦 Artifact'); links.push('' + lbl + '' + artifinderTag()); }); var linksLine = links.length > 0 ? links.join(' · ') : ''; From 9a338960e3ceb36fab8927adefd77afc655092cf Mon Sep 17 00:00:00 2001 From: Anjo Vahldiek Date: Wed, 8 Jul 2026 13:45:15 +0200 Subject: [PATCH 2/2] docs: add search result link order to methodology --- src/methodology/search-keywords.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/methodology/search-keywords.md b/src/methodology/search-keywords.md index 723561a..07e65e7 100644 --- a/src/methodology/search-keywords.md +++ b/src/methodology/search-keywords.md @@ -25,4 +25,15 @@ The [search bar]({{ '/' | relative_url }}) supports special `#` keywords that fi Keywords also work alongside the year, venue, and area dropdown filters. +## Result Link Order + +In each search result card, links are displayed in this order: + +1. Paper +2. Appendix +3. Artifact links from scraped sources (for example, Zenodo or GitHub) +4. Artifact links discovered by ArtiFinder + +When multiple artifact links are present, scraped links are shown before ArtiFinder links. + **Note on `#unavailable`:** Availability is determined by automated URL checks that run as part of the monthly pipeline. A URL marked as unavailable may be temporarily down, rate-limited, or require authentication. The hover tooltip on each flagged artifact shows when the check was last performed.