Source code for pkglts.option.doc.badge
from dataclasses import dataclass
from url_normalize import url_normalize
[docs]
@dataclass
class Badge:
name: str
url: str
url_img: str
text: str = ""
def __post_init__(self):
self.url = url_normalize(self.url)
self.url_img = url_normalize(self.url_img)
[docs]
def format(self, doc_fmt):
"""Produce valid img hyperlink.
Args:
doc_fmt (str): doc format either 'rst' or 'md'
Returns:
(str)
"""
if self.text == "":
txt = self.name
else:
txt = self.text
if doc_fmt == "rst":
return "\n" f".. image:: {self.url_img}\n" f" :alt: {txt}\n" f" :target: {self.url}\n"
if doc_fmt == "md":
return f"[]({self.url})"
raise UserWarning(f"Unknown format '{doc_fmt}'")