LINUX.ORG.RU

Поддержка Markdown

 ,


5

6

Выложил на сайт бета-версию поддержки разметки Markdown.

Пока что она доступна только модераторам пользователям с 5 звездами и корректорам; после будет доступна более широкому кругу пользователей.

Работает вся стандартная разметка, за исключением вставки картинок. По аналогии с lorcode параграфы текста отделяются друг от друга пустой строкой, одиночные переводы строк игнорируются.

Кроме стандартной разметки должны работать блоки кода как на github, ссылки на пользователей вида @ maxcom (@maxcom) и таблицы. Внешний вид таблиц будет поправлен, пока они выводятся без рамок и отступов.

Да, спасибо @bvn13 за идею и merge request, на базе которого была сделана реализация.

Обновление 19 декабря: изменена верстка упоминаний пользователя; добавлена возможность выбирать режим в настройках

Обновление 21 декабря: markdown доступен пользователям с 5* и корректорам.

Обновление 25 декабря: поправлена верстка блоков кода, добавилен typography extension и markdown доступен пользователям с 4*.

Обновление 6 января: добавлен аналог [cut] и markdown доступен пользователям с 3*.

Обновление 10 января: добавлена справка по разметке.

Обновление 14 января: добавлены отступы и рамки у таблиц.

Обновление 17 января: markdown доступен пользователям с 2*.

Обновление 22 января: markdown доступен пользователям с 1*.

Обновление 30 января: markdown доступен пользователям с score >= 50.

Обновление 11 февраля: markdown доступен всем

★★★★★

Последнее исправление: maxcom (всего исправлений: 14)
Ответ на: комментарий от Deleted

@PtiCa

int = -1;

[section] xxx=2 yyy=2 [section2] w=«мама мыла раму»

Deleted
()
Ответ на: комментарий от KillTheCat

Заголовки работают только в топиках.

maxcom ★★★★★
() автор топика

А можно добавить ссылку с описанием, как для лоркода , для тех кого в гугле забанили?

Deleted
()

Ругается на несуществующие хайлайты

@KillTheCat123

Результат:

Не удалось выполнить запрос, попробуйте повторить еще раз. Internal Server Error
KillTheCat ★★★★★
()
Ответ на: комментарий от KillTheCat

Emphasis, aka italics, with asterisks or underscores.

Strong emphasis, aka bold, with asterisks or underscores.

Combined emphasis with asterisks and underscores.

Strikethrough uses two tildes. Scratch this.

KillTheCat ★★★★★
()
Ответ на: комментарий от Deleted

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

Описание ещё не готово, но можно нагуглить описание самого markdown.

maxcom ★★★★★
() автор топика

Отлично. Форум исправлен наконец-то за много лет и им снова можно пользоваться. Главное теперь не допускать гуманитариев с их тирэ и прочим мусором.

d_a ★★★★★
()
Ответ на: комментарий от theNamelessOne

Указание неизвестного языка для хайлайтера приводит к тому, что для элемента code добавляется class haskell:

``` barfoo
some text
```
some text
theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

Если указать язык HTML (html), то добавляется класс coffeescript, в результате код подсвечивается неправильно:

``` html
<code class="language-barfoo haskell">
  <span class="title">some</span> text
</code>
```
<code class="language-barfoo haskell">
  <span class="title">some</span> text
</code>

Если поменять html на xml, то класс coffeescript не добавляется.

theNamelessOne ★★★★★
()
Ответ на: комментарий от maxcom

Да, похоже на то. Автодетект работает странно. Во всех фрагментах язык не указывался явно:

  1. Автодетект не смог определить язык, класс undefined:

    Some text
    
  2. Автодетект определил язык как haskell:

    some text
    
  3. Как erlang:

    some(text);
    
  4. Если вставить фрагмент по ссылке, то определит как sql.

ИМХО, нужно отключить автодетект как минимум в том случае, когда пользователь явно указывает язык.

theNamelessOne ★★★★★
()

Заголовок

Заголовок 1

Чет с LineBreak всё печально (его не видно при письме).
И заголовок 1 не отличается от заголовка сообщения, как я понял.

Deleted
()

Огонь

Спасибо

Deleted
()
Ответ на: Заголовок от Deleted

Чет с LineBreak всё печально (его не видно при письме).

Так и должно быть, это ж markdown.

maxcom ★★★★★
() автор топика

Отличная новость! Можно теперь выкинуть текстовые макросы для лоркода.

ptarh ★★★★★
()

Спасибо, @maxcom :)

UPD: Ой, @-каст рисует пингвина, как и [user]...[/user]. Вообще офигенно.

while read f; do echo $f; done < <(cat)

