Относительное отсутствие тем — что-то упустил?

Не совсем понял, куда это лучше разместить, извините, если это не сюда.

Прежде всего, надеюсь, это не воспримется как просто жалоба. Это совсем не моя цель. Я люблю и использую Discourse, за последние 6 месяцев развернул несколько инстансов Discourse для себя, клиентов и друзей. В целом удовлетворённость высока, особенно в плане функциональности и кастомизации (компоненты тем, плагины и т. д.).

Тем не менее, в процессе я явно заметил относительную нехватку вариантов тем в целом, особенно по сравнению, скажем, с WordPress или даже многими другими форумными системами. Я, например, так и не нашёл сторонний маркетплейс тем, который есть у многих других систем. Здесь, в Meta, многие темы кажутся довольно старыми, хотя, к счастью, их часто поддерживают в актуальном состоянии. Большинство из них, похоже, созданы очень небольшим числом людей. В качестве контрпримера — каталог из ~150 тем myBB (даже не один из самых популярных конкурентов Discourse):

Кажется, что у NodeBB аналогично низкое количество тем. :thinking:

Ещё один момент: даже среди доступных тем не наблюдается большого разнообразия. Я ценю, что большинство из них придерживаются довольно «чистого» дизайна, и лично я точно не хочу, например, традиционный вид (как у SMF, vB, phpBB и т. д.), но не могу не задуматься, нет ли здесь фундаментального ограничения возможностей системы темизации. Если так, возможно, это не приоритет в процессе разработки, и я понимаю это, если спрос небольшой или задача сложная, но хотя бы знать об этом было бы полезно.

Так почему же такие различия? Discourse ведь довольно популярен, не так ли? Просто настройка тем не так важна большинству администраторов Discourse? Или они обычно более способны создавать свои собственные темы, поэтому рынок для этого невелик? И если да, то не является ли это ситуацией «курица и яйцо» (то есть отсутствие простых и доступных ресурсов для кастомизации отпугивает новых потенциальных администраторов, ищущих варианты форумов)?

Для ясности: я не утверждаю, что myBB или WordPress лучше, я определённо предпочитаю Discourse. Но мне бы хотелось, чтобы со временем кое-что здесь улучшилось, поэтому я поднимаю это как открытый вопрос и тему для возможного обсуждения. Это также перекликается с темой, к которой я приложил руку (и мне нужно вернуться к ней и продолжить обсуждение!) обсуждение некоторых вещей, которые платформа Circle, возможно, делает «правильно» (для определённой категории пользователей). Я продолжаю видеть, что «упрощённый» интерфейс может быть полезен для привлечения новых пользователей, и надеюсь, что хотя бы частично этого можно достичь с помощью системы тем.

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

Спасибо!

12 лайков

Привет, спасибо, что подняли этот вопрос. Я уже какое-то время активно об этом думаю.

Вы правы насчёт ограниченного разнообразия, но это не ограничение системы темизации. Мы создали множество совершенно разных кастомных тем для клиентов на хостинге, просто в сообществе с открытым исходным кодом, похоже, нет такого же спроса на них.

Мы это осознаём и обсуждали внутри компании. Наша команда дизайнеров активно работает над различными вариациями тем и компонентов тем для добавления в мастер настройки. Следите за новостями!

14 лайков

Отлично, спасибо, это очень обнадеживает! Мне действительно интересно узнать, является ли это, как я предположил, «проблемой курицы и яйца»: то есть появятся ли больше людей, чтобы использовать темы, когда их станет больше…

На самом деле это поднимает вопрос, на который вы тоже, возможно, сможете ответить: как вы измеряете «спрос на темы в сообществе с открытым исходным кодом» (или интерес в целом со стороны тех, кто не является клиентами)? И когда вы говорите «сообщество с открытым исходным кодом», имеете ли вы в виду любого, кто не использует хостинг от Discourse Official? Например, считаются ли те, кто использует Communiteq, частью этого сообщества?

5 лайков

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

Да, именно это я и имел в виду. Любого, кто не является нашим платным клиентом.

6 лайков

Кстати, есть ли у вас примеры этих тем, которыми вы можете поделиться? Мне бы очень хотелось увидеть больше того, что возможно.

2 лайка

Конечно. Это не все примеры, которые мы сделали, но они демонстрируют несколько различных возможностей.

https://forum.uipath.com/
https://forum.asana.com/
https://forums.babypips.com/
https://community.ring.com/
https://answers.netlify.com/
https://community.anker.com/
https://discuss.hashicorp.com/
https://discourse.aurelia.io/
https://forum.figma.com/categories
https://github.community/
https://community.nulab.com/
https://chatterbug.com/community/
https://community.greythr.com/
https://community.automationcloud.net/
https://forum.diffblue.com/
https://forums.woot.com/
https://swapd.co/
https://community.atlasobscura.com/
https://forum.bonsaimirai.com/
https://community.wirexapp.com/categories
https://discuss.codecademy.com/
https://discuss.circleci.com/
https://www.wer-weiss-was.de/

