andygrunwald / andygrunwald/go-trending
Project.Stars returns total stargazers instead of trending stars
- Lingua principale
- Go
- Stelle
- 147
- Fork
- 21
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Bug
`Project.Stars` is documented as "the number of GitHub stars this project received in the given timeframe", but the parser currently extracts the **total** stargazer count from the repository link instead of the "stars today/week/month" value shown on the trending page.
### Where it happens
In `GetProjects`, the code uses:
```go
starsString := s.Find("div a[href$=\"/stargazers\"]").Text()
```
This selects the total stargazer link (e.g. `5,096` in `testdata/github.com_trending.html`). The trending delta is in the trailing span (e.g. `1,582 stars today`).
### Repro (using bundled testdata)
1. Parse `testdata/github.com_trending.html`.
2. For `smol-ai/developer`, the HTML shows `5,096` total stars but `1,582 stars today`.
3. `Project.Stars` becomes `5096`, not `1582`, which contradicts the doc comment and expected timeframe semantics.
### Expected
`Project.Stars` should reflect the timeframe stars (e.g. `1,582`), matching the docstring and GitHub’s trending UI.
### Suggested fix
Parse the trailing "stars today/week/month" span (e.g. `span.d-inline-block.float-sm-right`) and extract the numeric portion (strip commas). If you prefer to keep total stars, please update the docstring to avoid the mismatch.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.