Разметка постов
Я сейчас пишу все свои посты (и, соответственно, и вы все комментарии здесь) с использованием Markdown’а. Он достаточно прост для написания, несложен для чтения (в отличии от требующих значительно большего количества букв HTML или, OMG, bbcode ;-), но у него есть одна маленькая загвоздка - он требует постоянного переключения на английский язык для написания практически любого элемента. Кроме того, выделение кода отступом в 4 пробела - это тоже порядочная проблема - в коде длиной более двух строк в браузере это превращается в мучение (я немного решил проблему использованием внешнего редактора, но всё равно хотелось бы какой-то простоты, что ли?).
И вот у меня давненько бродят мысли про разметку, которая проще будет относиться к русской раскладке (использовать что-то типа двойных круглых скобок для ссылок, а не квадратных) и вообще быть более дружественным к таким пользователям, как я. А не как “он”. :D
Одно только останавливает - и маркдаун, при всей своей популярности, не слишком распространён в нетехнической среде, а уж мой велосипед… Получается просто почкование сущностей и дополнительная неразбериха… Нужно ли оно? :-(

Comments: 36 Subscribe (already: 0) Comment post
Для авторов оно может быть и надо. А для комментирующих - вряд ли, я думаю.
Что именно? Удобство набора без переключений клавиатуры? :-) Так а если ты хочешь закомментить с каким-то кодом, очень удобно расставлять по 4 пробела? :)
4 пробела - это ваще дикость какая-то =)
И не говори. :-( Хорошо бы, как у Трака в wiki -
{{{ }}}.Знаешь, я после использования тучи разных вики-синтаксисов, ббкода и маркдауна пришел к выводу, что лучший вариант — это простой HTML (если редактировать даем не криворуким), просто потому что не нужно учить новый синтаксис и он распространен. В том же маркдауне мне многое нравится, но его убогий синтаксис ссылок сводит все на нет. А для постов — так вообще сложно, например, как ты в маркдауне отцентруешь картинку в контенте или заставишь текст обтекать ее?
Писать комментарии даём всем, не так ли? :-)
С другой стороны, он мне нравится в общем, а любой элемент синтаксиса по отдельности (кроме полужирного, пришедшего ещё из емейлов) - довольно убогий. Хотя альтернативы мне нравятся ещё меньше.
Ну… предполагаемый способ решения - или упасть до чистого HTML, или написать расширение. :-) Но я не часто иллюстрирую текст, по крайней мере пока. :-)
У Ильи Бирмана в комментариях используется синтаксис WackoWiki, «совместимый» с русской раскладкой.
Хм. А вот это интересная идея. Надо оценить его…
Не помню — писал ли я тебе об этом в комментарии или в jabber, но точно помню, что писал.
PS: вот сейчас хотел было поискать по блогу, и обломался
Нашел. Таки в jabber:
К стати сам сайт ваки не работаить, на сколько я понима, при
UPD: при edit’е поста нет preview %)
Таки да… Я и сейчас посмотрел - не уверен остался очень. :-)
И не исчезает кнопка
reply. Будет починено. :-)Сёрч ещё не сделан. Времени требует, которого требуют и некоторые другие вещи тоже. :-)
Лучшее что видел - ReSructuredText. Идеально для статей с программным кодом, в т.ч. и Питон, и xml-подобный синтаксис. И с изображениями тоже вроде все удобно. Без тэгов, простой и интуитивный. Никаких переключений раскладок. Что еще нужно для полного счастья ? …
Бэктики для ссылок? Ну да и у него в общем синтаксис… Но как минимум крупный недостаток - это бэктики (их вообще не так просто увидеть в некоторых шрифтах) и невозможность поставить номер для ссылки, чтоб потом позже его указать - только полный текст (а если я его поменял - идти и внизу менять, весело). Инлайновые ссылки тоже отсутствуют.
В общем, похоже это не то… :(
http://npj.ru/node/chastyevoprosy/zapisizhurnala/wikisintaksis
По моему скромному мнению, крайне интуитивно…
C npj.ru какие-то траблы, похоже:
Я думаю, велосипед не нужен.
Не знаю, как тебе пишется в markdown, а я пришел в итоге к выводу, что переключаю раскладку я и без него достаточно много, поэтому принципиальной разницы нет.
А вот для комментаторов, на самом деле, единственное нормальное решение — это тулбар с кнопками. Ни один из языков не распространен настолько сильно, чтобы признать его стандартом. Поэтому большинство комментаторов всегда будут не знать, как тут это делается. А кнопочки достаточно очевидны. Причем, я не говорю о WYSIWYG, кнопочки могут буквально расставлять
*...*вокруг слов и смещать блоки кода на 4 пробела.Я по большей части думаю так же, но уж больно… задолбало. :-)
Ну… Когда я набираю текст, а в нём встречаются английские слова - раскладку, конечно, приходится переключать. Но для меня оно как-то легко получается, переключать раскладку на пробеле (в смысле, перед ним или после него :). А вот поставить квадратные скобки - напрягает. Я уже и добавлял их в раскладку через C-A-х и C-A-ъ (это в винде, там с MSKLC попроще такое сделать), и пытался их ставить после набора - этот вариант вышел ещё хуже. Вообще, логичный способ - ставить сначала скобки, а потом уже в них писать текст - сбивает вообще с толку меня. :-)
В общем, я только что подумал, что просто надо пользоваться Емаксом. Нажал C-i, этот текст открылся в Емаксе - и отлично, можно набирать. Правда, маркдауновский режим ещё требует доработки, но это мелочи, там как раз такое проще сделать. :-)
Кстати да, я уже начинаю об этом подумывать. Надо только найти реализацию этих кнопочек, работающих побыстрее, и заточить под маркдаун. Или, конечно, написать просто - но я для этого слишком слабо знаю джаваскрипт. :-(
markdown - это гиковое решение, про которое народ слыхом не слыхивал. Если рассматривать byteflow, как приложение для всех, то лучшим вариантом были бы кнопочки, которые вставляют bbcode :-)
Ещё можно дать возможность комментирующему выбирать синтаксис разметки, используя выпадающее меню и запоминать этот выбор автоматически в кукисах или даже в профиле пользователя.
А ещё было б круто реализовать живой предпросмотр на JS - т.е. печатаешь, например, bbcode, а внизу сразу он рендерится. Я, кстати, где-то видел такое для markdown, ну и для bbcode будет сделать не слишком сложно.
Я лучше буду использовать кнопкочки, расставляющие маркдаун. BBcode - это паршивая пародия на HTML, тогда уж лучше использовать ограниченный синтаксис HTML. :-)
Да, нужно. Будем сделать. :-)
Хехе, где-то я такое уже видел… :-D Моя точка зрения заключается в том, что при посылании на сервер эта штука рендерится так же, как и просто при комментировании. И не надо тогда синхронизировать JS и серверную версии. :-)
На Ярушке есть живой предпросмотр. Неплохая штука.
У каких-то маньяков программных тоже… %)
Удивился, прочитав ваш пост. Потому что двойные скобки я уже реализовал, но не для ссылок. Не знаю будет ли вам интересно увидеть как я это сделал, так что опишу вкратце свой extended python-markdown
В блогах обычно нужно позволять пользователям не так много возможностей (в моем и подавно). Но все-таки “гиковского” маркдауна не хватает, потому что нет возможности сделать эпиграф, или выровнять текст по центру, или указать будет ли у параграфа отступ первой строки.
В python-markdown внутри параграфа (ссылки, картинки, …) можно написать {@att=val}, это уже давно так можно. Но пользователя, конечно, очень неприлично просить написать {@style=text-align:center;}, поэтому я поступил следующим образом. Создал препроцессор, который будет заменять некоторые метки на эти конструкции.
Метками стали
((слева)),((справа)),((эпиграф)),((без отступа))и так далее. Понятное дело, что кому-то захочется сделать эпиграф без отступа первой строки. Тогда можно написатьТекст эпиграфа ((без отступа))((эпиграф))и получится<p class='noident epigraph'>Текст эпиграфа</p>.Но такой “велосипед” недостаточно хорош без кнопочек над текстовой формой, которые вставляют эти метки. Получается bbcode без
[и].Потестировать эту штуку можно у меня на сайте (возможно большое количество ошибок, так как тестировались эти разметка и предпросмотр пока только мною и несколькими пользователями, далекими от IT).
Ну я по странному стечению обстоятельств его и использую. :-)
Я тут вдруг понял, что жутко хочу отключить {@att=val} здесь. Пошёл читать доки. :-)
Угу. Но я собственно никак не напрягаюсь по поводу отсутствия эпиграфов и прочих штук - я сам этим делом сейчас не пользуюсь и в ближайшие дни пользоваться не начну. А вот
[]()ссылки меня немножко… раздражают.P.S.Спасибо за демонстрацию, кстати. :-)
В нативном перл-маркдауне так бы ({@att=val}) не получилось. Но эти штуки можно резать тем же препроцессором, так что это катастрофа, но не ужасная :-)
Хммм… А есть готовое решение, куда что написать, что оно перестало работать? :-) А то лень читать документацию. Хотя через время, конечно, пойду и сделаю это. :-)
Если хотите, я пришлю вам готовое решение, или запостю тут :-)
Хочю, piranha at piranha.org.ua :-) Спасибо заранее. :-)
Или можно и тут, не слишком большая разница.
Вот решение (наверняка не самое правильное, но рабочее). Регвыр, конечно мог быть и более точным (например,
\{(@[a-zA-z]+)=(.+)\}), но это ведь дело вкуса, да? :-)Теперь BadMarkdown — ваша маркдаун-функция, которая преобразовывает текст. Класс и функция обычно по логике в разных файлах находятся, но это уже совсем другая история :-)
Я предпочитаю писать черновики в markdown, а чистовики в html. Т.е. пока пишешь сам текст, разметка чисто условная и достаточно markdown. Потом получаю html, перечитываю, правлю ошибки уже в html.
А комментарии вполне можно писать в markdown, или в html, или в wiki-синтаксисе ;) Мне больше нравится simplified html. Банально - если комментирующие не знают html, то получится не сильно страшно, а если знают - то получится как надо.
P.S.У меня создалось впечатление, что ниша wiki/markdown/rest-синтаксисов - документация. В форумах традиционно используется bb, а в блогах - simplified html.
Однако… Не знаю, что сказать. :-) Типа, не доверяешь злобному маркдауну? :)
А с маркдауном ситуация сильно отличается? Заодно и комменты можно ставить, как в мыле - использованием
>. :-)Надо это менять. Точно-точно.
в маркдауне нельзя указать атрибуты HTML элементов, к примеру
Это читал?
Ку? Это не фича самого маркдауна, да и то — только для параграфа.
Это фича самого python-markdown и не только для параграфа.
точно, надо и самому так делать
Comment form for «Разметка постов»