{%- macro displayname(user) -%} {%- if user.clone().full_name.is_some() && user.clone().full_name.unwrap().is_empty() -%} {{ user.clone().full_name.unwrap() | trim }} {%- else -%} {{ user.clone().login.unwrap() | truncate(20) }} {%- endif -%} {%- endmacro -%} {%- macro activity_descr(op_type) -%} {%- match op_type -%} {%- when ActivityOpType::CreateRepo -%} created repository {%- endwhen -%} {%- when ActivityOpType::RenameRepo -%} renamed repository {%- endwhen -%} {%- when ActivityOpType::StarRepo -%} starred {%- endwhen -%} {%- when ActivityOpType::WatchRepo -%} started watching {%- endwhen -%} {%- when ActivityOpType::CommitRepo -%} commited to {%- endwhen -%} {%- when ActivityOpType::TransferRepo -%} transferred {%- endwhen -%} {%- when ActivityOpType::PushTag -%} pushed tag in {%- endwhen -%} {%- when ActivityOpType::DeleteTag -%} deleted tag in {%- endwhen -%} {%- when ActivityOpType::DeleteBranch -%} deleted branch in {%- endwhen -%} {%- when ActivityOpType::PublishRelease -%} published release for {%- endwhen -%} {%- when ActivityOpType::CreateIssue -%} created issue in {%- endwhen -%} {%- when ActivityOpType::CommentIssue -%} commented on issue {%- endwhen -%} {%- when ActivityOpType::CloseIssue -%} closed issue in {%- endwhen -%} {%- when ActivityOpType::ReopenIssue -%} reopened issue in {%- endwhen -%} {%- when ActivityOpType::CreatePullRequest -%} created pull request in {%- endwhen -%} {%- when ActivityOpType::MergePullRequest -%} merged pull request in {%- endwhen -%} {%- when ActivityOpType::ClosePullRequest -%} closed pull request in {%- endwhen -%} {%- when ActivityOpType::ReopenPullRequest -%} reopened pull request in {%- endwhen -%} {%- when ActivityOpType::ApprovePullRequest -%} approved pull request in {%- endwhen -%} {%- when ActivityOpType::RejectPullRequest -%} rejected pull request in {%- endwhen -%} {%- when ActivityOpType::CommentPull -%} commented on pull request in {%- endwhen -%} {%- when ActivityOpType::PullReviewDismissed -%} dismissed pull review in {%- endwhen -%} {%- when ActivityOpType::PullRequestReadyForReview -%} marked pull request as ready for review in {%- endwhen -%} {%- when ActivityOpType::AutoMergePullRequest -%} automatically merged pull request in {%- endwhen -%} {%- when ActivityOpType::MirrorSyncPush -%} mirror operation has pushed sync to {%- endwhen -%} {%- when ActivityOpType::MirrorSyncCreate -%} mirror has created {%- endwhen -%} {%- when ActivityOpType::MirrorSyncDelete -%} mirror has deleted {%- endwhen -%} {%- endmatch -%} {%- endmacro -%} {%- block formatted -%} {%- for item in items -%} {%- set act_user = item.act_user.as_ref().unwrap() -%} {%- set act_op = item.op_type.clone().unwrap() -%} {%- if act_op == ActivityOpType::CommitRepo -%} {%- set content = item.content.clone().unwrap() -%} {%- if content.is_empty() -%} {%- continue -%} {%- endif -%} {%- endif -%} {%- set act_repo = item.repo.clone().unwrap() -%} {%- set act_repo_url = act_repo.html_url.unwrap() -%} {%- if act_user.id.unwrap() > 0 -%} {% call displayname(act_user) %} {%- else -%} {{ act_user.login.clone().unwrap() | truncate(20) }} {%- endif -%} {{ " has" }} {% call activity_descr(act_op) %} {{ act_repo.name.unwrap() }} {%- match act_op -%} {%- when ActivityOpType::CreatePullRequest | ActivityOpType::MergePullRequest | ActivityOpType::ClosePullRequest | ActivityOpType::ReopenPullRequest | ActivityOpType::ApprovePullRequest | ActivityOpType::RejectPullRequest | ActivityOpType::PullReviewDismissed | ActivityOpType::AutoMergePullRequest -%} {%- set content = item.content.clone().unwrap() -%} {{ ":   " }}{{ self::act_content_part_html(act_repo_url, "pulls", content.clone()).unwrap() | safe}} {%- endwhen -%} {%- when ActivityOpType::CommentPull | ActivityOpType::CommentIssue -%} {%- set comment = item.comment.clone().unwrap() -%} {%- set comment_link = comment.html_url.unwrap().to_string() -%} {%- set comment_text = comment.body.unwrap() -%} {{ ":   " }}{{ comment_text | truncate(60) }} {%- endwhen -%} {%- when ActivityOpType::CreateIssue | ActivityOpType::CloseIssue | ActivityOpType::ReopenIssue -%} {%- set content = item.content.clone().unwrap() -%} {{ ":   " }}{{ self::act_content_part_html(act_repo_url, "issues", content.clone()).unwrap() | safe}} {%- endwhen -%} {%- when ActivityOpType::CommitRepo -%} {%- set content = item.content.clone().unwrap() -%} {%- if ! content.is_empty() -%} {%- set change = self::content_commits(content).unwrap() -%} {%- set lines = change.head_commit.message.lines().collect::>() -%} {{ ":   " }}{{ lines.first().unwrap() | truncate(80) }} {%- endif -%} {%- endwhen -%} {%- when _ -%}{%- endwhen -%} {%- endmatch -%}
{%- endfor -%} {%- endblock -%} {%- block plain -%} {%- for item in items -%} {%- set act_user = item.act_user.as_ref().unwrap() -%} {%- set act_op = item.op_type.clone().unwrap() -%} {%- if act_op == ActivityOpType::CommitRepo -%} {%- set content = item.content.clone().unwrap() -%} {%- if content.is_empty() -%} {%- continue -%} {%- endif -%} {%- endif -%} {%- set act_repo = item.repo.clone().unwrap() -%} {%- set act_repo_url = act_repo.html_url.unwrap() -%} {%- if act_user.id.unwrap() > 0 -%} {% call displayname(act_user) %} {%- else -%} {{ act_user.login.clone().unwrap() | truncate(20) }} {%- endif -%} {{ " has" }} {% call activity_descr(act_op) %} {{ act_repo.name.unwrap() }} {%- match act_op -%} {%- when ActivityOpType::CreatePullRequest | ActivityOpType::MergePullRequest | ActivityOpType::ClosePullRequest | ActivityOpType::ReopenPullRequest | ActivityOpType::ApprovePullRequest | ActivityOpType::RejectPullRequest | ActivityOpType::PullReviewDismissed | ActivityOpType::AutoMergePullRequest -%} {%- set content = item.content.clone().unwrap() -%} {{ ":   " }}{{ self::act_content_part_plain(act_repo_url, "pulls", content.clone()).unwrap() | safe}} {%- endwhen -%} {%- when ActivityOpType::CommentPull | ActivityOpType::CommentIssue -%} {%- set comment = item.comment.clone().unwrap() -%} {%- set comment_link = comment.html_url.unwrap().to_string() -%} {%- set comment_text = comment.body.unwrap() -%} {{ ":   " }}{{ comment_link }} {{ comment_text | truncate(60) | safe }} {%- endwhen -%} {%- when ActivityOpType::CreateIssue | ActivityOpType::CloseIssue | ActivityOpType::ReopenIssue -%} {%- set content = item.content.clone().unwrap() -%} {{ ":   " }}{{ self::act_content_part_plain(act_repo_url, "issues", content.clone()).unwrap() | safe}} {%- endwhen -%} {%- when ActivityOpType::CommitRepo -%} {%- set content = item.content.clone().unwrap() -%} {%- if ! content.is_empty() -%} {%- set change = self::content_commits(content).unwrap() -%} {%- set lines = change.head_commit.message.lines().collect::>() -%} {{ ":   " }}{{ act_repo_url }}/commit/{{ change.head_commit.sha1 }} {{ lines.first().unwrap() | truncate(60) }} {%- endif -%} {%- endwhen -%} {%- when _ -%}{%- endwhen -%} {%- endmatch ~%} {%~ endfor -%} {%- endblock -%}