Есть ли простой способ не удалять начальные пробелы и другое форматирование в стихотворении?

Я веду обсуждение в группе Discourse, тестируя её для сообщества Gene Keys, и один из участников спросил о возможности форматирования стихов. В разделе FAQ по форматированию описаны варианты использования HTML и других кодов, но они не очень просты для пользователей.

Сообщите, пожалуйста, есть ли простое решение.

Спасибо, Дэвид

привет @pinetree1111 :wave: добро пожаловать

не уверен, что это можно считать «простым», но мне кажется, что это легко, потому что я иногда использую это в своих сообщениях, ха-ха.

можно использовать   для пробела:
например так

hello world
 это строка с одним начальным пробелом
  это строка с двумя начальными пробелами
   это строка с тремя начальными пробелами

код:

hello world
 это строка с одним начальным пробелом
  это строка с двумя начальными пробелами
    это строка с тремя начальными пробелами

также можно ставить пробелы между ними

hello world
  это строка с двумя начальными пробелами
    это строка с четырьмя начальными пробелами
      это строка с шестью начальными пробелами

hello world
  это строка с двумя начальными пробелами
    это строка с четырьмя начальными пробелами
      это строка с шестью начальными пробелами

Было бы здорово добавить это на панель инструментов — особенно для тех, кто не использует Markdown, не так ли?

не уверен, но думаю, что этот компонент может добавлять пользовательские кнопки? в любом случае, это не так уж сложно для кого-то с базовыми навыками программирования создать компонент темы. сам я им не пользуюсь, но, полагаю, мог бы помочь кому-то, если нужно. насчёт WYSIWYG-компоновщика не уверен, я им никогда не пользовался.

Также можно использовать обратные кавычки (```), что сохранит форматирование, но стиль может вам не понравиться

hello world
 this is a line with a leading space
  this is a line with 2 leading spaces
   this is a line with 3 leading spaces

И если у вас есть доступ к TC, вы можете добавить небольшой CSS, чтобы смягчить это:

code.lang-plaintext {
  font-family: cursive;
  font-size: inherit;
  background: transparent;
  color: inherit;
}
pre:has(code.lang-plaintext) {
  background: transparent;
  border: none;
  padding: 0;
}

Это будет выглядеть так (например):

Но это, конечно, хорошее решение только в том случае, если никто не публикует реальные фрагменты кода (для чего традиционно используются обратные кавычки), но, думаю, на поэтическом форуме вероятность этого низка :slight_smile:

Думаю, два самых простых решения:

  1. Использование «Предварительно отформатированного текста»:
    Просто введите текст с пробелами, выделите его, а затем нажмите кнопку image, чтобы отформатировать текст.
    В качестве альтернативы можно выделить строки и нажать CTRL+E.
    Это в точности то же самое, что и решение с обратными апострофами, предложенное выше.

  2. Использование HTML-тега <pre> (я знаю, что вы спрашивали о решениях, не использующих HTML, но это очень просто):
    Оберните текст в HTML-теги, как показано ниже:

    <pre>
    Текст
        с
            ведущими
                пробелами.
    </pre>    
    

    Результат будет выглядеть так:

     Текст
         с
             ведущими
                 пробелами.
     

Большое спасибо за ваши комментарии. У меня есть опыт программирования, который я не использовал уже давно (и даже забыл про  ), я посмотрю, смогу ли я поиграться с этим утром. У нас есть техническая команда, которая интегрировала бы форум в новый сайт, если мы решим использовать его постоянно, так что, похоже, они смогут создать кнопку для обычного пользователя.