Data-driven Clusters v4.1 page (11 clusters from Google Sheet)#720
Data-driven Clusters v4.1 page (11 clusters from Google Sheet)#720LukasWallrich wants to merge 8 commits intomasterfrom
Conversation
Replace the 7 hardcoded cluster markdown files with a data-driven approach that reads from a generated JSON file (clusters_v4.json). The data originates from the FORRT Clusters v4.1 Google Doc and is parsed into a Google Sheet, then exported as JSON for Hugo to consume at build time. Key changes: - New script (parse_clusters_to_sheet.py) that parses the GDoc, resolves DOIs via doi.org for clean APA references + BibTeX, writes to Google Sheet, and exports JSON for Hugo - New Hugo shortcode (clusters_display.html) renders all clusters with sidebar navigation, tabbed sub-clusters, and full-text search - Updated intro text to reflect 11 clusters (was 9) - Deactivated old cluster1-7.md files (replaced by data-driven rendering) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
👍 All image files/references (if any) are in webp format, in line with our policy. |
|
✅ Staging Deployment Status This PR has been successfully deployed to staging as part of an aggregated deployment. Deployed at: 2026-03-23 23:50:03 UTC The staging site shows the combined state of all compatible open PRs. |
The clusters page now has its own full-text search that covers clusters, sub-clusters, and all references. The site-wide Academic search is redundant and has been disabled. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 Spell Check ResultsFound 6 potential spelling issue(s) when checking 30 changed file(s): 📄
|
| Line | Issue |
|---|---|
| 80 | tabEl ==> table |
| 81 | tabEl ==> table |
| 83 | tabEl ==> table |
| 85 | tabEl ==> table |
| 474 | tabEl ==> table |
| 475 | tabEl ==> table |
ℹ️ How to address these issues:
- Fix the typo: If it's a genuine typo, please correct it.
- Add to whitelist: If it's a valid word (e.g., a name, technical term), add it to
.codespell-ignore.txt - False positive: If this is a false positive, please report it in the PR comments.
🤖 This check was performed by codespell
|
we now have 2 searches box funcs meanwhile i will continue enhancing it , would be good if you can check it asap |
|
Thanks @richarddushime! I agree that we need to get rid of one of the searches. There is also now too much going on in this area - too many boxes. Maybe the syllabus does not need to be in a box? Can we also remove the outdated figure and really condense the text? I think the following is all we need above the clusters - unless @flavioazevedo disagrees (but Richard, please make the change so that he can look at a complete new draft)
|
|
I am from making other adjustements I would like also clarification about the below
Do you mean all the contents before the forrt syllabus and the figure all removed and replaced by this paragraph ? About the figure i think its good to keep having it as we wait for the updated one (may be flavio can push for its design quickly ?) |
|
Additionally here is something i am proposing in the latest commit I Introduces dedicated, indexable URLs for each FORRT cluster (/clusters/cluster-N/) alongside the existing taxonomy hub (/clusters/), so each cluster is a first-class page for search and sharing. The reason i Added this is that Clusters in sitemap are only covered by 1 url (the main cluster page) or we can have each cluster indexable by : you can check the preview by https://staging.forrt.org/clusters/cluster- [ |

Summary
Replaces the 7 hardcoded cluster pages (v3) with a fully data-driven approach powered by the FORRT Clusters v4.1 Google Doc and a structured Google Sheet.
What changed
scripts/parse_clusters_to_sheet.py) that:data/clusters_v4.jsonfor Hugo to consume at build timelayouts/shortcodes/clusters_display.html) that renders all clusters from the JSON data with:<i>for italics) preserved from doi.orgcluster1.md–cluster7.md(setactive = false)Data pipeline
The script supports
--dry-run,--skip-doi,--json-only, and--export-jsonflags. DOI lookups are cached inscripts/doi_cache.json(gitignored) for fast reruns.Screenshots
The page preserves the established tab-based UI for sub-clusters while adding sidebar navigation and full-text search. Each cluster section has an alternating pastel background color.
Test plan
python3 scripts/parse_clusters_to_sheet.py --dry-runto verify parsing (expect 11 clusters, ~93 sub-clusters, ~1297 publications)hugo serverand verify/clusters/renders correctly🤖 Generated with Claude Code