# Richer GitHub Repo Oneboxes with more metadata

**URL:** <https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029>\
**Category:** Feature\
**Tags:** onebox\
**Created:** [October 6, 2026, 1:40pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029 "2026-10-06T13:40:03Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [October 6, 2026, 1:40pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/1 "2026-10-06T13:40:03Z")

</div>

Include Language, Star Rating and Number of Forks, similar to GitHub repo cards.

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/7/a/17af493e4ab0dc7cf8bfb888f6f6a31241878e57.png)

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [October 6, 2026, 1:41pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/2 "2026-10-06T13:41:53Z")

</div>

PR raised:

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/f/7/6f7dac935c52345bb591d49f2901728f3251c43b.png)

> <https://github.com/discourse/discourse/pull/44289>
>
> GitHub repository oneboxes currently show the repository title, thumbnail and de…scription, but no repository metadata. Add a compact footer with the primary language and nonzero star and fork counts, similar to GitHub's pinned repository cards.
> 
> \<img width="632" height="331" alt="image" src="https://github.com/user-attachments/assets/e1319b40-27ea-47b0-8a7e-a4adab54ef0e" /\>
> 
> Counts below 1,000 remain exact. Larger counts use one decimal place and Discourse's localized compact-number units and decimal separator, for example \`195.9k stars\` and \`17.0k forks\`. Count labels use localized singular/plural forms. Missing or blank languages and zero or missing counts are omitted, and an empty footer is not rendered.
> 
> The footer uses the existing GitHub repository API response without additional requests. Styles follow Discourse's BEM conventions, use the standard subtle text color token, and wrap on narrow screens. Decorative inline SVG icons follow the existing GitHub onebox templates.
> 
> Validation:
> \- 148 examples passed across GitHub repository, folder, pull request, issue and commit oneboxes, GitHub API handling and onebox previews.
> \- Tests cover compact-number boundaries, localization, singular labels, missing metadata, escaping, production onebox sanitization and a single API request.
> \- Ruby, SCSS, YAML and translation lint checks passed.
> \- \`git diff --check\` passed.
> 
> Browser/theme combinations have not been visually verified.
> 
> \*\*NB AI assisted contribution\*\*

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [October 6, 2026, 3:18pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/3 "2026-10-06T15:18:05Z")

</div>

Will it update the stars and the fork count dynamically every now and then or will those numbers be pulled once and become stale?

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [October 6, 2026, 3:19pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/4 "2026-10-06T15:19:12Z")

</div>

No, it would require a HTML Rebuild. Implementing that is of course possible, but is going to add a lot of new baggage, so I held off.

If there is appetite from CDCK for that periodic enrichment, I’m happy to follow up, but I’m not sure such complexity would be welcome?

I think an HTML Rebuild is a good compromise for the time being?

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [October 6, 2026, 4:04pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/5 "2026-10-06T16:04:44Z")

</div>

Looking into this a bit more:

- there are in fact webhooks for updated metadata (amazing!)
- sadly to set one up you have to be the repo owner or have similar rights

So the only solution would be some kind of polling system.

That’s one hell of a rabbit hole … and perhaps you’d just add that to the github plugin or something instead of implementing that in core core …

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [October 6, 2026, 4:12pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/6 "2026-10-06T16:12:15Z")

</div>

thinking about this maybe it just needs something like “data correct at 10/11/2026” in subdued text?

this would take care of both fire and forget links and refreshed links.

fair compromise?

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [October 6, 2026, 4:53pm UTC](https://meta.discourse.org/t/richer-github-repo-oneboxes-with-more-metadata/414029/7 "2026-10-06T16:53:22Z")

</div>

Thinking about this, it wouldn’t be bad to have a flag that indicates that the post has oneboxes which should be updated on a regular basis. There could be a sidekiq job that did a regular rebuild or something.

Yes, complicated stuff
