From df31f98ce307bac2f324e81fc42bbaf574bdb998 Mon Sep 17 00:00:00 2001 From: phase Date: Sun, 25 Oct 2015 00:51:11 -0700 Subject: [PATCH 1/6] Use GitHub tags to reference GitHub users This will use @tags to notify the contributor that their contribution is in the changelog. As discussed in https://github.com/github/linguist/pull/2698#issuecomment-150887871 --- .../generator/generator_generation.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index b22fe40..7f595dd 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -171,11 +171,15 @@ module GitHubChangelogGenerator unless issue.pull_request.nil? if @options[:author] - title_with_number += if issue.user.nil? - " ({Null user})" - else - " ([#{issue.user.login}](#{issue.user.html_url}))" - end + if issue.user.nil? + title_with_number += " ({Null user})" + else + if issue.user.html_url.exclude? "github.com" + title_with_number += " ([#{issue.user.login}](#{issue.user.html_url}))" + else + title_with_number += " (@#{issue.user.login})" + end + end end end title_with_number From 4c737c93739fdbe57f8328e0c1358aecad5c9f30 Mon Sep 17 00:00:00 2001 From: phase Date: Sun, 25 Oct 2015 11:12:16 -0700 Subject: [PATCH 2/6] Extract username tagging --- .../generator/generator_generation.rb | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index 7f595dd..ef0022e 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -160,7 +160,7 @@ module GitHubChangelogGenerator # Parse issue and generate single line formatted issue line. # # Example output: - # - Add coveralls integration [\#223](https://github.com/skywinder/github-changelog-generator/pull/223) ([skywinder](https://github.com/skywinder)) + # - Add coveralls integration [\#223](https://github.com/skywinder/github-changelog-generator/pull/223) (@skywinder) # # @param [Hash] issue Fetched issue from GitHub # @return [String] Markdown-formatted single issue @@ -168,21 +168,22 @@ module GitHubChangelogGenerator encapsulated_title = encapsulate_string issue[:title] title_with_number = "#{encapsulated_title} [\\##{issue[:number]}](#{issue.html_url})" - - unless issue.pull_request.nil? - if @options[:author] - if issue.user.nil? - title_with_number += " ({Null user})" - else - if issue.user.html_url.exclude? "github.com" - title_with_number += " ([#{issue.user.login}](#{issue.user.html_url}))" - else - title_with_number += " (@#{issue.user.login})" - end - end - end + issue_line_with_user(title_with_number, issue) + end + + private + + def issue_line_with_user(line, issue) + return line if !@options[:author] || issue.pull_request.nil? + + user = issue.user + return "#{line} ({Null user})" unless user + + if user.html_url.include?("github.com") + "#{line} (@#{user.login})" + else + "#{line} ([#{user.login}](#{user.html_url}))" end - title_with_number end end end From 0e671a96dab50d44b8c1b53dc46f3649cd260e7b Mon Sep 17 00:00:00 2001 From: phase Date: Sun, 25 Oct 2015 11:31:48 -0700 Subject: [PATCH 3/6] Remove trailing whitespace --- .../generator/generator_generation.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index ef0022e..81c7c22 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -170,15 +170,15 @@ module GitHubChangelogGenerator title_with_number = "#{encapsulated_title} [\\##{issue[:number]}](#{issue.html_url})" issue_line_with_user(title_with_number, issue) end - + private - + def issue_line_with_user(line, issue) return line if !@options[:author] || issue.pull_request.nil? - + user = issue.user return "#{line} ({Null user})" unless user - + if user.html_url.include?("github.com") "#{line} (@#{user.login})" else From 59db1c782148ef393f5bc232d7d644f07efaf652 Mon Sep 17 00:00:00 2001 From: phase Date: Thu, 29 Oct 2015 07:37:23 -0700 Subject: [PATCH 4/6] CLI option for GitHub tags Not actually implemented yet --- lib/github_changelog_generator/parser.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 75a846e..83e9400 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -92,6 +92,9 @@ module GitHubChangelogGenerator opts.on("--[no-]author", "Add author of pull-request in the end. Default is true") do |author| options[:author] = author end + opts.on("--usernames-as-github-logins", "Use GitHub tags instead of links for the author of an issue or pull-request.") do |v| + options[:usernames_as_github_logins] = v + end opts.on("--unreleased-only", "Generate log from unreleased closed issues only.") do |v| options[:unreleased_only] = v end From 58bfa047c4e3b7b1e0d402561fbd00f0a388e818 Mon Sep 17 00:00:00 2001 From: Olle Jonsson Date: Sat, 2 Jul 2016 17:19:54 +0200 Subject: [PATCH 5/6] Option usernames_as_github_logins: Mention Markdown --- lib/github_changelog_generator/parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 83e9400..cdd673e 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -92,7 +92,7 @@ module GitHubChangelogGenerator opts.on("--[no-]author", "Add author of pull-request in the end. Default is true") do |author| options[:author] = author end - opts.on("--usernames-as-github-logins", "Use GitHub tags instead of links for the author of an issue or pull-request.") do |v| + opts.on("--usernames-as-github-logins", "Use GitHub tags instead of Markdown links for the author of an issue or pull-request.") do |v| options[:usernames_as_github_logins] = v end opts.on("--unreleased-only", "Generate log from unreleased closed issues only.") do |v| From 3962474e9fa2f7fa5e7280004f8943bd339b264a Mon Sep 17 00:00:00 2001 From: Olle Jonsson Date: Sat, 2 Jul 2016 17:20:31 +0200 Subject: [PATCH 6/6] usernames_as_github_logins: Use option --- .../generator/generator_generation.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index 81c7c22..44df8df 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -179,7 +179,7 @@ module GitHubChangelogGenerator user = issue.user return "#{line} ({Null user})" unless user - if user.html_url.include?("github.com") + if @options[:usernames_as_github_logins] "#{line} (@#{user.login})" else "#{line} ([#{user.login}](#{user.html_url}))"