Базовый редактор Discourse

Да, я недавно использовал его для тестирования других плагинов. Если вы торопитесь, просто посмотрите видео, которое я снял, или установите его локально и поэкспериментируйте с кодом. Версию на основе tiptap, над которой я начал работать, я не открыл исходный код. Также я занимался исправлением системы черновиков. Мне кажется, что правила о количестве черновиков, которые может иметь пользователь, и о том, где они хранятся, кажутся произвольными. Поэтому пользователи могут создавать столько черновиков новых тем, сколько захотят.
Но, как я уже сказал, скорее всего, я не закончу это, если только мне не станет действительно, действительно скучно, ха-ха.
Если нет финансовой мотивации, мне просто не хватит интереса.

Я тоже об этом думал. Я работал над интеграцией discourse и Monero, чтобы продавать ранний доступ к git-репозиториям (также рассматривал возможность интеграции discourse с чем-то вроде Gitea или GitLab). Но я не уверен, есть ли действительно «толпа», которую можно вовлечь в «краудфандинг». Кажется, что люди, которые платят за Discourse, обычно имеют деловые отношения с компанией, стоящей за Discourse.

Однако Tiptap не является вполне сопоставимым примером, поскольку он, насколько мне известно, просто использует markdown-ярлыки для преобразования в HTML. Затем вы не можете редактировать уже существующее форматирование с помощью markdown (так как синтаксис не отображается). То есть можно двигаться только в одну сторону, но не в обратную. И для меня любой редактор WYSIWYG для Discourse, который не выводит результат в формате markdown, неприемлем. Это фундаментально нарушает базовую совместимость и привязывает вас к выбранному плагину редактора. Я полагаю, что если бы Tiptap мог выводить результат в markdown, такой подход был бы приемлемым.

Суть демонстрации Typora в качестве примера заключается в том, что они довольно элегантно гармонизируют WYSIWYG с markdown. Похоже, что для некоторых, например для @Jagster, было бы желательно сохранить существующее поведение и не «перепрыгивать» между предпросмотром и синтаксисом. Но я считаю, что подход Typora предпочтительнее и интуитивнее для многих других людей.

Это звучит захватывающе! Я определенно был бы заинтересован в этом.

Согласен! Я думаю/надеюсь, что это будет улучшено в ядре в будущем.

Хотя я не думаю, что вы абсолютно правы, утверждая, что «единственные» люди, платящие за Discourse, имеют деловые отношения с CDCK (Компания Communiteq, вероятно, возразила бы на это :grinning_face_with_smiling_eyes:), я согласен, что для проекта с открытым исходным кодом у Discourse сообщество несколько лишено «духа сообщества» или «открытости» или чего-то подобного. Я не могу точно сформулировать, но здесь вещи определенно работают иначе, чем во многих других проектах с открытым исходным кодом, даже управляемых коммерческими организациями. Я надеюсь, что однажды станут возможными настоящие усилия по краудфандингу и создание плагинов, управляемых сообществом (или даже изменения в ядре). Особенно я хотел бы увидеть это в разработке тем для более сложных макетов и изменений, как я уже упоминал ранее: Относительное отсутствие тем — что-то упускаю?

4 лайка

Я уже объяснял свою позицию по этому вопросу. Markdown — это костыль, и нам нужно от него избавиться.

Это не так. Если кто-то действительно хочет преобразовать HTML обратно в Markdown, он может это сделать и вернуться к старой версии. Посмотрите скрипты миграции и напишите свои собственные. Это не проблема.

Справедливое замечание.

Главная проблема в том, что всё, что не написано на React, на данный момент является уже потраченными средствами. Любой, кто серьёзно настроен на карьеру во фронтенд-разработке, или даже тот, кто просто хочет сделать что-то значимое, будет избегать всего, что не связано с React.
Поэтому необходим финансовый стимул, который мог бы противостоять этому. Опыт разработки также оставляет желать лучшего. Работать с этой кодовой базой не особенно приятно. Единственная причина, по которой я продолжаю заниматься этим, когда мне действительно скучно, — это то, что я уже потратил на это столько времени и привык к этому. :sweat_smile: :crazy_face: :slight_smile:

3 лайка

Краудфандинг, на мой взгляд, будет работать проще для людей, которые не являются крупными бизнесами, использующими Discourse. Существует несколько плагинов и компонентов тем, созданных сообществом.

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

Всё дело в том, чтобы понять, как это применить. Например, используя такие инструменты, как Donate, Patreon и т.д.

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

3 лайка

Я не согласен. Я использую Markdown повсюду и рад, что он существует и широко поддерживается. :man_shrugging:

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

3 лайка

Не лучше ли было бы сформулировать это так: «Тому, кто хочет иметь максимум возможностей для трудоустройства во фронтенде, стоит изучить React»?

Я использую фреймворки, отличные от React, в продакшене уже более десяти лет: от небольших проектов до крупных, от новых разработок до унаследованных систем. React я пробовал лишь в нескольких прототипах и учебных проектах, чтобы понять, как он работает. В моей текущей компании работают отличные JavaScript-разработчики, независимо от их опыта работы с конкретным фреймворком.

3 лайка

Это может показаться крайне не по теме, но заслуживает обсуждения где-нибудь.

