supports.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. $(function () {
  2. function createSupportItem (item) {
  3. if (!item.image) {
  4. item.image = 'https://images.opencollective.com/' + item.profile.split('/').pop() + '/avatar.png'
  5. }
  6. if (!item.website) {
  7. item.website = item.profile || ''
  8. }
  9. item.website = item.website.split(' ')[0]
  10. return [
  11. '<a class="support-item" href="' + item.website + '" target="_blank" title="$' + item.totalAmountDonated + ' by ' + item.name + '">',
  12. '<img class="support-silver-avatar" src="' + item.image + '" alt="' + item.name + '">',
  13. '</a>'
  14. ].join('')
  15. }
  16. $.getJSON('https://examples.wenzhixin.net.cn/opencollective/all.json', res => {
  17. res.sort(function (a, b) {
  18. return b.totalAmountDonated - a.totalAmountDonated
  19. })
  20. var organizations = res.filter(function (item) {
  21. return item.role === 'BACKER' && item.type === 'ORGANIZATION' && item.isActive
  22. })
  23. var backers = res.filter(function (item) {
  24. return item.role === 'BACKER' && item.type === 'USER' && item.isActive
  25. })
  26. $('.support-sponsors').html(organizations.map(createSupportItem).join(''))
  27. $('.support-backers').html(backers.map(createSupportItem).join(''))
  28. })
  29. })