feat: 🔗 enable markdown in user bio
This commit is contained in:
parent
4a3bb0ec56
commit
fce8aa19ed
3 changed files with 14 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
|||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from mistune import HTMLRenderer, Markdown
|
||||
from mistune import HTMLRenderer, InlineParser, Markdown
|
||||
from mistune.plugins.formatting import strikethrough, subscript, superscript
|
||||
from mistune.plugins.url import url
|
||||
|
||||
|
|
@ -44,9 +44,12 @@ def _username(md):
|
|||
|
||||
full_markdown = Markdown(
|
||||
renderer=HTMLRenderer(),
|
||||
inline=InlineParser(hard_wrap=True),
|
||||
plugins=[strikethrough, subscript, superscript, url, _username],
|
||||
)
|
||||
|
||||
basic_markdown = Markdown(
|
||||
renderer=HTMLRenderer(), plugins=[strikethrough, subscript, superscript, url]
|
||||
renderer=HTMLRenderer(),
|
||||
inline=InlineParser(hard_wrap=True),
|
||||
plugins=[strikethrough, subscript, superscript, url],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ from django.db import models
|
|||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from moku.markdown import full_markdown
|
||||
from moku.validators import validate_username_length, validate_username_regex
|
||||
|
||||
|
||||
|
|
@ -80,6 +81,11 @@ class User(AbstractUser):
|
|||
"""Whether the user has confirmed their email address."""
|
||||
return self.email_confirmed_at is not None
|
||||
|
||||
def bio_as_html(self):
|
||||
if not self.bio:
|
||||
return ""
|
||||
return full_markdown(self.bio)
|
||||
|
||||
|
||||
class UserSettings(models.Model):
|
||||
"""Represents settings for a single user."""
|
||||
|
|
|
|||
|
|
@ -25,7 +25,9 @@
|
|||
{% if profile.bio %}
|
||||
<div class="double">
|
||||
<dt>{% trans %}about me{% endtrans %}</dt>
|
||||
<dd>{{ profile.bio }}</dd>
|
||||
<dd class="block">
|
||||
{{ profile.bio_as_html()|safe }}
|
||||
</dd>
|
||||
</div>
|
||||
{% endif %}
|
||||
</dl>
|
||||
|
|
|
|||
Loading…
Reference in a new issue