Skip to content

Fix broken links from issue #714#715

Merged
richarddushime merged 2 commits intomasterfrom
fix/broken-links-714
Mar 19, 2026
Merged

Fix broken links from issue #714#715
richarddushime merged 2 commits intomasterfrom
fix/broken-links-714

Conversation

@LukasWallrich
Copy link
Contributor

Closes #714 (partially — fixes all resolvable broken links; excludes DOI links per scope, and links that only appear in pre-built HTML with no source files).

Summary

URL replacements (sites that moved):

  • casrai.org/credit/credit.niso.org/ (CRediT taxonomy now at NISO)
  • replicationmarkets.comreplicationmarkets.org (wrong TLD)
  • eudatasharing.eu/what-data-sharing → futurium.ec.europa.eu equivalent
  • coproductioncollective.co.uk old path → new path
  • esrc.ukri.org impact toolkit → new ukri.org URL
  • book.fosteropenscience.euopen-science-training-handbook.gitbook.io/book
  • ICPSR codebook FAQ → new URL
  • creativecommons.org/about/get-involved/mission/get-involved
  • Stanford library DMP page → guides.library.stanford.edu/dmps
  • lexico.com/definition/bias → Oxford Learner's Dictionaries (Lexico shut down 2022)
  • i4replication.org/discussion_paper.html/discussion-papers/
  • Campbell Collaboration escalc calculator URLs → /calculator/
  • OpenAIRE CHIST-ERA course URL fix
  • Wiley registered reports article → updated URL
  • Mastodon @FORRTproject@FORRT (correct handle)
  • soscisurvey.de/replicate/forrt.org/replication-hub/fred/

Removed dead links (no replacement available):

  • QAA briefing URL — PDF link still present
  • UNESCO letter URL — PDF link still present
  • http://v/ placeholder link in reversals

Fixed malformed %29 URLs (12 glossary files in Turkish, German, Arabic): bare URLs inside parentheses caused Hugo's auto-linker to include ) in the URL, producing broken links like https://www.sortee.org/). Fixed by converting to markdown link format.

Glossary generation script (_create_glossaries.py): Added fix_bare_urls_in_parens() post-processing so this class of bug can't recur when the glossary is regenerated from the spreadsheet. The apa_lookup.json URL fixes also persist through regeneration since the script reads that file directly.

What's not fixed

  • FOSTER Open Science EU links (fosteropenscience.eu) — domain is down, no clean replacement found
  • casrai.org/term/closed-access/ — no equivalent replacement page
  • Horizon 2020 RRI page — programme ended, page gone
  • Links appearing only in pre-built HTML with no source files (dpjedi.org, ARIADNE, badscience.net, etc.)
  • DOI links — excluded per scope

🤖 Generated with Claude Code

@LukasWallrich LukasWallrich requested a review from a team as a code owner March 18, 2026 19:41
@github-actions
Copy link
Contributor

github-actions bot commented Mar 18, 2026

👍 All image files/references (if any) are in webp format, in line with our policy.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 18, 2026

📝 Spell Check Results

Found 21 potential spelling issue(s) when checking 27 changed file(s):

📄 content/glossary/german/akademischer_einfluss.md

Line Issue
5 unser ==> under, unset, unsure, user
5 Methoden ==> Methods
5 als ==> also
5 oder ==> order, older, coder, odder, odor, over, doer
5 oder ==> order, older, coder, odder, odor, over, doer

📄 content/glossary/german/data_sharing.md

Line Issue
5 oder ==> order, older, coder, odder, odor, over, doer
5 oder ==> order, older, coder, odder, odor, over, doer
5 unter ==> under

📄 content/glossary/german/digital_object_identifier.md

Line Issue
5 oder ==> order, older, coder, odder, odor, over, doer

📄 content/glossary/german/economic_and_societal_impact.md

Line Issue
5 oder ==> order, older, coder, odder, odor, over, doer

📄 content/glossary/german/forschungsprotokoll.md

Line Issue
5 Dokument ==> Document
5 vor ==> for
5 Methoden ==> Methods
5 oder ==> order, older, coder, odder, odor, over, doer
5 oder ==> order, older, coder, odder, odor, over, doer

📄 content/glossary/german/ko_produktion.md

Line Issue
5 Beginn ==> Begin
5 oder ==> order, older, coder, odder, odor, over, doer

📄 content/glossary/german/sortee.md

Line Issue
5 Dezember ==> December
5 alle ==> all, alley

📄 content/glossary/turkish/akademik_etki.md

Line Issue
30 Ege ==> Edge

📄 content/glossary/turkish/ekonomik_ve_toplumsal_etki.md

Line Issue
28 Ege ==> Edge

ℹ️ How to address these issues:

  1. Fix the typo: If it's a genuine typo, please correct it.
  2. Add to whitelist: If it's a valid word (e.g., a name, technical term), add it to .codespell-ignore.txt
  3. False positive: If this is a false positive, please report it in the PR comments.

🤖 This check was performed by codespell

@LukasWallrich
Copy link
Contributor Author

LukasWallrich commented Mar 18, 2026

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2026-03-19 15:08:27 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

LukasWallrich and others added 2 commits March 19, 2026 15:45
URL replacements:
- casrai.org/credit/ → credit.niso.org/ (CRediT moved to NISO)
- replicationmarkets.com → replicationmarkets.org (.org not .com)
- eudatasharing.eu/what-data-sharing → futurium.ec.europa.eu equivalent
- coproductioncollective.co.uk old path → new path
- esrc.ukri.org impact toolkit → ukri.org new URL
- book.fosteropenscience.eu → open-science-training-handbook.gitbook.io/book
- icpsr.umich.edu old codebook URL → new URL
- creativecommons.org/about/get-involved → /mission/get-involved
- library.stanford.edu DMP page → guides.library.stanford.edu/dmps
- lexico.com/definition/bias → oxfordlearnersdictionaries.com equivalent
- i4replication.org/discussion_paper.html → /discussion-papers/
- campbellcollaboration.org escalc URLs → /calculator/
- openaire.eu/item → /component/zoo/item (CHIST-ERA course)
- wiley.com registered reports URL → updated URL
- mastodon.social/@forrtproject@FORRT (correct handle)
- Remove dead QAA and UNESCO publication URLs (no replacement)
- Remove broken http://v/ link in reversals (placeholder URL)
- Replace broken soscisurvey.de/replicate/ with forrt.org/replication-hub/fred/

Fix malformed %29 URLs in glossary definitions:
- Convert bare URLs inside parentheses to markdown link format
  in Turkish, German, and Arabic glossary files to prevent
  Hugo's auto-linker from including ) as part of the URL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Hugo's auto-linker treats (https://url.com) as a link including the
closing ), producing broken %29 URLs. Add fix_bare_urls_in_parens()
which converts (url) → ([url](url)) during generation, so this class
of bug can't recur even if the source spreadsheet has the same pattern.

The apa_lookup.json URL replacements (casrai→credit.niso.org, etc.)
already persist through regeneration since that file is read by the
script directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Contributor

@richarddushime richarddushime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍
too big to check all the links
closed eyes merge

@richarddushime richarddushime merged commit 9750c8f into master Mar 19, 2026
5 checks passed
@richarddushime richarddushime deleted the fix/broken-links-714 branch March 19, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Link Checker Report

2 participants