Generate badges/shields with pure HTML/CSS.
Project description
Generate status badges/shields of pure HTML+CSS.
Overview
The Badge class in the module is used to generate status badges. It supports various configuration options like font, background etc., and also includes rudimentary threshold support, which is useful for presenting job status, for example.
Usage
Badge can be instantiated to generate many badges with the same format:
from abadge import Badge success_badge = Badge(value_text_color='#11a') print(success_badge.to_html('build', 'passed')) print(success_badge.to_html('tests', 'ok'))
or for one-shot generation:
print(Badge(label='tests', value='4/8').to_html()) print(Badge().to_html(label='tests', value='4/8')) # Same thing print(Badge.make_badge(tests, '4/8')) # This too
The arguments to all of the methods are identical. The arguments to the constructor will be stored in the instance as default values which can then be overridden by the arguments to the to_html method. make_badge always use the class default configuration (it is a class method).
Arguments
All three methods support the following arguments:
Optional arguments
- label:
text for the label (left) part. Can also be given as keyword argument label=<text>
- value:
text for the value (right) part. Can also be given as keyword argument value=<text>
Keyword arguments
- border_radius:
how rounded the corners of the badge should be (CSS “padding”)
- font_family:
font to use in the badge (CSS “font-family”)
- font_size:
font size to use in the badge (CSS “font-size”)
- label:
the text in label part of the badge
- label_background:
background color for the label (left) part (CSS “background”)
- label_text_color:
text color for the label (left) part (CSS “color”)
- label_text_shadow:
configuration for the text shadow (CSS “text-shadow”)
- link_decoration:
decoration for the link (CSS “text-decoration”)
- padding:
amount of space between the border and the text (CSS “padding”)
- thresholds:
dict with label to value to value_background mappings. See Thresholds below
- url:
makes the badge link to the given URL
- value:
the text in the value part of the badge
- value_background:
background color for the value part (CSS “background”). This is also the final fallback if the value is neither found in thresholds nor in value_backgrounds
- value_backgrounds:
dict with value to value_background mappings. See Thresholds below
- value_text_color:
text color for the value part (CSS “color”)
- value_text_shadow:
configuration for the text shadow (CSS “text-shadow”)
Thresholds
The thresholds argument is a dict with label to value to background color mapping:
build_badge = Badge(thresholds={'build': {'SUCCESS': '#0f0', 'FAILURE': '#f00', 'UNSTABLE': '#ff0', 'ABORTED': '#f80',}, 'KPI': {'A': '#0f4', 'B': '#f04', 'C': '#f84', 'D': '#ff4',},) print(build_badge('build', job.get_status())) # Using a non-existing value will use the value_background color print(build_badge('build', 'SKIP')) print(build_badge('build', 'HOP', value_background='#888'))
If the background is not found in thresholds then the value will be looked up in the value_backgrounds dict as a fallback:
build_badge = Badge(thresholds={'build': {'SUCCESS': '#0f0', 'FAILURE': '#f00', 'UNSTABLE': '#ff0', 'ABORTED': '#f80',}} value_backgrounds: {'SUCCESS': '#0f4', 'FAILURE': '#f04', 'UNSTABLE': '#f84', 'ABORTED': '#ff4',},) print(build_badge('test', job.get_status()))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file abadge-1.0.0.tar.gz
.
File metadata
- Download URL: abadge-1.0.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba0081aea465e6472878f80b4f4217cbc5214ea059c6095b1beef1d5f63022f3 |
|
MD5 | 49cf4e543e09e96970c37a1329ec34e0 |
|
BLAKE2b-256 | fd05b6e6d7ad1cb8ecfbe15604499974959958900064c138373f5bb7d8e7b341 |
File details
Details for the file abadge-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: abadge-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebe4ae24c0b892dbc0b9ae9815c78f642e625b482aa8f10ff9117e5c182307eb |
|
MD5 | b11713ceb2f8cc024d708bf41f0a84cb |
|
BLAKE2b-256 | e6e1e56d48c9ba2e9cb6942c19d373613a46dd6c35f22240c221adf564f41da1 |