Рубрики
Без рубрики

История значка для посетителей

Всем привет! В этом посте я расскажу вам историю обо мне, чтобы создать значок для посетителей, это … Помечено Github, Python, глюк.

Всем привет!

В этом посте я расскажу вам историю, чтобы создать Значок для посетителей , это изображение SVG, которое может сосчитать ваших посетителей для вашего github readme.md, выпуски, PRS всего за одну линию Markdown Code.

Поскольку функция readme профиля Github, она также может сосчитать посетителей на странице профиля GitHub (✌️). Посмотреть Моя страница профиля для демонстрации

Почему

Вся история, начиная с I Migrate все сообщения в блоге от страниц GitHub Githo в репозиторий на основе выпуска GitHub. После болезненной миграции я обнаружил, что для репозитория нет посетителей для хранилища, хотя в основном я сам единственный посетитель в большинстве случаев:( Я все еще хочу услугу подсчета посетителей для моей проблемы с каждым глазом.

Как

После многих поисковых, мозговых мозгов, прототипирования я смогу на маленький значок во многих других репозитории. Эти значки могут показать нам:

  • Сколько звезд хранилища
  • Сколько открытых проблем
  • Сколько PRS.
  • Последняя версия пакета NPM
  • CI статус

И все значки – это просто файл изображения SVG с динамическим содержанием в нем.

После большего поиска я нашел Pybadge Библиотека, которая будет генерировать стиль значка Github динамически с очень простым API.

Таким образом, я могу настроить Python Server, получите запрос на файл SVG, генерируйте динамический файл SVG, верните его, поэтому он будет отображаться на README.MD.

Что еще? База данных для хранения предыдущего подсчета каждой страницы, чтобы в следующий раз тот же запрос от полученной страницы, я могу увеличить 1 на основе предыдущего количества.

Вот оно: https://countapi.xyz/ Бесплатная подсчет API позволяет создавать простые числовые счетчики. IAAS, целое число как сервис. 🎉

CONGAPI – идеально подбираемый для этого корпуса, и это легко использовать, мне не нужно готовить базу данных (SQLite, MySQL и т. Д.), Я просто отправляю HTTP-запрос на API и может получить увеличенный номер Отказ

Также можно избежать одновременного обновления проблемы, если слишком много посетителей на вашей странице одновременно он будет правильно отсчитать, потому что Contapi основан на Redis.

Итак, на данный момент у нас есть все, что нам нужно, просто кодирование:

Jwenjian/Visitor-Badge

Служба генератора значка для счета посетителей вашего файла Markdown.

Некоторые трюки

Почему вы должны пройти страницу в качестве параметра запроса?

Для первой версии я планирую использовать Реферер Заголовок в HTTP-запросе, который удобнее, но GitHub Proxy весь запрос изображения через его сервер Camo Image:

Ваш браузер -> Github Camo -> Мой сервер

Но камуфляж не проходит Реферер Заголовок на мой сервер по какой-то причине, поэтому я изменяюсь в решение параметра запроса.

Как бороться с кэшем образа?

Как вы знаете, браузер часто кэширует изображения и в нашем случае GitHub Camo также кэширует изображения.

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

Мы хотим каждый раз каждый посетитель нашего readme.md счет будет увеличиваться 1, поэтому я сделал трюк:

  • Отключить кеш, добавив заголовок ответа: «Cache-Control»: '

  • Установите пропущенное время истечения до 10 минут назад текущего времени: «Истекает»: <10 минут назад>

Вот и все, после этого маленьких трюков каждый раз, когда вы посетителю readme.md, браузер (и камуфляж) узнают, что кэшированный образ недействителен, затем отправьте запрос на мой сервер, чтобы получить последний счет.

Так много слов, надеюсь, мой не очень хороший английский делает все ясно.:)

Также я запустил значок Visistor на Producthunthunt, поэтому, если вы нашли это полезным, вы можете рассмотреть вопрос о его голосовании.

Также вы можете использовать Хиты , который является аналогичным значком посетителей с более стабильной службой, я думаю, потому что мой сервис теперь развернут в бесплатной версии Glitck.com, поэтому ваш выбор.

Я увижу тебя в моем следующем посте.

Оригинал: “https://dev.to/jwenjian/the-story-of-visitor-badge-46mm”