Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save chriscorwin/9784596 to your computer and use it in GitHub Desktop.
Save chriscorwin/9784596 to your computer and use it in GitHub Desktop.
On a GitHub issue page, this will take an issue name and transform it into a valid Git branch name, presenting an alert box for copying and pasting.
javascript:(function(){ var title = jQuery('title').text(); var repoAuthor = jQuery('a.url.fn').text(); var repoName = jQuery('a.js-current-repository').text(); var issueNumber = jQuery('.gh-header-number').text(); var titleStripped = title.replace('·', ''); issueNumber = issueNumber.replace('#', ''); titleStripped = titleStripped.replace(' %C2%B7 ', ''); titleStripped = titleStripped.replace(repoAuthor + '\/', ''); titleStripped = titleStripped.replace(repoName, ''); titleStripped = titleStripped.replace('Issue #', ''); titleStripped = titleStripped.replace('] ', '___'); titleStripped = titleStripped.replace(/ \& /g, '_and_'); titleStripped = titleStripped.replace(/\&/g, '/'); titleStripped = titleStripped.replace(/,/g, '_'); titleStripped = titleStripped.replace(/: /g, '--'); titleStripped = titleStripped.replace(/:/g, '--'); titleStripped = titleStripped.replace(/ %E2%80%93 /g, '--'); titleStripped = titleStripped.replace(/ %E2%80%94 /g, '---'); titleStripped = titleStripped.replace(/%E2%80%93/g, '--'); titleStripped = titleStripped.replace(/%E2%80%94/g, '---'); titleStripped = titleStripped.replace(/\//g, '_or_'); titleStripped = titleStripped.replace(/\%/g, '-percent'); titleStripped = titleStripped.replace(/\"/g, ''); titleStripped = titleStripped.replace(/\'/g, ''); titleStripped = titleStripped.replace(/`/g, ''); titleStripped = titleStripped.replace(/%E2%80%9C/g, ''); titleStripped = titleStripped.replace(/%E2%80%9D/g, ''); titleStripped = titleStripped.replace(/%E2%80%98/g, ''); titleStripped = titleStripped.replace(/%E2%80%99/g, ''); titleStripped = titleStripped.replace(/\(/g, ''); titleStripped = titleStripped.replace(/\)/g, ''); titleStripped = titleStripped.replace(/\{/g, ''); titleStripped = titleStripped.replace(/\}/g, ''); titleStripped = titleStripped.replace(/\[/g, ''); titleStripped = titleStripped.replace(/\]/g, ''); titleStripped = titleStripped.replace(/@/g, ''); titleStripped = titleStripped.replace(/\$/g, ''); titleStripped = titleStripped.replace(/\*/g, ''); titleStripped = titleStripped.replace(/\#/g, ''); titleStripped = titleStripped.replace(/\!/g, ''); titleStripped = titleStripped.replace(/^([a-z0-9])-/i, '$1-'); titleStripped = titleStripped.replace(/ /g, '-'); titleStripped = titleStripped.replace('--' + issueNumber, ''); titleStripped = 'GH' + issueNumber + '---' + titleStripped.toLowerCase(); function copyToClipboard(text) { window.prompt("Copy:", text);} copyToClipboard(titleStripped); titleStripped; })();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment