Это простой компонент темы, который добавляет номера строк к блокам кода в сообщениях Discourse. Он не добавляет номера строк для встроенного кода, блоков менее чем из 2 строк или для цитируемых блоков кода. Также он игнорирует блоки кода из GitHub onebox. Кроме того, компонент позволяет изменить размер шрифта и добавить заголовок, который будет отображаться перед языком кода (если он указан после первой разметки кода).
Благодарим @Don за отличную работу в этом проекте.
Работает в режимах для настольных компьютеров и мобильных устройств.
Пожалуйста, добавьте возможность выбора тёмной или светлой темы, так как моя страница обсуждений по умолчанию использует светлую тему, но в блоках кода применяется тёмная тема в стиле GitHub.
Вот текущее состояние, когда страница Discourse использует светлую тему, а блок кода настроен на отображение в тёмном стиле GitHub:
Также я делюсь некоторыми настройками отображения блоков кода на моей странице Discourse.
Надеюсь, это будет полезно кому-то и сделает страницу Discourse более интересной.
Есть ли шанс, что эта функция будет добавлена в основную ветку Discourse? Мой бюджетный план хостинга, который я использую, не поддерживает дополнительные плагины и подобное. А это выглядит очень полезным. Спасибо @Lilly и другим разработчикам и тестировщикам.
@merefield Спасибо. Я только что подал запрос на уточнение своему провайдеру и получил номер тикета. Если возникнут какие-либо важные новости, я сообщу.
Это действительно вопрос для администраторов! Я перешёл по ссылке https://meta.discourse.org/t/code-block-line-numbers/330130, нажал синюю кнопку «Установить этот компонент темы», ввёл название своего форума и подтвердил действие через интерфейс форума. Пока всё хорошо.
Эта функция была отображена как компонент (полагаю, технически это компонент темы) и показывает версию 0.0.2. Однако диалоговое окно предполагает, что этот артефакт в данный момент считается «неиспользуемым компонентом». И простые тесты с использованием синтаксиса трёх обратных кавычек ``` не отображали номера строк.
@robbie.morrison, пожалуйста, прочитайте пост темы (первый пост в этой теме), так как он содержит всю необходимую вам информацию, а также обратитесь к этим инструкциям, если вы устанавливаете компоненты темы на своём экземпляре.
@merefield@Lilly Большое спасибо. Мне нужно было добавить этот компонент темы к моей теме «по умолчанию». Как описано здесь: добавление компонентов к теме. Это работает (замечу, что ранее я добавил неправильный скриншот):
Несколько комментариев по документации. Правильное расположение, как я полагаю: Компоненты → Настроить → Темы. И раздел о добавлении к темам (см. ссылку выше) звучит несколько более по желанию, чем это есть на самом деле. Возможно, формулировка была бы лучше такой: «Вам нужно явно добавить компонент вашей темы к теме, прежде чем она станет рабочей. Это относится и к теме «по умолчанию».
Спасибо всем за интерес и время. У меня также есть небольшой отчёт об ошибке для следующего сообщения.
Мой отчёт об ошибке, как и обещал. Приведённый ниже блок кода с GitHub уже был пронумерован по строкам. После установки компонента темы под названием Discourse Code Block Line Numbers были добавлены чередующиеся пустые строки.
Оригинальная публикация находится здесь. Информация поступила через простую ссылку. Подробнее о диаграммах Санкей на английском языке Википедии для тех, кто заинтересован!
Уточнение: под чередующимися пустыми строками я имею в виду полностью пустые строки без какого-либо текста. Предыдущее отображение не было оформлено таким образом.
Я внес некоторые улучшения в этот компонент, а также добавил несколько настроек: возможность добавлять заголовок в блоки кода и изменять размер шрифта. Также исправил проблемы с форматированием одноблочного блока GitHub (спасибо за PR, @gormus! ). Обновил исходный пост, добавил новые скриншоты и ссылку на предварительный просмотр создателя темы.
Этот компонент снова обновлён — я исправил ошибку, из-за которой заголовок отображался на диаграммах Mermaid.
Также @Don немного рефакторил js, почистил код и добавил более приятное форматирование, включая рамку и указание языка кода в заголовке, если оно указано в посте. (Спасибо, Дон ).