Нам не нравится, как оформлен пост, созданный из шаблона формы.
Вот что мы ожидали увидеть:
Метка: ответ Метка: ответ Метка: ответ
Посмотреть разметку Markdown
**Метка:** ответ
**Метка:** ответ
**Метка:** ответ
А вот что мы получили:
метка
ответ
метка
ответ
метка
ответ
Посмотреть разметку Markdown
> ### метка
> ответ
>
>
>
> ### метка
> ответ
>
>
> ### метка
> ответ
Мы хотели бы иметь возможность управлять этим. Тем временем я рассматриваю вариант создания форм с местами для меток (таким образом, символ * по-прежнему будет отображаться для обязательных полей).
И, в связи с этим, было бы здорово предоставить пользователям стандартную панель форматирования для текстовых полей с короткими и/или длинными ответами.
Тем временем я придумал этот неуклюжий хак для: а) скрытия ответов «чекбокс», б) отображения вопросов, отличных от textarea, в одну строку (<вопрос>: <ответ>) и в) исправления отступов между элементами.
Если вы немного знакомы с JavaScript, вы можете адаптировать его под свои нужды:
(Это нужно добавить в раздел hooks файла app.yml)
hooks:
after_code:
- exec:
# Обычно здесь находятся плагины
- replace:
filename: /var/www/discourse/app/assets/javascripts/discourse/app/lib/form-template-validation.js
from: 'return formattedOutput.join("\n\n");'
to: |
const formattedOutput2 = mergedData.map((item) => {
const key = Object.keys(item)[0];
const value = item[key];
const type = formTemplate.find(x => x.id == key).type;
if (type == 'checkbox') return;
if ((value) && (type != 'textarea')) return `**${labelMap[key]}**: ${value}`;
if (value) return`\n### ${labelMap[key]}\n${value}\n`;
});
return formattedOutput2.join("\n");