import streamlit as st import re import base64 import validators from pathlib import Path def add_logo(logo_url: str, height: int = 100, svg=False): if svg: svg_logo = read_svg(logo_url) b64 = base64.b64encode(svg_logo.encode("utf-8")).decode("utf-8") logo = f'url("data:image/svg+xml;base64,{b64}")' elif validators.url(logo_url): logo = f"url({logo_url})" else: logo = f'url("data:image/png;base64,{base64.b64encode(Path(logo_url).read_bytes()).decode()}")' st.markdown( f""" """, unsafe_allow_html=True, ) def read_svg(path_svg): try: with open(path_svg, "r") as file: svg_logo = file.read().splitlines() _maped_list = map(str, svg_logo) svg_logo = "".join(_maped_list) temp_svg_logo = re.findall("", svg_logo, flags=re.IGNORECASE) svg_logo = temp_svg_logo[0] except: svg_logo = '' return svg_logo def render_svg(svg): b64 = base64.b64encode(svg.encode("utf-8")).decode("utf-8") html = ( r"""
Techdocs Logo
""" % b64 ) st.markdown(html, unsafe_allow_html=True)