18 лайков

Просто перейдите на страницу клиентов — для этого она и предназначена: https://www.discourse.org/customers

3 лайка

Спасибо за подсказку. Однако многие из них довольно «ванильные», и на странице «Клиенты» ничего явно не говорит: «Мы создали эти совершенно уникальные кастомные темы для всех этих сайтов», — что именно я и искал. Другими словами, эта страница, что вполне понятно, больше о том, кто использует Discourse, а не о том, насколько уникален их подход или дизайн, или что команда Discourse специально выполняла для них работу по созданию тем. Честно говоря,我觉得 было бы неплохо добавить на эту страницу отдельную категорию или фильтр: «Клиенты, для которых мы делали кастомный дизайн/темы».

В любом случае, я понимаю, что эта информация доступна для тех, кто хочет её изучить и найти то, что их интересует, и я благодарен @HAWK за то, что он потратил время, чтобы указать на конкретные примеры, которые более точно соответствовали моему запросу.

6 лайков

Отлично! Похоже, у вас есть очень специфические потребности. Возможно, стоит нанять специалиста, который поможет вам удовлетворить их и ускорить процесс.

4 лайка

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

8 лайков

Вы видели более 150 записей по адресу Search results for '#theme' - Discourse Meta? Многие из них предлагают значительные изменения функциональности. По адресу Search results for '#theme-full' - Discourse Meta всего около 40 элементов, и некоторые из них действительно вносят довольно существенные изменения во внешний вид.

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

В основном, если вы точно знаете, что хотите, вы можете задать вопрос в канале Marketplace.

3 лайка

Не уверен, влияет ли это на количество тем или готовность других людей их создавать, но исходя из своего опыта, структура HTML-разметки и CSS-классов Discourse не очень хорошо спроектирована для удобной и эффективной темизации.

Если вы хотите вносить изменения в тему только с помощью CSS, то в большинстве случаев они будут тесно связаны с разметкой и классами форума (которыми тема не владеет, если вы не редактируете HTML), и простые правки часто требуют больше усилий, чем следовало бы. Например, из-за отсутствия единого селектора для них. (Так, линия, разделяющая посты в теме, на самом деле не является одной границей — она разбита между компонентом аватара и телом поста. Её нельзя просто изменить, так как нужно учитывать различные другие элементы, которые взаимодействуют с ней неочевидным образом.)

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

9 лайков

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

Изменение границы, похоже, не требует глобальной переработки, но нам пришлось бы затронуть довольно много CSS и HTML, чтобы этого добиться, потому что родительский контейнер для topic-avatar и topic-body не имеет правильной ширины для границы… А если мы изменим ширину родительского контейнера или добавим другой контейнер, это потребует ещё больше изменений, и эти изменения могут потребовать своих собственных правок… и внезапно вы перерабатываете весь контейнер сообщения. Затем, после внесения этих изменений, нам нужно сопровождать наших клиентов в процессе перехода и обновлять созданные нами темы… так что это может быть довольно трудоемкий процесс.

Хотя мне бы хотелось сделать что-то вроде этого и закончить:

.topic-post {
  border-top: 1px solid red;
}

…на это ушло бы много времени, и существующие темы сломались бы. И по сравнению с этим один дополнительный селектор не так уж сложен, как переработка разметки:

.topic-avatar,
.topic-body {
  border-top: 1px solid red;
}

Хотя, конечно, если вы начинаете многократно выполнять подобные действия, это может стать утомительным. Я каждый день работаю с темами Discourse, так что я это понимаю!

Тем не менее… мы определённо хотим обновить разметку списка тем и страницы темы в ближайшем будущем. Мы отказались от поддержки IE11 в прошлом году, поэтому можем структурировать элементы более просто, что позволит нам лучше использовать современные функции CSS-раскладки, такие как Flexbox и Grid. Это также упростит внесение более кардинальных изменений в макет.

Также мы стали чаще использовать пользовательские свойства CSS после отказа от IE11, и это может упростить стилизацию, наряду с более глубокими изменениями в основе. Вместо того чтобы стилизовать два отдельных элемента, мы можем сделать что-то вроде:

.topic-post {
  --border-color: red;
  .topic-avatar,
  .topic-body {
    border: 1px solid var(--border-color);
  }
}

а затем тема может сделать:

.topic-post {
 --border-color: green;
}

tl;dr: мы вас услышали! и мы думаем о том, как снизить эти барьеры!

24 лайка

