Skip to content

Commit

Permalink
Added style support with default flat and flat-square
Browse files Browse the repository at this point in the history
  • Loading branch information
ischaojie committed Dec 18, 2022
1 parent c855208 commit cb0f224
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 38 deletions.
3 changes: 3 additions & 0 deletions pybadges/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ def badge(
embed_right_image: bool = False,
embed_center_image: bool = False,
id_suffix: str = '',
style: str = 'flat',
) -> str:
"""Creates a github-style badge as an SVG image.
Expand Down Expand Up @@ -184,6 +185,7 @@ def badge(
id_suffix: The suffix of the id attributes used in the SVG's elements.
Use to prevent duplicate ids if several badges are embedded on the
same page.
style: The style of the badge. Can be "flat" or "flat-square".
"""
if measurer is None:
measurer = (
Expand Down Expand Up @@ -239,6 +241,7 @@ def badge(
right_image=right_image,
center_image=center_image,
id_suffix=id_suffix,
style=style,
)
xml = minidom.parseString(svg)
_remove_blanks(xml)
Expand Down
7 changes: 6 additions & 1 deletion pybadges/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ def main():
'the badge (this will prevent a URL fetch and may work around the '
'fact that some browsers do not fetch external image references); '
'only works if --logo is a HTTP/HTTPS URI or a file path')
parser.add_argument(
'--style',
default='flat',
help='the style of the badge (flat, flat-square)')
parser.add_argument(
'-v',
'--version',
Expand Down Expand Up @@ -194,7 +198,8 @@ def main():
center_image=args.center_image,
embed_logo=args.embed_logo,
embed_right_image=args.embed_right_image,
embed_center_image=args.embed_center_image)
embed_center_image=args.embed_center_image,
style=args.style)

