Валидатор уценки - PullRequest
       20

Валидатор уценки

0 голосов
/ 22 марта 2019

Я перевожу дискуссионный форум из OSQA в Discourse.Я застрял в одной проблеме при этом.

Поскольку это дискуссионный форум для кодирования связанных тем, большая часть постов содержит фрагменты кода.Многие из начинающих пользователей не форматируют свой код должным образом, т. Е. Не делают отступы при включении блока кода и не используют отступы перед началом блока кода и после его завершения.

Теперь такой неформатированный фрагмент кода сработалв OSQA, но не в Discourse.

Discourse скрывает <iostream> так же, как stackoverflow (возможно, рассматривая первое как тег HTML?).

Кроме того, если пользователь непосредственно вставляет свой код, форматирование начинается после начала отступа.

Пример:

#include <stdio.h>

int main()
{
    // formatting starts from here as prinf("Hi"); is indented.
    // the first two statements are not formatted as they have not been indetned.
    printf("Hi");
    return 0;
}

Надеюсь, вы все получитеидея.Это выглядит странно.Позвольте мне добавить изображение для большей ясности.

enter image description here

Вы видели, что я пытался сказать?

Теперь, Дискурс будетне разрешать публиковать такие сообщения.Но как быть с импортированными сообщениями размером более 20 КБ?

Как определить, должная ли уценка сообщений или нет?Пожалуйста, помогите мне здесь: (

1 Ответ

1 голос
/ 23 марта 2019

Я не думаю, что дело в том, что пользователи неправильно форматируют свой код, а скорее в OSQA и Discourse с разными правилами форматирования.При импорте сообщений OSQA в Discourse вам нужно будет перевести их форматирование.

OSQA использует Pegdown .

Мы используем https://github.com/sirthias/pegdown для нашего анализа Markdown и включили следующее: Extensions.ABBREVIATIONS |Extensions.FENCED_CODE_BLOCKS.Мы также выполняем автоматическое связывание как протокольных и непротокольных URL-адресов, так и адресов электронной почты.Мы также поддерживаем @ упоминания и стандартные блоки кода, которые автоматически получают подсветку синтаксиса.

Дискурс допускает три формата , Общая уценка , а также подмножество BBCode , а также HTML.

Вам придется перевести форматирование с OSQA на Discourse. В дискурсе есть сценарии импорта для многих различных систем , но не для OSQA.Возможно, вы захотите написать один из них, используя в качестве примеров существующие сценарии.

Дискурс во многом похож на stackoverflow (возможно, рассматривая первый как тег HTML?).

Это скорее всего потому, что Discourse допускает HTML.Вам нужно будет экранировать все HTML-сущности , чтобы они правильно отображались в Discourse.

Кроме того, если пользователь непосредственно вставляет свой код,форматирование начинается после начала отступа.

Чтобы избежать этого, замените отступ на &nbsp;.

...