#!/usr/bin/env ruby require_relative '../lib/coconductor' # Contributor Covenant repo = 'ContributorCovenant/contributor_covenant' vendorer = Coconductor::Vendorer.new('contributor-covenant', filename: 'code-of-conduct.md') tar_args = "--include='*/content/version' --strip-components=2 -C #{vendorer.dir}" `curl -L "https://api.github.com/repos/#{repo}/tarball" | tar xf - #{tar_args}` Dir["#{vendorer.dir}/version/**/#{vendorer.filename}"].each do |path| vendorer.raw_content = File.read(path) File.write(path, vendorer.content) end # Citizen Code of Conduct repo = 'stumpsyn/policies' filename = 'citizen_code_of_conduct.md' vendorer = Coconductor::Vendorer.new('citizen-code-of-conduct', repo: repo, filename: filename) versions = { '2.0' => 'd0594789ea324a42e26b495034952b6ce08d9f51', '2.1' => 'b7705a4315a5e58fea58ae3d4b1de82bd564ac86', '2.2' => '93b7b06f52c9dd526d2395bfa9f5f1723deae32a', '2.3' => 'b1eb8deb5da073c2bd02a8e742e017edfc422554' } versions.each do |version, sha| vendorer.ref = sha vendorer.vendor(version: version) end # No Code of Conduct Coconductor::Vendorer.new('no-code-of-conduct', repo: 'domgetter/NCoC').vendor # Django reporting_link = "[Reporting Guidelines]({% url 'conduct_reporting' %})" faq_link = "[the FAQ]({% url 'conduct_faq' %})" Coconductor::Vendorer.new('django', repo: 'django/djangoproject.com', source_path: 'djangoproject/templates/conduct/index.html', html: true, replacements: { 'Django Software Foundation' => '[GOVERNING_BODY]', 'Django' => '[COMMUNITY_NAME]', 'conduct@djangoproject.com' => '[EMAIL_ADDRESS]', reporting_link => '[LINK_TO_REPORTING_GUIDELINES]', faq_link => '[LINK_TO_FAQ]', /([a-z])\[/i => '\1 [' }).vendor # Geek Feminism url = 'http://geekfeminism.wikia.com/wiki/Community_anti-harassment/Policy?action=raw' replacements = { '[give]' => '[LIST_OF_SPACES - e.g. "our mailing lists and IRC channel"]', '[list,]' => '[LIST_OF_SPACES - e.g. "our mailing lists and IRC channel"]' } vendorer = Coconductor::Vendorer.new('geek-feminism', url: url, wiki: true, replacements: replacements) content = vendorer.content.split('## Anti-harassment policy text')[1] versions = content.split('### Longer version') versions = versions.map { |v| v.gsub('### Shorter version', '').strip } vendorer.write_with_meta(versions.first, version: 'shorter') vendorer.write_with_meta(versions.last, version: 'longer') # Go replacements = { '(“Gophers”)' => '', 'Gopher' => 'Go', ' Go ' => ' [COMMUNITY_NAME] ', 'conduct@golang.org' => '[EMAIL_ADDRESS]', 'Cassandra Salisbury, ' => '', 'the Open Source Programs Office' => '[GOVERNING_BODY]', 'the Google Open Source Programs Office' => '[GOVERNING_BODY]', ' and the Google Open Source Strategy team' => '', 'opensource@google.com' => '[GOVERNING_BODY_EMAIL_ADDRESS]' } Coconductor::Vendorer.new('go', repo: 'golang/go', source_path: 'doc/conduct.html', html: true, replacements: replacements).vendor