LINUX.ORG.RU
ФорумTalks

markdown-it - скоро в Discourse

 ,


1

1

https://meta.discourse.org/t/commonmark-testing-started-here/65121

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

Для Ъ: Discourse - детище Jeff Atwood, папика StackOverflow. На SO он видимо сделал все что мог, стало скучно, и решил написать форум, потому что все текущие - УГ (в чем я с ним полностью согласен). Так же Jeff Atwood пропедалировал создание CommonMark. Правда, тема стала слегка протухать, забуксовав на расширениях, но текущее состояние все равно на порядок лучше того что было раньше.

Не скажу, что мне в дискурсе нравится абсолютно все (слишком много в нем от SO местами). Но по части свежих идей он однозначно самый продвинутый.

★★★★★

Но по части свежих идей он однозначно самый продвинутый.

Перегруженный он сильно, как большинство «модных» сайтов.

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

Согласен, есть такое дело. Но я оцениваю не внешний вид, а подходы к организации информации.

Поэтому все продвинутые посоны пилят свои лисапеды и тырят друг у друга то что понравилось :).

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

Неужели круче ЛОРа?

Valeg ★★★
()

Это… нужно? Форум Void Linux на нём, а MD там никак не помешает.

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

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

Если тебе жабасрипт и нода не айс, то из современных ковырять лучше тут https://github.com/jgm/CommonMark/wiki/List-of-CommonMark-Implementations. На руби markdown-it кто-то уже портанул. Питонячий, хоть и не комонмарковский, вроде тоже не самый поганый. Я вообще евангелизмом маркдауна не страдаю, и как дела в других языках особо не отслеживаю. На жабаскрипте лучше markdown-it по гибкости точно нет.

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

Действительно странный выбор для выходца с SO.
Хотя конечно если ты в руководстве, то глубоко плевать на платформу, ведь не тебе с ней работать

ritsufag ★★★★★
()

NodeBB имхо поприличнее будет, хотя бы тем что поставить его можно по человечески а не только исключительно докер-контейнерами от автора

alpha ★★★★★
()

Discourse

бесконечно модная прокруткра вместо нормальных страниц

пролистал несколько раз вниз, вкладка браузера отъела 2ГБ и крешнулась

В помойку.

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

nodebb - рядовая поделка с рюшечками. Все ее «отличие» от кучи других форумов, что она написана на node.js. Но кроме авторов всем на это пофик. Я видел несколько сайтов, сваливших с nodebb на discourse, но не видел ни одного свашившего в обратном направлении.

PS. она тоже использует markdown-it.

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

Ну они на гребне волны, фигли. На гребнях всегда нужно мощное железо :) . Это неприятно, но не критично.

https://dev.rcopen.com/forum/f91/topic246721 тут тоже с прокруткой неудобно? Зачем юзеру страницы, не считая привычек?

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

А можно пару примеров, что конкретно делает discourse не рядовой поделкой?

Потому что кроме убогого процесса развертывания я там существенных отличий не вижу.

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

Форум - это способ организации информационных потоков. Мне сложно парой примеров описать всю картину, как я ее вижу.

Обрати внимание, как они перекрестные ссылки разворачивают (внутри + кто ответил на пост). Можно по месту смотреть связанную информацию, не сбивая фокус с поста. Выпилено много лишнего, что может отвлекать от чтения (при том что сам дизайн мне не очень). Подход со скролингом мне нравится. Счетчики у каждой ссылки. Игровая составляющая ~ как на SO.

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

То что ты описываешь про установку - юзеры никогда не увидят, им пофик, поэтому не имеет значения.

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

тут тоже с прокруткой неудобно?

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

http://wstaw.org/m/2017/07/06/Screenshot_20170706_065752.png

Зачем юзеру страницы, не считая привычек?

Чтобы без каких-либо проблем прочитать какую-либо не совсем актуальную информацию.

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

Обрати внимание, как они перекрестные ссылки разворачивают (внутри + кто ответил на пост).

Подветка ответов в NodeBB тоже разворачивается. Прокрутка неплохо сделана, счетчики и карма имеются.

