* WIP export OpenAPI definitions from service examples
* allow services to optionally define an OpenApi Paths Object instead of examples
* make use of param descriptions and required query params
* convert other 'core' services to declare openApi..
..instead of examples
* tweak descriptions for standard query params
* move stuff around, add a high-level integration test for category2openapi
* update simple-icons text refs #9054
* remove legacy param names
* Fix invalid `rst` format when `alt` or `target` is present
* Write correct test
* fix tests and lint errors
Co-authored-by: chris48s <chris.shaw480@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* deps: update simple-icons to v5 in BC manner
* fix: handling of overlapping titles
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This patch uses the fontsource libraries instead of using Google Fonts
in order to provide the fonts in the frontend. This way the web frontend
becomes more private, since it no longer shared visitors IPs with Google
and might even loads faster since modern web browsers isolate site
caches from each other and can re-use connections with HTTP/2 instead of
setting up a new connection to Google.[1]
It's basically the next iteration of my previous PR[2], that no longer
relies on a tool to download the fonts separately, but uses a library
instead. It also relates to issues that have been opened before[3] and
should be easily handled and upgraded by the regular NPM package
tooling[4], solving all related problems to that.
[1]: https://csswizardry.com/2019/05/self-host-your-static-assets/
[2]: https://github.com/badges/shields/pull/4864
[3]: https://github.com/badges/shields/issues/5883
[4]: https://github.com/badges/shields/labels/dependencies
* Allow links only for social badges, affects [GitHubMilestone Dependabot]
* Remove getLink function
* Remove unused import
* Mention social links in guidelines as well
If your endpoint uses the `logoSvg` you can _not_ specify the `logoColor` property. This will result in the 'invalid properties: logoColor' badge.
Related to #4749
Even before #2311, Shields has measured all badge text using 11px Verdana, which is the correct font for plastic, flat, and flat-square.
However the for-the-badge style uses 10px Verdana and bold 10px Verdana, and the social badge uses bold 11px _Helvetica_. This causes these badges to be wider or narrower than they should be, and the text to be stretched accordingly.
Since the for-the-badge style relies on synthetic letter spacing (we just multiply the computed length in code) there is room to massage this further. Our test badges all look as good or better than before, so I think it should not block merging this, however we might need to get it right before the downstream problem in squint goes away. (There's also #4691 which this doesn't attempt to address.)
Fixes#4275
Our approach to preventing bugs on the frontend has mostly leveraged types, though we could restore these if we start writing frontend tests again. In the meantime it's one less thing to unnecessarily install and maintain.
* Markdown: Encode spaces in badge URL as %20
* Revert "Markdown: Encode spaces in badge URL as %20"
This reverts commit f49945e9e9.
* Escape special characters in badge URL
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* Validate input to BadgeFactory.create() (#3875)
* validate input to create()
* remove deprecated properties (#3881)
* remove BadgeFactory class (#3884)
* Template literal templates (#4459)
- Remove use of the doT template library and move to generating SVG output using javascript template literals.
- Drop SVGO and mostly manually implement the optimisations.
- Add a bunch more tests
Co-authored-by: Paul Melnikow <github@paulmelnikow.com>
* drop raster support in package CLI (#4523)
* drop raster support in package CLI
* update docs
* rename gh-badges package to badge-maker
* rename gh-badges dir to badge-maker
* update relative imports and other refs to in parent dir
'gh-badges' --> 'badge-maker'
* update snyk service tests
This change is only tangentially related
We've used the shields repo as an example for these tests so
moving files around in our repo has a knock-on effect on them
* add missing type hints to dev style page
* write the changelog/migration guide for v3
* use extension in README CLI example
* update CLI help
whoops - missed this in #4523
* bump version
* update for self-hosting users
* README updates
* drop .format param from CLI, always output SVG
* Change text[] to label and message, Remove JSON output
- Change text[] to label and message
- Fix message only badge
- Remove JSON output format
- Update the docs
* update package-lock
* rename 'template' to 'style'
* handle invalid styles in coalesceBadge
* ensure makeBadge is passed a string for template in coalesceBadge()
issue #4925
* fix (logo/no label text/label color specified) case
issue #4926
* add example of (logo/no label text/label color specified) to style debug page
* update type defs
* padding fix for FTB style
Co-authored-by: Paul Melnikow <github@paulmelnikow.com>
* feat(service): add AppVeyor Job status badge
* refactor: sync file/class/route names for appveyor job
* tests: update # of build services in frontend test
Co-authored-by: Pierre-Yves B. <PyvesDev@gmail.com>