if args.browser:
_, badge_path = tempfile.mkstemp(suffix='.svg')
Expand Down
96 changes: 61 additions & 35 deletions pybadges/badge-template-full.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 23 additions & 1 deletion tests/golden-images/accuracy.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions tests/golden-images/style-flat-square.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion tests/test-badges.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,12 @@
"left_text": "commits",
"right_text": "250",
"center_image": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHdpZHRoPSIxMDciIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgLTEyIDEwNyAxMyI+CjxkZWZzPgo8L2RlZnM+CjxwYXRoIGQ9Ik03LjAsLTIuNzQzNTAyMzE1NTM3MTcyNyBMNy45NTg3NjI4ODY1OTc5MzgsLTIuMTIxMjEzMzA0Mzk3MDk2NCBMOC45MTc1MjU3NzMxOTU4NzcsLTIuNDA5ODg0OTkzNTgyNDQgTDkuODc2Mjg4NjU5NzkzODE1LC0yLjc1MTk5MjYyMzQ3NzI4IEwxMC44MzUwNTE1NDYzOTE3NTMsLTIuODY0MjQ4NjIwOTk5NDIzIEwxMS43OTM4MTQ0MzI5ODk2OTEsLTIuNzQ4OTY4NzAyMjc0MDMzNyBMMTIuNzUyNTc3MzE5NTg3NjMsLTIuNTE4NzE4OTQxMDA1NTIxMyBMMTMuNzExMzQwMjA2MTg1NTY4LC0yLjI5ODcyNTU1NTExMjA2OCBMMTQuNjcwMTAzMDkyNzgzNTA2LC0yLjE4MDUyNzQ2ODU1MDQ2OCBMMTUuNjI4ODY1OTc5MzgxNDQzLC0yLjIwNzUwMzg3NDExOTE5IEwxNi41ODc2Mjg4NjU5NzkzODMsLTIuMzc4NTE5NzY1OTYyMzQ1IEwxNy41NDYzOTE3NTI1NzczMiwtMi42NjAyNjY2NjQyMzYwMDU4IEwxOC41MDUxNTQ2MzkxNzUyNiwtMy4wMDIxNjI2NTYzODYzMTcgTDE5LjQ2MzkxNzUyNTc3MzE5OCwtMy4zNTAxMTI0NTk0MTM2NzQ0IEwyMC40MjI2ODA0MTIzNzExMzYsLTMuNjU3MTgyODAwNzQyNjE5NSBMMjEuMzgxNDQzMjk4OTY5MDc0LC0zLjg5MDQ2MzgyMjIwMjAzNTMgTDIyLjM0MDIwNjE4NTU2NzAxMywtNC4wMzQxODM1ODkxMTUzMzggTDIzLjI5ODk2OTA3MjE2NDk0NywtNC4wODk2MjAzNDU5MjQyMzk1IEwyNC4yNTc3MzE5NTg3NjI4ODYsLTQuMDcyNTk4NTc1MTA0NjI2IEwyNS4yMTY0OTQ4NDUzNjA4MjQsLTQuMDA5NDI3NTk5MDgzNTA2IEwyNi4xNzUyNTc3MzE5NTg3NjIsLTMuOTMyMDk5NTc1MjEyMDcxMyBMMjcuMTM0MDIwNjE4NTU2NywtMy44NzM0NTAwMjY4NjU0OTIgTDI4LjA5Mjc4MzUwNTE1NDY0LC0zLjg2MjgzMTU2Njg3NDYxNDcgTDI5LjA1MTU0NjM5MTc1MjU3NywtMy45MjI2ODUwMDk2NDA3MjMzIEwzMC4wMTAzMDkyNzgzNTA1MTUsLTQuMDY2MjI5NTYxMjIyOTQzNSBMMzAuOTY5MDcyMTY0OTQ4NDU0LC00LjI5NjM0NzQ1NzYwMTgwNSBMMzEuOTI3ODM1MDUxNTQ2MzkyLC00LjYwNTYxNTkzNTk2OTI4OCBMMzIuODg2NTk3OTM4MTQ0MzM0LC00Ljk3NzM0NDcwNzEyMTA5OSBMMzMuODQ1MzYwODI0NzQyMjcsLTUuMzg3NDExMjE3OTM4OTA5IEwzNC44MDQxMjM3MTEzNDAyMSwtNS44MDY2NDc5MDAzNjczNzcgTDM1Ljc2Mjg4NjU5NzkzODE1LC02LjIwMzUyMjY2MDQ3MzMzOCBMMzYuNzIxNjQ5NDg0NTM2MDksLTYuNTQ2ODYyMzk4NTU3OTY4IEwzNy42ODA0MTIzNzExMzQwMjUsLTYuODA4Mzk1MTQzOTU5NjY0IEwzOC42MzkxNzUyNTc3MzE5NjQsLTYuOTY0OTI0ODkwNjMxMDQzNSBMMzkuNTk3OTM4MTQ0MzI5ODk1LC03LjAgTDQwLjU1NjcwMTAzMDkyNzgzLC02LjkwNDk4Njg2MjgzMTA4MiBMNDEuNTE1NDYzOTE3NTI1NzcsLTYuNjc5NTExNjAzNDIxNzI5IEw0Mi40NzQyMjY4MDQxMjM3MSwtNi4zMzEyODA3MjI1ODkwNzQgTDQzLjQzMjk4OTY5MDcyMTY1LC01Ljg3NTMzNDExMTQxODg5MSBMNDQuMzkxNzUyNTc3MzE5NTg2LC01LjMzMjgxODgyMTU2MjgzMyBMNDUuMzUwNTE1NDYzOTE3NTI1LC00LjcyOTM5ODAyMDA3NzM5OCBMNDYuMzA5Mjc4MzUwNTE1NDYsLTQuMDkzNDI2MDc0NTI0MzI4IEw0Ny4yNjgwNDEyMzcxMTM0LC0zLjQ1NDAyNzUyMDgwNTEzMiBMNDguMjI2ODA0MTIzNzExMzQsLTIuODM5MjE1MjY5NjczMDE1MyBMNDkuMTg1NTY3MDEwMzA5MjgsLTIuMjc0MTcyNzQ5NDk2MTY0OCBMNTAuMTQ0MzI5ODk2OTA3MjE2LC0xLjc3OTgwNjU5NzM5MTYxMSBMNTEuMTAzMDkyNzgzNTA1MTU0LC0xLjM3MTY1MzI1MjU2OTM1MzQgTDUyLjA2MTg1NTY3MDEwMzA5LC0xLjA1OTE5NTcxNTI0MjQ4OTMgTDUzLjAyMDYxODU1NjcwMTAzLC0wLjg0NTYxNjY5MDIwNjQwOCBMNTMuOTc5MzgxNDQzMjk4OTcsLTAuNzI3OTg1NTk5ODY3MDQxIEw1NC45MzgxNDQzMjk4OTY5MSwtMC42OTc4NDgwMTgzMzAyODk4IEw1NS44OTY5MDcyMTY0OTQ4NDYsLTAuNzQyMTYxMTg5NDAzODMwNiBMNTYuODU1NjcwMTAzMDkyNzg0LC0wLjg0NDQ5ODgwNzM1ODk0MjggTDU3LjgxNDQzMjk4OTY5MDcyLC0wLjk4NjQzMjIzOTgyMjc4MyBMNTguNzczMTk1ODc2Mjg4NjYsLTEuMTQ4OTg2NjQwMTk5MDU0NyBMNTkuNzMxOTU4NzYyODg2NiwtMS4zMTQwNjc1MzU0NDcyNjk1IEw2MC42OTA3MjE2NDk0ODQ1NCwtMS40NjU3NTg4ODYxNzY1NDEgTDYxLjY0OTQ4NDUzNjA4MjQ3NSwtMS41OTE0MDA4NTk3OTI5OTAzIEw2Mi42MDgyNDc0MjI2ODA0MTQsLTEuNjgyMzc2MDYzNTg1NzMgTDYzLjU2NzAxMDMwOTI3ODM1LC0xLjczNDU1MTAyNzE4Nzc4MjYgTDY0LjUyNTc3MzE5NTg3NjMsLTEuNzQ4MzQ0MTgxNDgxNTQzNyBMNjUuNDg0NTM2MDgyNDc0MjIsLTEuNzI4NDIwNTE2ODAxNTQ2MyBMNjYuNDQzMjk4OTY5MDcyMTcsLTEuNjgzMDM4MjEwOTMxODg2MiBMNjcuNDAyMDYxODU1NjcwMSwtMS42MjMwOTg4MDY1NTIyODY3IEw2OC4zNjA4MjQ3NDIyNjgwNSwtMS41NjA5NzU1NDcwODk1OSBMNjkuMzE5NTg3NjI4ODY1OTcsLTEuNTA5MjEzODk4MDQyMzY3NSBMNzAuMjc4MzUwNTE1NDYzOTMsLTEuNDc5MjEwNDI4NzcwNDM2IEw3MS4yMzcxMTM0MDIwNjE4NSwtMS40Nzk5Nzg3NDQ1NDg1MDA5IEw3Mi4xOTU4NzYyODg2NTk3OSwtMS41MTcxMTY3MzA1Nzk4NDMgTDczLjE1NDYzOTE3NTI1NzczLC0xLjU5MjA2NTc0NzQ0NDE1MjQgTDc0LjExMzQwMjA2MTg1NTY3LC0xLjcwMTc0NzIyOTA2NjY1OSBMNzUuMDcyMTY0OTQ4NDUzNiwtMS44Mzg2MjYyNTQ0MjEzMjU3IEw3Ni4wMzA5Mjc4MzUwNTE1NCwtMS45OTEyMTY3NzkyMDMxMjgzIEw3Ni45ODk2OTA3MjE2NDk0OCwtMi4xNDUwMjAxNTI4NTMyNzA2IEw3Ny45NDg0NTM2MDgyNDc0MiwtMi4yODM4MTk2MTk3Mzk0NzY0IEw3OC45MDcyMTY0OTQ4NDUzNiwtMi4zOTEyNTc2OTkyMTQxNTYzIEw3OS44NjU5NzkzODE0NDMzLC0yLjQ1MjUzMzMzOTAzNTE0IEw4MC44MjQ3NDIyNjgwNDEyMywtMi40NTYwNzQ5NTI5NjkyMzQ3IEw4MS43ODM1MDUxNTQ2MzkxNywtMi4zOTUwMTE3ODM3MjcyOTE3IEw4Mi43NDIyNjgwNDEyMzcxMSwtMi4yNjgyNDU1NzUxNzA4MzkgTDgzLjcwMTAzMDkyNzgzNTA1LC0yLjA4MDk3ODY3NTc0MDM4OTQgTDg0LjY1OTc5MzgxNDQzMjk5LC0xLjg0NDU1OTAzODgyMTk0NDIgTDg1LjYxODU1NjcwMTAzMDkzLC0xLjU3NTU3ODYzNDY2ODQ1MyBMODYuNTc3MzE5NTg3NjI4ODYsLTEuMjk0MjM1NDM2MzQ1Njg3IEw4Ny41MzYwODI0NzQyMjY4LC0xLjAyMjA3MjgxNzk0Mjk3ODggTDg4LjQ5NDg0NTM2MDgyNDc0LC0wLjc3OTMxMjg1MzQyMzA1NTUgTDg5LjQ1MzYwODI0NzQyMjY4LC0wLjU4MjA5OTU5NjkzNTA0NzMgTDkwLjQxMjM3MTEzNDAyMDYyLC0wLjQ0MDExNzk2OTM2NjA1MDUgTDkxLjM3MTEzNDAyMDYxODU2LC0wLjM1NTAxMDE5NDAwMTg2MDUgTDkyLjMyOTg5NjkwNzIxNjUsLTAuMzIwMTMwMjc5MjczNjg1OCBMOTMuMjg4NjU5NzkzODE0NDMsLTAuMzIxOTcyNDkwOTA3MTA4OCBMOTQuMjQ3NDIyNjgwNDEyMzcsLTAuMzQzNDAzNTIzNjk3OTg4NCBMOTUuMjA2MTg1NTY3MDEwMzEsLTAuMzY4MzI3MzU4MDE0MDQ1MDQgTDk2LjE2NDk0ODQ1MzYwODI1LC0wLjM4NjY5Mjg5NDY2NjY1ODcgTDk3LjEyMzcxMTM0MDIwNjE5LC0wLjM5NzU5OTkwNjk5MTU4NDkzIEw5OC4wODI0NzQyMjY4MDQxMiwtMC40MDY2MzY5NTEwNTIwMjg3IEw5OS4wNDEyMzcxMTM0MDIwNiwtMC40MTE0MDA3NzYyMjkwODczMyBMMTAwLjAsLTAuMzY2MTM0NjcxODM4MTc0MiIgZmlsbD0idHJhbnNwYXJlbnQiIHN0cm9rZT0iIzAwN2VjNiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgo8L3N2Zz4=",
"center_color": "#252525"
"center_color": "#252525"
},
{
"file_name": "style-flat-square.svg",
"left_text": "style",
"right_text": "flat-square",
"style": "flat-square"
}
]

0 comments on commit cb0f224

Please sign in to comment.