При редактировании этих сообщений теги <br> отображаться не будут.
Примечание: абзацы создаются автоматически в зависимости от контекста при обработке сообщения, поэтому добавлять эти теги в необработанный входной запрос не нужно.
Понятно. То есть единственный способ обеспечить чистое отображение, когда пользователи редактируют свои мигрированныеHTML-публикации через API, — это заменить все теги <p> и <br> на \n, если я правильно понимаю?
Если вы пытаетесь очистить импортированный HTML-контент, вы также можете заменить параграфы на переносы строк, чтобы гарантировать наличие переносов и корректную обработку поста.
Ок, спасибо
Последний вопрос:
Можете ли вы подсказать, как добавить упоминание, например такое: @Canapin, в посте через API? Я пробовал использовать @username в поле raw, но это не работает.
Если вы импортируете большой объем данных, используйте скрипт импорта. Во многих из них есть примеры удаления HTML-тегов, а также обработки кавычек и упоминаний.
Если вы хотите постоянно добавлять данные на существующий сайт, используйте API.
А, я понял свою ошибку! Я тестировал с именем пользователя в нижнем регистре, а нужно было использовать точное имя, так как упоминание чувствительно к регистру. Извините.
Честно говоря, я создал POC с помощью скрипта импорта на Ruby, но так как мне нужно синхронизировать данные в течение нескольких дней между старым решением и Discourse, я предпочитаю запускать простой скрипт на Python. Это гораздо быстрее в настройке и поддержке. Кроме того, это последовательно, так как я извлекаю старые данные с помощью Python. Предыдущий провайдер не предоставит нам доступ к базе данных, поэтому я извлек весь контент в базу данных.
Но, конечно, это более простое решение, если это простая миграция