Нет, конечно какая-то разница есть. Но имхо не так уж велика как разрыв между ними обоими и каким-нибудь phpbb.

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

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

И нафига при таком раскладе пагинация? Что она тебе даст? Теоретически, страниц в 20 раз меньше чем постов. Теоретически меньше запоминать, но на практике номера страниц все равно никто не помнит, а лента мотается колесиком очень быстро (по крайней мере у меня).

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

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

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

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

Зачем юзеру страницы, не считая привычек?

Чтобы быстро перейти к нужной информации? Например продолжить чтение.
Просто я понимаю что бесконечная прокрутка стала популярна из-за лент в соц. сетях, где информация быстро теряет актуальность, там она хорошо заходит, но не для резинового форума.
Вообще мне нравится подход вк в обсуждениях, где вместе с ней добавлен блок с пагинацией и можно быстро перескакивать по «страницам».

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

Чтобы быстро перейти к нужной информации?

Мимо. Либо ты точно знаешь, куда хочешь, и тогда можно перейти по номеру поста. Либо не знаешь, и тогда методом тыка, и пагинация не поможет. В смысле, ты-то можешь скакнуть по страницам, но потом опять надо будет мотать, чтобы понять где ты оказался (и не факт что поймешь). Дык если у мышки колесико, то обычно быстрее сразу промотать.

Ну и учитывай, что пагинацию не просто так выпилили, вместо нее у постов строгая нумерация внутри топика, и эти номера не меняются даже если что-то удалить. Плюс у каждого поста своя перманентная ссылка.

Например продолжить чтение.

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

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

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

Либо ты точно знаешь, куда хочешь, и тогда можно перейти по номеру поста

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

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

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

Точнее, нужна только в силу привычек, которые менять никто не любит.

Ну например как кейз возможность сразу «нырнуть» вглубь. Чисто психологически хочется иметь такую возможность.
Кстати я там пощелкал с мобилки и не увидел длинных обсуждений, т.е внутри треда тоже нет пагинации?

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

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

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

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

Ну например как кейз возможность сразу «нырнуть» вглубь. Чисто психологически хочется иметь такую возможность.

А ты детализируй свой кейз. Если тема большая, то номер страницы нужно ручками набирать, потому что все не влезут. Ну так можно и номер поста набрать. А на короткой теме быстрее будет промотать (если мотается быстро, а у меня вроде быстро). Ну или если ползунок - ему пофик что страницы что номера постов мотать

Вот это хороший костыль, если конечно он не в сторейдж пишется, а в бд.

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

Кстати я там пощелкал с мобилки и не увидел длинных обсуждений, т.е внутри треда тоже нет пагинации?

Здрасти приехали. А до этого ты не о постах говорил что ли? Если о списке тем, то там пагинация вообще нафик не уперлась. Они скачут постоянно. Темы ищутся через поиск, а на нужные юзер просто подписывается и пользуется подписками как закладками. В общем, этот момент обсуждать совсем не интересно, давай на содержимом темы (постах) остановимся, иначе слишком много перетирать.

Вот же ссылку на длиннный тред давал https://dev.rcopen.com/forum/f91/topic246721, специально чтобы заценили как оно без пагинации (она там больше для визуальной узнаваемости, чтобы не бомбило)

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

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

Зато оно применимо и на форумах с пагинацией.

А до этого ты не о постах говорил что ли? Если о списке тем, то там пагинация вообще нафик не уперлась. Они скачут постоянно.

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

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

то как бороться с жором памяти и оно же явно будет подтормаживать.

А не надо бороться. Всё уже побороли, чай не дебилы :) . В DOM висит хвост то ли из 200 то ли 500 постов. Остальное подрезается, с коррекцией позиции скрола. Будь проще - возьми да промотай, посмотри. По ссылке что я дал, у темы 9К постов.

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

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

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

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

А можно пару примеров, что конкретно делает discourse не рядовой поделкой?

- Первое место [тут и далее - среди всех форумных движков] на GitHub по числу коммитеров (579 коммитеров, второе место — phpBB с 155)
- Первое место на alternatives.to по числу лайков (76 против 69 у phpBB)
- Второе место по числу коммитов на GitHub: 23292 против 30350 у phpBB.

