diff --git a/README.md b/README.md index 0221a80c..4e66497f 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,14 @@ instructions) at runtime. | | Linux | FreeBSD | MacOS | Windows | | :-- | --: | --: | --: | --: | -| amd64 | [![][i1a0]][l1a0]
[![][i1a1]][l1a1] | [![][i2a0]][l2a0]
![][d1] | [![][i3a0]][l3a0]
[![][i3a1]][l3a1] | [![][i4a0]][l4a0]
![][d1] | -| AArch64 | [![][i1b0]][l1b0]
[![][i1b1]][l1b1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| ARM | [![][i1c0]][l1c0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| MIPS | [![][i1d0]][l1d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| POWER | [![][i1e0]][l1e0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| RISCV | [![][i1f0]][l1f0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| LOONGARCH | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | -| s390x | [![][i1h0]][l1h0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | ![][d0]
![][d1] | +| amd64 | [![CMake][i1a0]][l1a0]
[![Bazel][i1a1]][l1a1] | [![CMake][i2a0]][l2a0]
![Bazel][d1] | [![CMake][i3a0]][l3a0]
[![Bazel][i3a1]][l3a1] | [![CMake][i4a0]][l4a0]
![Bazel][d1] | +| AArch64 | [![CMake][i1b0]][l1b0]
[![Bazel][i1b1]][l1b1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| ARM | [![CMake][i1c0]][l1c0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| MIPS | [![CMake][i1d0]][l1d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| POWER | [![CMake][i1e0]][l1e0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| RISCV | [![CMake][i1f0]][l1f0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| LOONGARCH | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| s390x | [![CMake][i1h0]][l1h0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | [d0]: https://img.shields.io/badge/n%2Fa-lightgrey?&logo=cmake [d1]: https://img.shields.io/badge/n%2Fa-lightgrey?&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiAuMTZsNS43ODYgNS43ODZMNiAxMS43MzIuMjE0IDUuOTQ2IDYgLjE2MXpNMCA2LjIxNFYxMmw1Ljc4NiA1Ljc4NlYxMkwwIDYuMjE0ek0xOCAuMTZsNS43ODYgNS43ODZMMTggMTEuNzMybC01Ljc4Ni01Ljc4NkwxOCAuMTYxek0yNCA2LjIxNFYxMmwtNS43ODYgNS43ODZWMTJMMjQgNi4yMTR6TTEyIDYuMTZsNS43ODYgNS43ODZMMTIgMTcuNzMybC01Ljc4Ni01Ljc4NkwxMiA2LjE2MXpNMTEuODQgMTguMDU0djUuNzg1bC01Ljc4Ni01Ljc4NXYtNS43ODZsNS43ODUgNS43ODZ6TTEyLjE2IDE4LjA1NGw1Ljc4Ni01Ljc4NnY1Ljc4NmwtNS43ODUgNS43ODV2LTUuNzg1eiIgc3Ryb2tlPSJ0cmFuc3BhcmVudCIgZmlsbD0id2hpdGUiLz48L3N2Zz4= diff --git a/scripts/generate_badges.d b/scripts/generate_badges.d index e69e2d52..327df868 100644 --- a/scripts/generate_badges.d +++ b/scripts/generate_badges.d @@ -1,6 +1,4 @@ -// usage: -// 1. copy paste the whole code to https://run.dlang.io/ then click `run` -// 2. `docker run --rm -it -v $(pwd):/src dlanguage/dmd dmd -run generate_badges.d` +#!/usr/bin/docker run --rm -it -v $(pwd):/src dlanguage/dmd dmd -run generate_badges.d import std.algorithm : each, map, cartesianProduct, filter, joiner, sort, uniq; import std.array; import std.conv : to; @@ -48,17 +46,13 @@ const: Os os; BuildSystem build_system; +private: string id() { return format("%d%c%d", cast(uint)(os) + 1, cast(char)('a' + cpu), cast(uint)(build_system)); } - string disabled_image_ref() - { - return format("[d%d]", cast(uint)(build_system)); - } - string link_ref() { return format("[l%s]", id()); @@ -83,11 +77,11 @@ const: } } - string text() + string filename() { - if (enabled()) - return format("[![]%s]%s", image_ref, link_ref); - return format("![]%s", disabled_image_ref); + import std.uni : toLower; + + return toLower(format("%s_%s_%s.yml", cpu, os, build_system)); } string append_logo(string url) @@ -101,17 +95,24 @@ const: } } - string disabled_image_link() +public: + + string disabled_image_ref() { - return append_logo(format("%s: https://img.shields.io/badge/n%%2Fa-lightgrey?", - disabled_image_ref)); + return format("[d%d]", cast(uint)(build_system)); } - string filename() + string text() { - import std.uni : toLower; + if (enabled()) + return format("[![%s]%s]%s", build_system, image_ref, link_ref); + return format("![%s]%s", build_system, disabled_image_ref); + } - return toLower(format("%s_%s_%s.yml", cpu, os, build_system)); + string disabled_image_link() + { + return append_logo(format("%s: https://img.shields.io/badge/n%%2Fa-lightgrey?", + disabled_image_ref)); } string link_decl()