{% extends "base.html" %} {% block content %}

Authors statistics (top-{{project.top_authors_statistics|length}})

{% for _, row in project.top_authors_statistics.iterrows() %} {% endfor %}
Author CommitsMerge commits + lines- lines First commitLatest commit Contributed (days)Actively contributed (days)
{{ row['author_name'] }} {{ row['commits_count'] }} ({{'%0.2f'| format(row['commits_count']|to_percentage(project.total_commits_count))}}%) {{ row['merge_commits_count'] }} ({{'%0.2f'| format(row['merge_commits_count']|to_percentage(project.total_commits_count))}}%) {{ row['insertions'] }}{{ row['deletions'] }} {{ row['first_commit_date'].strftime('%Y-%m-%d') }} {{ row['latest_commit_date'].strftime('%Y-%m-%d') }} {{ row['contributed_days_count'] }}{{ row['active_days_count'] }}

These didn't make it to the top:

{% if project.is_blame_data_available %}

Contribution*

* Lines from an author left in the HEAD commit

{% endif %}

Cumulated Added Lines of Code per Author

Commits per Author

Author of the Month

{% for month in project.months %} {% endfor %}
Month AuthorCommits count Next top {{project.authors_top}} Total authors count
{{month.date}} {{month.top_author.name}} {{month.top_author.commits_count}} (of {{month.all_commits_count}}) {{month.next_top_authors}} {{month.total_authors_count}}

Author of the Year

{% for year in project.years %} {% endfor %}
Year AuthorCommits count Next top {{project.authors_top}} Total authors count
{{year.date}} {{year.top_author.name}} {{year.top_author.commits_count}} (of {{year.all_commits_count}}) {{year.next_top_authors}} {{year.total_authors_count}}
{% if project.is_blame_data_available %}

Top knowledge carriers

{% for _, row in project.top_knowledge_carriers.iterrows() %} {% endfor %}
Author Lines count
{{row["committer_name"]}} {{row["lines_count"]}}
{% endif %}

Commits by Email Domains

{% endblock %}