Как мне создать очень кастомную тему?

Привет! Я новичок в Discourse и мне очень нравятся его возможности и функционал. Я хочу серьёзно кастомизировать его внешний вид и способ отображения контента. Я читаю различные ветки и посты, пытаясь разобраться, но, несмотря на опыт работы с JavaScript, я запутался. Под «серьёзной кастомизацией» я имею в виду: удаление боковой панели, добавление пунктов навигации в верхнюю панель. Отображение тем с именем автора, аватаром, заголовком и превью текста, а также с информацией о последнем ответе и его превью с аватаром и именем автора ответа. Темы, сгруппированные по категориям в одном большом списке категорий и их тем (по-старинке). Похоже, мне нужно понять, как переопределить данные, которые отображаются или извлекаются для отображения, но я не знаю, как лучше всего это сделать. Будет ли это один «тема», компонент темы? Или это будет плагин? Может, несколько тем, компонентов и плагинов? В чём разница между компонентом и плагином? Хотелось бы увидеть видео на YouTube, где показан процесс разработки такой сильно кастомизированной «темы». Сейчас я собираю список «дополнений», которые делают что-то похожее на то, что я хочу реализовать, и пытаюсь изучить их код, но, черт возьми, это действительно запутанно для новичка, который только что «вышел на улицу». Я лучше усваиваю информацию, глядя видео, чем читая. :confused: Есть ли какие-то советы, рекомендации или видео, о которых я мог бы не знать? Любая помощь будет очень кстати. :pray:

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

Спасибо :slight_smile: У меня гора литературы для чтения. Надеюсь, всё постепенно начнёт складываться в логичную картину. Я нашёл очень актуальную тему:

А теперь просто делюсь ссылками и заметками для тех, кто, возможно, находится в аналогичной ситуации:

HTML-шаблоны находятся здесь: https://github.com/discourse/discourse/tree/main/app/assets/javascripts/discourse/app/templates

Руководство для новичков по темам:

Руководство для разработчиков по темам:

Руководство для дизайнеров по началу работы с темами в Discourse:

Создание компонента темы:

Компонент темы для отображения мест размещения плагинов (мест для внедрения нового HTML/скриптов/стилей):

Разработка плагинов:

Научитесь создавать вещи с нуля:

Установка Discourse на Ubuntu/Debian для разработки:

То, что я действительно хочу изменить, — это «topic-list» или главная страница

• Эта тема уже создала нужный формат списка тем:
• Имя автора + аватар:

Author name plus avatar или Show Original Poster Avatars

• Группы категорий:
• Иконки избранных категорий:

Также можно попробовать онлайн-редактор тем:

Дополнительно:
• Единый вход (SSO)?

• Бот для Discord

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

Посмотрите Пользовательские ссылки в заголовке.

Это может помочь вам начать работу.