我意识到我在GitHub上查看了太多的回购协议,而我发现取消对其中的很多订阅的唯一方法是转到github.com/my_user_name/following,进入其中的每一个并按Unwatch按钮。
有没有办法更快,更轻松地取消监视他们?
Answers:
对于懒惰的人,可以在以下URL上在没有API的情况下快速完成此操作:https : //github.com/watching
一个干净的简单列表,单击单击单击单击单击。
此外,还有一个金色的盒子。取消选中它不会自动设置为监视您被授予推送访问权限的所有存储库。Hooray用于管理信噪比。
$('button').filter(function(){return $(this).text() === 'Unwatch'}).click()
。网页+ jQuery =最佳API!
$('button').filter(function(){return $(this).text() === 'Unwatch' && $(this).parent().parent().find("a span").html() == "organisationName" }).click();
先前答案的本机JS版本。导航至https://github.com/watching,然后运行:
Oneliner:
Array.prototype.slice.apply(document.querySelectorAll('.js-subscription-row')).forEach(el => { const org = el.querySelector('a[href^="/YOUR_ORG"]'); if (org) el.querySelector('button').click()})
展开:
const org = 'YOUR_ORG'
const query = document.querySelectorAll('.js-subscription-row')
const rows = Array.prototype.slice.apply(query)
rows.forEach(function (el) {
const org = el.querySelector('a[href^="/' + org + '"]')
if (org) el.querySelector('button').click()
})
org
多次抛出错误,以定义常量。这对我有用:const orgName ='YOUR_ORG'const query = document.querySelectorAll('。js-subscription-row')const rows = Array.prototype.slice.apply(query)rows.forEach(function(el){let org = el.querySelector('a [href ^ =“ /'+ orgName +'”]')if(org)el.querySelector('button')。click()})
Array.prototype.slice.apply(document.querySelectorAll('.Box-row')).forEach(el => { const org = el.querySelector('a[href^="/alphagov"]'); if (org) el.querySelector('button').click()})
Array.from(document.querySelectorAll('.repo-list > li')).filter(el => !!el.querySelector('a[href^="/YOUR-ORG"]')).forEach(el => el.querySelector('details-menu button[value="included"]').click())
然后刷新页面并再次运行它,直到完成。
如果您只想取消单个组织的回购,则可以从https://github.com/watching使用它
$('.js-subscription-row').each(function(){
var isYourOrganisation = $(this).find("a[href^='/YOUR_ORG']");
if(isYourOrganisation.length){
$(this).find('button:contains("Unwatch")').click();
}
});
YOUR_ORG
用您的组织称为的任何东西代替。
Github有一个API。您可以使用Github的API编写脚本来执行此操作,尤其是处理观看repos的部分。
我什么都没有看到,因为我们拥有整个宇宙的力量(简而言之,我们是开发人员)。使用他们的开发人员API并创建一个小工具。该API具有很强的描述性,
我还找到了一个命令行工具,该工具使用GitHub API取消监视多个存储库:https ://www.npmjs.com/package/github-unwatch-org-repos
我不是命令行工具的粉丝,我希望我的密码在命令行上以纯文本格式显示(因此,在正确的时间运行“ ps”的所有系统用户都可以看到我的密码,并且还以纯文本格式将其存储在〜/ .bash_history中)除非您格外小心,以免发生这种情况),所以我没有尝试过。