Это всё признаки не рядовой, а прямо незаурядной поделки :)

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

Github тоже на RoR

Там жирная связка RoR и Erlang. Но, главное, он стоит _там_ и голова о нём не болит :)

А вот когда базирующиеся на RoR сторонние проекты начинаешь ставить у себя (Gitlab, Redmine, Diaspora, Mastodon, ...) — то со временем всё проклянёшь :) Жирное, неповоротливое и регулярно ломающееся при обновлениях.

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

hoedown (современный форк sundown), pulldown-cmark (аналог hoedown, но на rust)

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

Что она тебе даст?

Как минимум не тормозящие страницы форума.

По твоей же ссылке: https://dev.rcopen.com/forum/f91/topic246721

Домотал до 150 постов — ужасные тормоза при прокрутке и два ядра из восьми забиты на 100% по нагрузке.

P.S. i7 3930K, 32GB RAM, SSD
P.S.S. Google Chrome 59.0.3071.115 (64-bit)

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

Github тоже на RoR, но пользоваться им почему-то приятно, а Дискурсом - нет.

Как минимум потому, что там нет бесконечных прокруток и мало свистоперделок. В отличие от того же GitLab'а, например, который тоже раздражает.

EXL ★★★★★
()

Есть пара оффтопиковых вопросов по Discourse, буду благодарен за ответ. А то есть форум на очень-очень древнем phpBB и хотелось бы заменить его на что-то более современное.

Как он вообще, взлетит скажем на дроплете DO с гигом памяти если у нас есть база на 16к постов, но минимум активности?

И ещё у нас есть mediawiki и mantis (который пока не хотелось бы менять), насколько сложно будет человеку который ничего не понимает в RoR прикрутить аутентификацию через форум? Или может есть какой-то более простой способ сделать отдельный сервис аутентификации который сможет использовать и discourse, и все остальное? Хотелось бы чтобы пароли были отдельно.

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

Там была очень кривая и не расширяемая имплементация

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

Слишком глобальное заключение из обычного бага.

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

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

Кому и кобыла невеста :)

...а кому и невеста - кобыла.

Всё зависит от твоих требований

Есть область данных с markdown текстом. Мне нужно получить html, при этом скорость предпочтительнее полной совместимости с стандартом.

https://github.com/jgm/CommonMark/wiki/List-of-CommonMark-Implementations

Благодарю за ссылку

Я вообще евангелизмом маркдауна не страдаю

Я тоже. В своё время считал его упоротым из-за дебильной организации списков. Однако если, к примеру, ВДРУГ приспичло прикрутить к текстовым формочкам форматирование текста - markdown имхо предпочтительнее всяких там BBCode.

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

Мне нужно получить html, при этом скорость предпочтительнее полной совместимости с стандартом.

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

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

Не смог воспроизвести :( . Хром немного более задумчивее FF на подкачке, если уперся в низ страницы, но других странностей не увидел. Домотал до 1000, разлогиненым, брат жыв.

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

Зачем юзеру страницы, не считая привычек?

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

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

С разморозкой. Уже давно ничего не тормозит в нормальных реализацийх, а для поисковиков есть canonical url и всякие noindex,follow.

Попробуй придумать что-то менее тривиальное из user experience.

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

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

Эту? https://github.com/jgm/cmark
Не знаешь как у неё с жиробасностью/быстродействием?

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

Да, ту самую. Нормально там всё. И даже время парсинга не особо зависит от разметки.

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

Зачем юзеру страницы, не считая привычек?

А закладки как делать? На ЛОР я, например, запоминаю, на какой странице закончил читать срач, и могу потом открыть его в любом другом браузере примерно там же. Книги читают до сих пор так же.

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

В чем конкретно у обсуждаемого сайта проблема с добавлением в закладки? Ты точно его смотрел?

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

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

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

Выстраивать абстрактные фантазии мне не интересно. Я могу предметно обсуждать конкретный сайт. Но это предполагает, что собеседник сначала хоть немного вникнет, о чем речь. Чтобы не предлагать в сотый раз «гениальные» решения для проблем, которых уже давно нет.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.