Вопрос: а выделение блоков кода (пунктирная рамка и более другой фон) исчезло намеренно?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 5)
Ответ на: комментарий от intelfx

LORCODE:

[[inline]]...[[/inline]]

[[code]]
...
[[/code]]

Гм, а в LORCODE рамки вокруг кода остались. Тогда вопрос ещё более в силе: различия в рендеринге блоков кода в режимах LORCODE и Markdown — намеренные или случайные?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от intelfx

Вопрос: а выделение блоков кода (пунктирная рамка и более другой фон) исчезло намеренно?

Присоединяюсь к вопросу, пунктирная рамка нужна, она явно показывает блок с кодом, а не просто цветной текст.

Deleted
()
Ответ на: комментарий от intelfx

Вопрос: а выделение блоков кода (пунктирная рамка и более другой фон) исчезло намеренно?

Нет, поправлю и будет как в [code]

maxcom ★★★★★
() автор топика
Ответ на: комментарий от theNamelessOne

Ещё бы картинки работали, а то какая из ЛОРа имиджборда без картинок?

Сейчас, судя по всему, оно тупо выкидывается:

По логике Markdown надо просто оставить активную ссылку на картинку, типа такого:

!<тут без пробела> https://www.linux.org.ru/images/18368/1500px.jpg

Тогда желающие могут через UserJS картинки вставлять.

В ZeroNet по умолчанию код картинок показывается как CODE-блок, т.е.:

![](https://www.linux.org.ru/images/18368/1500px.jpg)

(только без синтаксической подсветки) — тоже можно через UserJS конвертить в картинку, даже проще, чем с парсингом ссылки.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Баг. Ссылка в угловых скобках выдаёт ошибку «Не удалось выполнить запрос, попробуйте повторить еще раз. Not Found»

<https://www.linux.org.ru/images/18368/1500px.jpg>

И в натуральном виде такое же выдаёт периодически.

KRoN73 ★★★★★
()
Последнее исправление: KRoN73 (всего исправлений: 1)

Кроме стандартной разметки должны работать блоки кода как на github, ссылки .. и таблицы.

А можно сделать таблицам добавить небольшой отступ (padding:?) на колонку (<tr>?):

First HeaderSecond HeaderThird Header
Cell 0x0Cell 0x1Cell 0x2
Cell 1x0Cell 1x1Cell 1x2
Cell 2x0Cell 2x1Cell 2x2
Cell 3x0Cell 3x1Cell 3x2
Cell 4x0Cell 4x1Cell 4x2

И отцентрировать?

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от maxcom

Так и должно быть, это ж markdown.

Markdown ещё поддерживает <br>, насколько я помню. Здесь же он просто съедается.

В комментариях <br> был бы полезен.

Тест:

Тут тег <br>=><=Тут тег <br>

Тест Тест

Как сейчас перенести строку без создания нового абзаца? В LORCODE это делал [br]

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Markdown ещё поддерживает <br>, насколько я помню.

Вообще нет. Это просто HTML passthrough. Здесь он выключен.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от EXL

А можно сделать таблицам добавить небольшой отступ (padding:?) на колонку (<tr>?):

К этому +1.

intelfx ★★★★★
()
Ответ на: комментарий от maxcom

Ещё есть такой момент. Если нажать «Ответить на это сообщение» на начальном сообщении темы, вставить туда это:

# TEST H1
## TEST H2
### TEST H3
#### TEST H4

И нажать предпросмотр, то заголовки на предпросмотре будут отформатированы, а при нажатии «Поместить» – станут одного размера, как и задумывалось.

Если отвечать не на стартовое сообщение, а на любое сообщение из темы, то предпросмотр отрабатывает с учётом замены.

EXL ★★★★★
()
Ответ на: комментарий от intelfx

Отлично, спасибо!

Не знал об этой фиче, она довольно редко нужна. На GitHub’е она тоже работает?

Значит проблема с <br> вообще отпадает и это круто.

EXL ★★★★★
()
Ответ на: комментарий от Deleted

Большинство того, что есть тут – прекрасно работает:

https://guides.github.com/features/mastering-markdown/

Кроме изображений, списков Todo, Emoji и HTML-тегов.

Ну и ограничение уровня заголовков в комментариях, что действительно важно, чтобы не капсили с h1.

Ещё есть поддержка линий по --- и, как выше выяснил intelfx, поддержка переноса строки без нового абзаца по \.

Такое тоже работает:

Some text with [a link][1] and
another [link][2].

[1]: http://example.com/ "Title"
[2]: http://example.org/ "Title"

Те, кто привык к подобному в списках рассылках разработчиков, могут заюзать.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Такое тоже работает:

Топ.

Я бы и не догадался проверить, но это архинужно.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.