shields.io를 통해 원하는 모든 것을 자유롭게 배지 표시
배지 on README.md
OSS를 GitHub 등으로 공개하기 위해서는 다양한 정보를 배지로 README.md에 붙여 두는 것이 자주 있다고 생각합니다.
클라우드 서비스를 활용하여 README에 배지를 페타 페타 붙이기 - Qiita
(이미지 인용)
나도 배지는 붙이고 싶은 파입니다.
샤레
테스트, 빌드 결과를 표시하는 것이 아마도 가장 중요한 목적이며 (필요한 출처), 필연적으로 :
테스트의 존재,
(테스트를 정비, 유지하려고 하는 마음,)
자동 테스트 and/or 빌드 환경의 존재 등을 전제로 한다
README.md를 깔끔하게 정돈하는 자세를 보여줄 수 있다
화려하고 샬레
솔직히 목적 의식에 대해서는 굳이 그다지 깊게 생각하지 않는 것이 좋다.
우선 붙여 가자.
동적 정보를 배지로 표시
master의 테스트 결과나 code climate등은, 그 정보를 잡고 있는 web 서비스 자체가 SVG등의 화상을 동적으로 생성하는 API를 가지고 있는 것이 많고, 그 URL을 화상의 소스 URL로서 직접 지정하는 것 에서 쉽게 배지로 볼 수 있습니다. 또한 사용자 지정 정적 정보를 배지로 표시하는 것도, 시에 lds. 이오 을 사용하면 쉽게 할 수 있습니다.
https://img.shields.io/badge/<SUBJECT>-<STATUS>-<COLOR>.svg
이러한 형식의 URL을 준비하기만 하면 됩니다.
https://img.shields.io/badge/sample-good-green.svg
이렇게 쓰면,
이렇게 됩니다. 일본어도 갈 수 있는 것 같습니다.
그렇다면 웹 서비스와 관련된 것도 아니지만 (shields.io에도 배지가 제공되지 않음), 정적이 아니며 어딘가에 저장되어 동적으로 변경할 수있는 정보 을 바탕으로 배지를 표시하려면 어떻게 해야 합니까?
사실 이것도 shields.io에서 할 수 있습니다. 조건은
https://img.shields.io/badge/<SUBJECT>-<STATUS>-<COLOR>.svg
https://img.shields.io/badge/sample-good-green.svg
예를 들어 Elm 의 패키지는 h tp : // Pac 게이지. 에 lm-ㅁ g. 오 rg 에 집계되어 있지만 shields.io 에는 아직 elm-package version 배지가 제공되지 않습니다. RubyGems나 npm과 같이 그중 대응하는 것을 기다려도 좋고, 없는 동안은 필기로 써 둔다는 손도 있습니다만, 거기는 역시 자동 생성시키자.
shields.io에는 dynamic badge라는 기능이 있습니다. 아래와 같이 URL을 구성하여 이미지 소스에 지정하기만 하면 됩니다.
/badge/dynamic/<TYPE>.svg?uri=<URI>&label=<LABEL>&query=<$.DATA.SUBDATA>&colorB=<COLOR>&prefix=<PREFIX>&suffix=<SUFFIX>
슬롯
value
TYPE
현재 json
만의 패턴URI
정보 취득원의 URL. URL encode합시다. 인증이 필요없고 JSON을 반환하면 괜찮습니다.LABEL
배지의 왼쪽 절반에 표시할 라벨$.DATA.SUBDATA
가져온 JSON의 필드 값을 배지의 오른쪽 절반에 표시할 것인가? JSONPath 쿼리로 지정COLOR
배지 오른쪽 절반의 Hex colorPREFIX
쿼리에서 얻은 문자열에 붙는 접두사SUFFIX
마찬가지로 접미사Elm package의 최신 버전은 GitHub 저장소의 master에 있는
elm-package.json
라는 파일의 version
필드 값을 양수로 설정하면 됩니다. raw.githubusercontent.com에서 가져 왔습니다.elm-package publish
가 됩니다) 조합하여
https://img.shields.io/badge/dynamic/json.svg?label=elm-package&colorB=5f9ea0&query=$.version&uri=https%3A%2F%2Fraw.githubusercontent.com%2Fymtszw%2Felm-xml-decode%2Fmaster%2Felm-package.json&prefix=v
이 URL을 통해
이렇게 생성할 수 있었습니다.
끝
글을 쓰고 있습니다만, badge는 표시처 서비스(여기에서는 GitHub, 거기에 Qiita)의 이미지 cache와의 합쳐서, 표시되지 않는 것이 가끔 있습니다. 1
거기에 와서 원래 정보까지 외부 자원에 의존하는 dynamic badge가 되면 더 실패할 확률은 올라갑니다.
shields.io의 서버가 응답하지 않는 경우도 있습니다 (rate limit인지 과부하인지는 불명).
실은 이 기사의 예도 타이밍에 의해 표시되지 않는 케이스가 상당히 있었으므로, 몰래 PNG에 도망치고 있습니다! 미안해.
static badge가 다소 낫다고 생각하기 때문에, 버전 번호 표시 정도라면 static으로 해 version up 때마다 재작성이 무난할지도.
적절하게 구분하면서, 뭐든지 배지 표시해 샤레오츠로 해 갑시다.
shields.io 측에 elm.json
등의 옵션도 있으므로, 어느 정도 컨트롤 할 수 있을 것 같습니다. ↩
Reference
이 문제에 관하여(shields.io를 통해 원하는 모든 것을 자유롭게 배지 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ymtszw/items/77d1d6bbe0687848470b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(shields.io를 통해 원하는 모든 것을 자유롭게 배지 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ymtszw/items/77d1d6bbe0687848470b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)