Как я могу добавить "текущую полосу" вкладов от github в мой блог?

У меня есть личный блог, который я построил с помощью рельсов. Я хочу добавить раздел на свой сайт, который отображает мою текущую полосу вкладов github. Каким будет лучший способ сделать это?

edit: для уточнения, вот что я хочу:

enter image description here

мне нужно всего лишь количество дней.

Ответ 1

Учитывая API-интерфейс GitHub для пользователей, пока не раскрывает эту конкретную информацию (количество дней для текущего потока взносов), вы можете должны:

  • очистите его (извлеките его, прочитав страницу пользователя GitHub)
    Поскольку klamping упоминает в своем ответе (upvoted), url to scrap будет:
    https://github.com/users/<username>/contributions_calendar_dataдел >
    https://github.com/users/<username>/contributions
    (только для публичных репозиций)

    SherlockStd содержит обновленный (май 2017) код анализа ниже:

    https://github-stats.com/api/user/streak/current/:username
    
  • попробуйте проекты, которые используют https://github.com/users/<username>/contributions _calendar_data (как указано в Marques Johansson answer, upvoted)

git-stats

https://github.com/akerl/githubchart

https://raw.github.com/k4rthik/git-cal/master/screenshots/img1.png

git-cal - это простой script, чтобы просмотреть календарь коммитов (аналогично календарю вкладов GitHub) в командной строке.
Каждый блок на графике соответствует дню и затенен одним из 5 возможных цветов, каждый из которых представляет относительное количество коммитов в этот день.

  • или создать службу, которая будет сообщать каждый день о любом новом фиксации для данного дня в Календаре Google (используя API календаря Google через проект, например п/серия).
    Затем вы можете прочитать эту информацию и сообщить об этом в своем блоге.

Google Calendar streak


Вы можете найти различный пример соскабливания этой информации:

Как в:

$.getJSON('https://github.com/users/' + location.pathname.replace(/\//g, '') + '/contributions_calendar_data', weekendWork);

Как

leaderboard = members.map do |u|
  user_stats = get("https://github.com/users/#{u}/contributions_calendar_data")
  total = user_stats.map { |s| s[1] }.reduce(&:+)
  [u, total]
end
  • ... (вы получаете идею)

Ответ 2

URL-адрес для простых данных JSON был: https://github.com/users/[username]/contributions_calendar_data [Изменить: похоже, этот URL-адрес больше не работает)

Существует URL-адрес, который генерирует SVG, который указал другие ответы. Вот здесь: https://github.com/users/[username]/contributions

Просто замените [имя пользователя] своим именем пользователя github в URL-адресе, и вы сможете увидеть график. См. Другие ответы для более подробных объяснений

Ответ 3

Если вы хотите что-то, что соответствует визуальному появлению диаграммы GitHub, проверьте эти проекты, которые используют https://github.com/users/<username>/contributions_calendar_data, но также применяют другие факторы, основанные на логике Github.

Ответ 4

Так как URL https://github.com/users/<username>/contributions_calendar_data больше не работает, вам нужно проанализировать SVG из https://github.com/users/<username>/contributions.

К сожалению, Github любит безопасность, а CORS отключен на своем сервере.

Чтобы решить эту проблему, я настроил API для меня и всех, кому это нужно, просто GET https://github-stats.com/api/user/streak/current/{username} (разрешено CORS), и вы получите и ответьте так:

{
  "success":true,
  "currentStreak": 3
}

https://github-stats.com скоро реализует больше конечных точек статистики:)

Запросите новую конечную точку в https://github.com/SherlockStd/github-stats.com/issues, будет приятно найти способ их реализации!