Я считаю, что независимо от немедленной очевидной рыночной стоимости, полезно изучать различные языки и фреймворки, если появляется такая возможность, потому что всегда существует какой-то общеприменимый подход к обучению. Кроме того, это может стать воротами для косвенного изучения новых вещей. Недавно я выучил Go, чтобы реализовать проект на совершенно другой платформе, и это напомнило мне о преимуществах простоты и скорости. Я также многому научился в создании качественных API. Если бы я не приложил усилий для изучения Go, у меня не было бы такого опыта.

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

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

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

Основная проблема, которую я здесь вижу, — это конфликт между открытым исходным кодом и финансированием. CDCK сами доказали, что создание устойчивого бизнеса вокруг открытого исходного кода достижимо. Мы должны стать довольно изощренными, чтобы это приносило доход и ценность.

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

10 лайков

Дело в том, что если кто-то только начинает или находится на раннем этапе карьеры, он будет изучать и сосредотачиваться на React. Фокусировка на технологии — это как ставка, и делать ставку на карьеру в фронтенде на что-либо, кроме React на данный момент, — плохой выбор. Единственная легитимная альтернатива — возможно, Vue, но уж точно не Ember.
Я бы сказал, что число специалистов, чья карьера сосредоточена на Ember, вероятно, достигло пика уже довольно давно.

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

Вот что я имею в виду под опытом разработчика.

Это хороший момент. Discourse — это в основном продукт: саморазмещаемый форум сообщества/поддержки для слегка «ботанической» аудитории. Он никогда не станет чем-то большим, потому что именно оттуда поступает его финансирование. Поэтому большинство решений будут приниматься с целью угодить этой аудитории.
Чтобы вернуться к теме. Замена редактора Markdown означает, что это программное обеспечение станет менее «ботаническим». То есть это означает отход от аудитории, на которую оно ориентировано.
Невыгодно выходить из этого локального минимума.

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

4 лайка

Всего лишь моё личное мнение:

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

Мой вывод: если даже группа любителей марихуаны смогла освоить Markdown, то любой справится. :wink:

8 лайков

В Германии насчитывается 3,5 миллиона курильщиков каннабиса. 84% всех немцев поддерживают легализацию. Поэтому я считаю, что у вашего форума есть огромный потенциал для роста. Текущая и потенциальная база пользователей отличаются на несколько порядков. Недостаточно стремиться к этой цели, внося лишь небольшие улучшения или изменения.

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

3 лайка

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

6 лайков

Да, это абсолютно отражает некоторые мои предыдущие мысли об «эхо-камере» как самой Meta, так и её существующих платящих клиентов. Конечно, важно радовать текущих клиентов, но очевидно, что существует гораздо более широкий рынок «платформ для сообществ и обсуждений», который обслуживается множеством других игроков. Некоторые из них определённо делают то, что помогает им выигрывать сделки у Discourse. Одним из таких факторов может быть WYSIWYG, но это лишь часть более широкой проблемы, на мой взгляд. Ещё один аспект — общий дизайн и темы оформления, о которых я уже упоминал выше, но стоит повторить в данном отдельном контексте: Относительное отсутствие тем — не упустил ли я что-то?

3 лайка

Очень верное замечание. Это лишь верхушка айсберга. Есть множество вещей, которые можно улучшить. Например, своеобразные правила, ограничивающие количество черновиков, которые вы можете иметь. Сначала я думал, что это просто ошибка, но на самом деле это сделано намеренно.
Я также пытаюсь решить эту проблему.

5 лайков

Здравствуйте, дорогой разработчик!

Вы писали в 07.2020:

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

Привет, Spirobel,

Проверь свои личные сообщения в WGMI.

Просто убеждаюсь, что ты получил сообщение. Спасибо!

3 лайка

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

Не могли бы вы подробнее рассказать об этом? Возможно, мне это понадобится, поэтому я очень заинтересован в том, что вы скажете. Сейчас вы имеете моё полное внимание… :eyes:

Вы не одиноки. Посмотрите эту тему.

6 лайков

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

11 лайков

Если это решит проблемы существующего редактора, я всё равно буду рад. :grin:

4 лайка

Привет @spirobel,

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

Вы когда-нибудь рассматривали его?

Спасибо!

7 лайков

Да, я уже внимательно изучил и планирую использовать его. Они даже интегрировали Excalidraw в редактор. Это потрясающе. Я присоединился к их каналу в Discord некоторое время назад, чтобы обсудить проблему, связанную с загрузкой изображений. В настоящее время их пример внедрения Excalidraw встраивает изображения в формате SVG, что представляет угрозу безопасности и требует изменений. Поэтому есть несколько мелких деталей, которые нужно доработать.
Но по сравнению с CKEditor или TipTap его будет намного проще использовать. Также хочу кратко обновить информацию по этой теме в целом:
Как уже говорилось ранее, модификация фронтенда Discourse в случае чего-то столь масштабного, как это, — не лучшая идея. Поэтому гораздо правильнее реализовать этот функционал как дополнение к традиционному интерфейсу, вместо того чтобы пытаться заменить его. Знания, полученные в ходе этой работы, будут использованы здесь:

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

6 лайков