replace leading space to emsp

This commit is contained in:
Your Name 2023-01-30 21:23:42 -05:00
parent d116e75d15
commit d29351abf7
2 changed files with 15 additions and 1 deletions

View file

@ -44,7 +44,14 @@
<div id="rawContent">
{{ form.body }}
</div>
<div class="review-form__fyi">{% trans '不知道什么是Markdown可以参考' %}<a target="_blank" href="https://www.markdownguide.org/">{% trans '这里' %}</a></div>
<div>
<label for="leading_space" style="display: inline;">
<input type="checkbox" name="leading_space" value="1" id="leading_space" checked> 保留行首空格(替换为全角)
</label>
<span class="review-form__fyi">
{% trans '不知道什么是Markdown可以参考' %}<a target="_blank" href="https://www.markdownguide.org/">{% trans '这里' %}</a>
</span>
</div>
<div class="review-form__option">
<div class="review-form__visibility-radio">

View file

@ -436,6 +436,13 @@ def review_edit(request, item_uuid, review_uuid=None):
mark_date = None
if mark_date:
form.instance.created_time = mark_date
if request.POST.get("leading_space"):
form.instance.body = re.sub(
r"^(\u2003*)( +)",
lambda s: "\u2003" * ((len(s[2]) + 1) // 2 + len(s[1])),
form.instance.body,
flags=re.MULTILINE,
)
form.save()
if form.cleaned_data["share_to_mastodon"]:
form.instance.save = lambda **args: None