AlekSIS
AlekSIS

Source code for aleksis.core.templatetags.html_helpers

from django import template

from bs4 import BeautifulSoup

register = template.Library()


[docs]@register.filter def add_class_to_el(value: str, arg: str) -> str: """Add a CSS class to every occurence of an element type. :Example: .. code-block:: {{ mymodel.myhtmlfield|add_class_to_el:"ul,browser-default" }} """ el, cls = arg.split(",") soup = BeautifulSoup(value, "html.parser") for el in soup.find_all(el): el["class"] = el.get("class", []) + [cls] return str(soup)