gitea/routers/web/repo
Şahin Akkaya 21331be30c
Implement contributors graph (#27882)
Continuation of https://github.com/go-gitea/gitea/pull/25439. Fixes #847

Before:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/24571ac8-b254-43c9-b178-97340f0dc8a9">

----
After:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/c60b2459-9d10-4d42-8d83-d5ef0f45bf94">

---
#### Overview
This is the implementation of a requested feature: Contributors graph
(#847)

It makes Activity page a multi-tab page and adds a new tab called
Contributors. Contributors tab shows the contribution graphs over time
since the repository existed. It also shows per user contribution graphs
for top 100 contributors. Top 100 is calculated based on the selected
contribution type (commits, additions or deletions).

---
#### Demo
(The demo is a bit old but still a good example to show off the main
features)

<video src="https://github.com/go-gitea/gitea/assets/32161460/9f68103f-8145-4cc2-94bc-5546daae7014" controls width="320" height="240">
  <a href="https://github.com/go-gitea/gitea/assets/32161460/9f68103f-8145-4cc2-94bc-5546daae7014">Download</a>
</video>


#### Features:

- Select contribution type (commits, additions or deletions)
- See overall and per user contribution graphs for the selected
contribution type
- Zoom and pan on graphs to see them in detail
- See top 100 contributors based on the selected contribution type and
selected time range
- Go directly to users' profile by clicking their name if they are
registered gitea users
- Cache the results so that when the same repository is visited again
fetching data will be faster


---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: hiifong <i@hiif.ong>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: yp05327 <576951401@qq.com>
2024-02-15 23:21:13 +01:00
..
actions Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
setting Change webhook-type in create-view (#29114) 2024-02-15 14:59:48 +01:00
activity.go Implement contributors graph (#27882) 2024-02-15 23:21:13 +01:00
attachment.go Even more `db.DefaultContext` refactor (#27352) 2023-10-03 10:30:41 +00:00
blame.go Extract linguist code to method (#29168) 2024-02-14 18:50:31 +00:00
branch.go Adjust object format interface (#28469) 2023-12-17 11:56:08 +00:00
cherry_pick.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
commit.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
compare.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
contributors.go Implement contributors graph (#27882) 2024-02-15 23:21:13 +01:00
download.go Less naked returns (#25713) 2023-07-07 05:31:56 +00:00
editor.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
editor_test.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
find.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
githttp.go Some refactor for git http (#28995) 2024-01-31 15:23:22 +00:00
githttp_test.go Fix http protocol auth (#27875) 2023-11-02 22:14:33 +08:00
helper.go Improve tree not found page (#26570) 2023-09-29 07:42:39 +00:00
helper_test.go Make web context initialize correctly for different cases (#26726) 2023-08-25 19:07:42 +08:00
issue.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
issue_content_history.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
issue_dependency.go Upgrade to golangci-lint@v1.55.0 (#27756) 2023-10-24 02:54:59 +00:00
issue_label.go Even more `db.DefaultContext` refactor (#27352) 2023-10-03 10:30:41 +00:00
issue_label_test.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
issue_lock.go Penultimate round of `db.DefaultContext` refactor (#27414) 2023-10-11 04:24:07 +00:00
issue_pin.go Fix missing check (#28406) 2023-12-10 21:37:10 +02:00
issue_stopwatch.go Final round of `db.DefaultContext` refactor (#27587) 2023-10-14 08:37:24 +00:00
issue_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_timetrack.go Final round of `db.DefaultContext` refactor (#27587) 2023-10-14 08:37:24 +00:00
issue_watch.go Introduce htmx and use it to avoid full page load on `Subscribe` and `Follow` (#28908) 2024-01-30 15:45:54 +01:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
middlewares.go Improve user experience for outdated comments (#29050) 2024-02-08 01:50:48 +00:00
migrate.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
milestone.go Refactor issue template parsing and fix API endpoint (#29069) 2024-02-12 05:04:10 +00:00
packages.go Fix the display of org level badges (#26504) 2023-09-06 14:38:14 +08:00
patch.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
projects.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
projects_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
pull.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
pull_review.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
pull_review_test.go Improve user experience for outdated comments (#29050) 2024-02-08 01:50:48 +00:00
release.go Rework markup link rendering (#26745) 2024-01-15 08:49:24 +00:00
release_test.go Move more functions to db.Find (#28419) 2024-01-15 02:19:25 +00:00
render.go Preserve BOM in web editor (#28935) 2024-01-27 18:02:51 +00:00
repo.go Don't do a full page load when clicking `Watch` or `Star` (#29001) 2024-02-05 09:56:20 +00:00
search.go Refactor indexer (#25174) 2023-06-23 12:37:56 +00:00
topic.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
treelist.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
wiki.go Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
wiki_test.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00