andygrunwald / andygrunwald/go-trending
Project.Stars returns total stargazers instead of trending stars
- Lenguaje dominante
- Go
- Estrellas
- 147
- Forks
- 21
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### 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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.