Очень нравится
https://community.automationcloud.net/
и
https://forums.babypips.com/t/what-annoys-you-most-in-forex/70821/549

Отличная идея для вдохновения, когда я буду обновлять свой форум этим летом.

7 лайков

Ещё одно замечание: часто существуют договорные ограничения в отношении корпоративных клиентов, которые буквально запрещают нам обсуждать этих клиентов и их кастомизации с юридической точки зрения. Это неприятно, но что поделать? Нам нужно продолжать вести бизнес и выплачивать зарплату сотрудникам. Я очень серьёзно отношусь к этому: это моя обязанность — поддерживать работу Discourse, чтобы наша команда могла кормить свои семьи и иметь надёжный источник дохода. :woman_shrugging:

Хорошая новость в том, что эти масштабные кастомизации со временем постепенно попадают в открытый исходный код. Но на это требуется время.

12 лайков

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

Отлично! Рад слышать, что вы тоже видите в этом необходимость.

Да, я видел! Компоненты тем — одна из моих самых любимых особенностей Discourse, и я широко их использую. Однако базовая эстетика и «простота использования»/«чистота» системы остаются довольно похожими, несмотря на большинство из них.

Отлично, спасибо за эту точку зрения. Я не очень силен в CSS, certainly не настолько, чтобы с уверенностью утверждать, что архитектура Discourse (или любого инструмента) могла бы быть лучше, а не то, что это просто мое непонимание ограничивает возможности. Хорошо знать, что здесь есть пространство для улучшений.

Это действительно приятно слышать. Я понимаю сложность, связанную с переработкой системы, и то, как одно предлагаемое, на первый взгляд незначительное изменение, неизбежно ведет к множеству других. Рад, что, несмотря на трудности, внутри есть импульс для постепенного улучшения. И в качестве небольшого отступления: спасибо за всю вашу работу над темами и компонентами тем! Я часто пользуюсь вашими творениями. :slight_smile:

Спасибо за примеры. Тема BabyPips особенно впечатляет и интересна!

Действительно! Когда я спрашивал, есть ли примеры, которые вы «можете» показать, я подразумевал понимание этого факта, но понимаю, что это может быть неочевидно или не выражено явно.

Я полностью поддерживаю Discourse как компанию, которая зарабатывает деньги, и понимаю все сопутствующие этому аспекты, включая NDA, возможные соглашения об эксклюзивности для определенных кастомных функций и многое другое. Тот факт, что кастомизации постепенно попадают в открытый исходный код, свидетельствует о том, что вы делаете всё правильно, и я это ценю.


Спасибо всем за вклад! Теперь я лучше понимаю, почему вещи могут быть устроены именно так сейчас, и более оптимистично смотрю на то, что в будущем ситуация улучшится для тех, кто находится ближе к моему уровню навыков, сценарию использования и бюджету. В конечном итоге я хотел бы увидеть процветающую экосистему/сообщество/рынок сторонних тем и с радостью заплатил бы, например, 50 долларов за красивую кастомизированную тему, как это часто делаю я и многие другие в мире WordPress (и других CMS/форумных систем).

Я осознаю потенциальные проблемы такого подхода, а также наличие множества «мусорных» тем. Но после 15+ лет кастомизации готовых CMS, тем и плагинов и сравнения их с расценками на полную кастомную разработку аналогичных дизайнов и функций, я уверен, что для такого типа экосистемы есть ценное место. Я вижу её как промежуточное звено между полными коммерческими кастомными решениями, которые предлагает Discourse (где барьером является стоимость), и «полным» DIY-подходом с открытым исходным кодом (где барьерами являются навыки и время). По моему опыту работы с другими системами, работающими по схожему принципу, этот «средний путь» позволяет достигать хороших результатов в разумные сроки для тех, у кого более ограничены бюджеты, возможности или сроки (это, по сути, любой малый бизнес, индивидуальный предприниматель и т.д., с кем мне приходилось работать).

19 лайков

Спасибо, что так деликатно подняли этот вопрос! Я посмотрю, не смогу ли я отправить вам что-то маленькое в знак благодарности. Сообщение в личные сообщения уже летит :wink:

11 лайков

В большинстве случаев, если бы я брал за это 50 долларов, я бы просто сделал это бесплатно. :slight_smile:

5 лайков

Действительно, я думаю, что многие так делают, и это хорошо. Но суть, конечно, в том, что на маркетплейсе за эти 50 долларов могут заплатить 10, 50 или даже 100 человек, и тогда это приобретает более значимый смысл. В любом случае, на других платформах такая модель работает. Не то чтобы я предпочитал платить вместо бесплатного, но я также не ожидаю, что более глубокая и сложная работа будет выполняться без вознаграждения.

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

8 лайков

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

6 лайков