↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Как вы наверняка помните, bnw умеет в три разных синтаксиса для сообщений - markdown, moinmoin и plaintext. Проблема в том, что сейчас эти форматы реализуются на клиенте и работают криво и неконсистентно. Например meow считает все сообщения маркдауном, жаббер-морда не умеет в форматирование, старый android-клиент (мой) не умеет в форматирование, новый android-клиент юзал пререндеренный html от сервера, но автор его похоже подзабросил. Я уже полгода с перерывами по паре месяцев иногда немножко попиливаю эксперименты с форматированием, каким бы хотел его видеть. План таков: 1. Сообщение парсится один единственный раз - на сервере, при создании. После этого в бд хранится и отдается клиентов промежуточная форма. 2. Клиенты получают промежуточную форму и превращают её в HTML или что-то своё (XHTML-IM, телегу, андроидовские спаны). Таким образом клиентам не нужно уметь во все три форматирования, нужно уметь только в промежуточную форму. Пока предполагается, что промежуточная форма это набор вертикальных блоков (http://q.blasux.ru/formatting-block-types.png): * параграф - набор кусков текста с аттрибутами: жирный, курсив, зачеркнутый, подчеркнутый, ссылка, инлайн-блок-кода. * заголовок - то же самое что параграф, но еще с размером заголовка * список (с цифрами или с буллетами) - каждый элемент списка - параграф * блок кода - просто прямоугольник преформатированного кода с раскраской * блочная цитата - единственный блок, в который можно вкладывать все другие блоки * блок мультимедии (это то, куда переедут превью картинок) Предлагаю обсудить как вам будет не хватать выразительности такой схемы. Обращу внимание на то, что чем она проще - тем больше шанс что во все клиенты будет впилена полная поддержка. Маркдаун с цитатами в списках в цитатах в таблицах я просто ебал.
Рекомендовали: @o01eg @ninesigns @voker57 @goren
#WUB368 / @stiletto / 23 дня назад

А в каком формате будет промежуточная форма?
#WUB368/LIM / @o01eg / 23 дня назад
@o01eg В API оно будет торчать как JSON: { ...: [ { "heading": { "level": 1, "contents": [{"value": "ояебу!"}]}}, { "paragraph": { "contents": [ {"value": "суп чят, "}, {"value": "смотри какая хуйня", "link": "http://example.com"}, {"value": " получилась", "bold": true} ] ] }
#WUB368/4XH / @stiletto --> #WUB368/LIM / 23 дня назад
Ты можешь заткнуться?
#WUB368/TE6 / @komar / 23 дня назад
@komar нет, съеби
#WUB368/Z39 / @stiletto --> #WUB368/TE6 / 23 дня назад
@stiletto Фантастика! Кто-то на практике реализовал мой пример «почему языки представления данных нельзя использовать для разметки»! http://komar.bitcheese.net/ru/%D0%BF%D0%BB%D0%BE%D1%85-%D0%BB%D0%B8-xml#why-you-wont-use-sexprs-as-markup-language
#WUB368/WT9 / @komar --> #WUB368/4XH / 23 дня назад
@komar Для тупых поясняю еще раз: это не синтаксис для людей, это представление между конплюктором и конплюктором
#WUB368/2EP / @stiletto --> #WUB368/WT9 / 23 дня назад
@stiletto Специально для тупых поясняю: любой язык разметки предназначен для конплюктеров.
#WUB368/3BG / @komar --> #WUB368/2EP / 23 дня назад
@komar Тогда в чём твоя претензия?
#WUB368/IEN / @stiletto --> #WUB368/3BG / 23 дня назад
Предусмотри ещё Mention и прочие тэги https://www.w3.org/TR/activitystreams-vocabulary/#ex197-jsonld
#WUB368/E6O / @o01eg / 23 дня назад
@stiletto Какие претензии? Ебанатам я всегда радуюсь.
#WUB368/2Q6 / @komar --> #WUB368/IEN / 23 дня назад
@o01eg Не, это про сам текст поста, метаданные я пока не затрагиваю
#WUB368/ON9 / @stiletto --> #WUB368/E6O / 23 дня назад
#WUB368/HII / @stiletto --> #WUB368/2Q6 / 23 дня назад
@stiletto И где здесь претензии? Радуюсь же.
#WUB368/NLR / @komar --> #WUB368/HII / 23 дня назад
@stiletto Метаданные это не часть поста?
#WUB368/ODP / @o01eg --> #WUB368/ON9 / 23 дня назад
@o01eg не часть текста жи
#WUB368/VLZ / @stiletto --> #WUB368/ODP / 23 дня назад
@komar Лан, пасяб, пойду тоже за тебя порадуюсь
#WUB368/WMG / @stiletto --> #WUB368/NLR / 23 дня назад
@stiletto Радуй меня почаще!
#WUB368/JGY / @komar --> #WUB368/WMG / 23 дня назад
это всё пидарклюксис на тебя смуту навёл? (где он, кстати?) скажи путь пуллреквест пилит, нолега нахуй, а сам кофий пей
#WUB368/854 / @anonymous / 23 дня назад
@komar Радуй себя сам! :3
#WUB368/KR5 / @stiletto --> #WUB368/JGY / 23 дня назад
@anonymous Нет, это часть бмв-2, на который у меня не хватает времени уже года два
#WUB368/8JL / @stiletto --> #WUB368/854 / 23 дня назад
кавычки лучше почини на bnw.im, кампуктерный саентист
#WUB368/N66 / @voker57 / 23 дня назад
@voker57 Чинить кавычки это лень и для сантехников! НЕ ВИДИШЬ У МЕНЯ ТУТ АРХИТЕКТУРКА
#WUB368/OV4 / @stiletto --> #WUB368/N66 / 23 дня назад
@stiletto Ебать, в штиле проснулся криворукий арц.
#WUB368/LP5 / @komar --> #WUB368/8JL / 23 дня назад
Хочу шоб все мои сообщения интерпретировались как плеинтекст.
#WUB368/4XT / @l29ah / 23 дня назад
@l29ah Это и сейчас есть. Переключи форматирование.
#WUB368/645 / @stiletto --> #WUB368/4XT / 23 дня назад
@stiletto set -f plaintext
#WUB368/5R5 / @stiletto --> #WUB368/645 / 23 дня назад
@stiletto Только вот meow на это забьёт
#WUB368/GZV / @stiletto --> #WUB368/645 / 23 дня назад
@stiletto Кавычки всё равно шкварятся.
#WUB368/LZL / @l29ah --> #WUB368/5R5 / 23 дня назад
@l29ah ну-ка тест: '
#WUB368/R1P / @stiletto --> #WUB368/LZL / 23 дня назад
@stiletto давай все архитектурно делать чтобы нихуя не работало
#WUB368/K3W / @komar --> #WUB368/GZV / 23 дня назад
@l29ah о, забавно. Это немного сужает круг поиска места где ебашит
#WUB368/MRT / @stiletto --> #WUB368/LZL / 23 дня назад
@komar Всегда так делаю
#WUB368/ZOD / @stiletto --> #WUB368/K3W / 23 дня назад
Штиля, а штиля, а про какую тулзень для рисования схемок ты услышал на хабре, что так спровоцировало тебя страдать хуйней?
#WUB368/POD / @komar / 23 дня назад
@komar Не читаю хабр, сорян. "Тулзень" я юзаю лет пятнадцать, она называется yEd.
#WUB368/4UD / @stiletto --> #WUB368/POD / 23 дня назад
@stiletto Ох как хуево.
#WUB368/LRU / @komar --> #WUB368/4UD / 23 дня назад
@komar >язык для конплюктеров. ты можешь помайнить?
#WUB368/SW8 / @anonymous --> #WUB368/3BG / 23 дня назад
@anonymous <strong>нет</strong>
#WUB368/ILE / @komar --> #WUB368/SW8 / 23 дня назад
@komar >Выглядит ужасно. Все это, конечно, субъективно, но я думаю, что в этом примере вы не будете со мной спорить. не буду, просто пошлю тебя сосать хуй главного уёб-девелопера тима.
#WUB368/N63 / @anonymous --> #WUB368/WT9 / 23 дня назад
@stiletto пиз дуль
#WUB368/TQE / @plzno --> #WUB368/4XH / 23 дня назад
@plzno plz no
#WUB368/CAF / @l29ah --> #WUB368/TQE / 23 дня назад
Да все просто потому что пидорас ты и хуесос ты, вот и не умеет поэтому у тебя ничего.
#WUB368/7TG / @moskvano / 23 дня назад
Я конечно не солюшн архитект, но что мешает парсить сразу в HTML, хранить его на сервере и отдавать его клиентам? А уж там кто не умеет его показывать или хочет в что-то своё заворачивать — пусть или перепарсит, или просто скипает форматирование.
#WUB368/ND4 / @anonymous / 23 дня назад
@anonymous сейчас так сделано. беда в том, что в такой html начинают протекать вебопроблемушки и остальным становится неудобно его парсить. представь, например, что блок с медиа это какая-нибудь ебаная карусель. альтернатива - изобрести для таких вещей своих тегов, но тогда парсить придется всем и это не будет серьезно отличаться от произвольного sgml/xml - для дерева из жсона по крайней мере отдельный парсер прикручивать не надо.
#WUB368/UHP / @stiletto --> #WUB368/ND4 / 23 дня назад
@stiletto пацаны, ЭЙЧТИЭМЭЛ НЕУДОБНО ПАРСИТЬ ЩЯ ШТИЛЬ ПРИДУМАЕТ КАК УДОБНО
#WUB368/UI8 / @komar --> #WUB368/UHP / 22 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.