We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 4eb27d7 commit 42badabCopy full SHA for 42badab
1 file changed
core/templatetags/markdown.py
@@ -1,3 +1,5 @@
1
+import re
2
+from django.utils.safestring import mark_safe
3
from markdownx.utils import markdownify
4
from django import template
5
@@ -8,3 +10,19 @@
8
10
@register.filter
9
11
def render_markdown(value):
12
return markdownify(value)
13
+
14
15
+@register.filter
16
+def add_class(value, css_class):
17
+ class_re = re.compile(r'(?<=class=["\'])(.*)(?=["\'])')
18
+ string = value
19
+ match = class_re.search(string)
20
+ if match:
21
+ m = re.search(r'^%s$|^%s\s|\s%s\s|\s%s$' % (css_class, css_class,
22
+ css_class, css_class), match.group(1))
23
+ if not m:
24
+ return mark_safe(class_re.sub(match.group(1) + " " + css_class,
25
+ string, 1))
26
+ else:
27
+ return mark_safe(string.replace('>', ' class="%s">' % css_class, 1))
28
+ return value
0 commit comments