Комментарии 40
Да, наверно, мы правы, но у того, кто так говорит, есть то, чего нет у нас. Нормальная жизнь.
Спорно. Именование монитора - компьютером, операционной системы - виндой, а транспилятора - компилятором просто показывает неграмотность человека в вопросе.
Вы деликатно так намекаете, чтобы вернули старый редактор?
Я новый так и не принял, решил что больше не буду писать, так как пользоваться этим невозможно.
Это перевод
Встроенный редактор похерил ни одну мою статью. Хотя это частое явление, что центральные площадки будь то Habr, или *gram не смотря на огромное количество ресурсов обладают самым всратым и кривым UI для создания этого самого контента платформы. Как бы, чем популярнее место, чем всё херовее сделано. И плевать, что задача там из разряда на пару часов работы среднего fullstack, администрации хабра просто похуй
Они лучше 4 раза добавят и удалят реакции и ИИ фичи ко всем кодовым блокам
Это перевод
Я вижу, но может быть посылом от компании. Как вот такое, например «Хабр, не закрывайте старый редактор!» Как мы хакнули систему, ускорив верстку статей в несколько раз
Я согласен с замечаниями, однако, даже если есть неоднозначные вариации рендера, это все лишь разметка для информации. В этом случае потери будут минимальные даже в случае кривого рендера (в отличие от программы написанной на языке программирования). Все остальное добить напильником HTML вставками.
Там пытаются еще Typst и прочие, но ничего более распространенного, чем MD и простого пока не завезли...
На Хабре была недавно статья, призывающая бросать MD и переходить на HTML, который лучше стандартизирован, а для AI, мол, вообще разницы нет.
Claude Code: почему HTML лучше Markdown / Хабр
Я категорически с этим не согласен. Лучше MD для ведения заметок, большая часть которых набивается руками, пока ничего не придумано. html тяжел в написании, в нем легко допустить ошибку вложений тегов, особенно со инлайновыми стилями, а diff в git - вообще кошмар (автор сам говорит о "шумности" html/css-диффов).
Собственно идея-то md как раз и была чтобы быть простым и минимальным, но автор почему-то решил, что им видите ли хочется стили, кроссреференс с автосносками и автооглавлениями, чуть ли не колонтитулы с записками на полях и ещё миллион пакетов чтобы рендерить произвольные flash игры посредством LateХ и всё это не выходя из md. То бишь у автора очень странное представление о минимальности.
Автор в середине текста сам же проговорился что он эдакий анти-минималист и обмазан всеми видами аддончиков-расширений. Конечно у него начинается непоймичто вместо "тут список, тут простая таблица, тут код, тут картинка."
Но от этого его претензии ещё менее понятны, пытается от отвёртки добиваться функциональности микроскопа-видеопроигрывателем с перформатором.
Это проклятие любого популярного инструмента - люди приходят за простотой, а потом начинают требовать фичи из энтерпрайзного ворда..
Для html хотя-бы есть встроенный в браузеры editable mode. Но html перегружен всяким разным, и у браузеров нет никаких средств управления редактированием. Например, при редактировании браузер может навставлять тегов span или div, да еще со встроенным style. То есть нет средства ограничения используемых тегов, нет способа редактировать именно разметку, а не форматирование. Нет способов управлять поведением редактора в сложных случаях. Вероятно, можно обвешаться javascript-обработчиками на каждое событие и вычищать все это, но... оно архитектурно криво.
У нас нет легковесного wysiwyg-редактора для легковесного же языка разметки (неважно markdown или другого). Генерация html это костыли. А то что в markdown можно встраивать html это вообще дыра.
У нас нет легковесного wysiwyg-редактора для легковесного же языка разметки (неважно markdown или другого).
Да как это? В гугле забиваем "wysiwyg editor markdown" и наслаждаемся. Многие на TS/JS, но мелькали и на rust/qt.
Те которые на TS/JS точно основаны на html editable mode. Которые на Rust/Qt скорее всего тоже имеют в основе Хром с обвязкой (а с тех пор как QWebKit заменили на QWebEngine, обвязка там тоже только на JS). А я имею в виду чистый редактор, написанный с нуля и использующий свой движок рендеринга и редактирования.
Визуальный редактор и легковесность это в принципе взаимоисключающие вещи. Как только ты делаешь визивиг, под капотом сразу вырастает монстр для обработки краевых случаев
Он должен справляться с одной простой задачей: получать файл Markdown и выводить его в виде файла HTML.
Печально, что так думают. Я, например, просто пишу документацию, и я ненавижу WYSIWYG. И Markdown подошёл мне идеально, потому что самому себе выделять места в тексте при помощи <b></b> немного перебор. Кстати, долго искал, на что бы перелезть с Notepad++, который умеет отображать код .md-файлов в соответствии с синтаксисом (This is **bold** text он показывает как This is **bold** text), но с рядом нюансов (он, например, не отличает * в начале строки от *italic*, так что списки приходится формировать строго через -). И так и не нашёл ничего настолько же быстрого, так что Notepad++ ОК.
Когда-нибудь, возможно, я отрендерю всю документацию в HTML и выложу куда-нибудь, но до сих пор мне это ни разу не понадобилось.
VS Code с расширением Markdown Inline Editor не?
Obsidian смотрели? Немного из пушки по воробьям, но редактор там весьма приличный.
Да, я смотрел всё, что мне тут посоветовали, в т.ч. Обсидиан, но… «немного из пушки по воробьям». )) В любом случае, спасибо за совет.
Почему мы до сих пор пользуемся Markdown?
Потому что он простой и наглядный
Я раньше с md файлами почти не имел дела. Но последнее время почти все текстовые документы делаются в нем. Как по мне, его главное преимущество в том, что он "просто текст" и всегда можно открыть любым блокнотом без потери читабельности. Он не требует специальных программ для просмотра. Форматирование интуитивное и даже без его знания можно легко понять что к чему.
Главная проблема, с которой я столкнулся - это нормальный редактор с поддержкой форматирования и конвертация. Использовать IDE или целых программных комплексов, как то слишком. Зависить от онлайн не хочу. Долго искал что-то лучше "блокнота" и пока нашел из адекватных (бесплатный, портативный, поддерживает все элементы) только MarkText. Он кстати, мультиплатформенный.
Вторая проблема - это конвертация из/в формат. Оказалось, что тот же MarkText делает отличные pdf из md. А вот с Офисом все плохо. Во всяком случае простой копипаст убивает весь формат, а удачного конвертора я так и не нашел.
В общем, формат старый и, как говорится, "широко известен в узких кругах". Но из-за своей простоты, явно обделен вниманием разработчиков.
Для конвертации из md в odt взял pandoc. Но тот слишком тяжелый.
Pandoc https://pandoc.org/MANUAL.html#pandocs-markdown прекрасно справляется с конвертацией md в docx со всем задуманным форматированием (если расширениями не злоупотреблять) и структурой документа
Мне кажется, что значительная часть проблем в статье преувеличена, тем более готовой замены предложено не было. Также markdown отлично пишется и читается в блокноте, что редкий плюс.
По пунктам:
На минимальность он уже давно не претендует, причём на уровне приложения всегда можно рассматривать только часть/подмножество, если требуется.
Разные варианты написания возможны, но проблемы конфликтов нет, а реально сложные версии встречаются только в тестах самих парсеров. +Есть стандарт CommonMark
Часть про грамматики не очень понял. Судя по быстрому поиску, почти все актуальные парсеры быстрые, O(n) или близко. Например, md4c.
Книги и научные статьи лучше не писать в markdown, а для коротких заметок и Readme.md это слишком удобный инструмент.
Как будто автор статьи не разграничивает использование маркдауна. Вроде и козе понятно, что использовать все-все-все фичи языка, вот эти сноски, дополнительный html и прочее - это, мягко скажем, перебор. Если вам это надо - и правда может HTML лучше?
MD же хорош как "немного улучшенный текст". Это вот когда есть bold/italic/heading/list/link. Это просто пишется, просто читается и достаточно понятно даже без форматированного output, можно читать сорцы в блокноте.
Про ReDoS через множество синтаксических вариантов интересно именно с точки зрения тестирования.
Markdown-парсер может выглядеть полностью стабильным на обычных входных данных и разваливаться на специально сконструированной строке. Обычные happy-path тесты такое не поймают, тут уже нужен fuzzing или property-based testing.
Для того, что большинство воспринимает как "просто форматирование текста", поверхность для ошибок и атак неожиданно глубокая.
Моя боль связанная с MD для заметок - невозможность поставить рядом несколько блоков текста или изображений. В остальном - отличный формат, если не использовать HTML.
невозможность поставить рядом несколько блоков текста или изображений.
Сходу придумался вариант с таблицей, не пробовали?
С блоками текста сложно(в Obsidian можно докинуть переводы сток через html-тэг <br>, но не уверен про другие визуализаторы), но изображения же точно пакуются в таблицу
| | |
|-|-|
||||Asciidoc попробовал - он как-то покруче маркдауна выглядит. С сохранением простоты для простого форматирования, и с поддержкой более хитрых кейсов, типа таблиц в таблицах и т.п.
Есть ещё https://www.npmjs.com/package/generative-dom, это Markdown со встроенными компонентами html. Он легче, чем html, но мощнее чем Markdown
Почему мы до сих пор пользуемся Markdown?
Наверное потому, что ничего лучше никто пока не придумал. Если пользоваться им по назначению - как простым языком разметки для примитивного форматирования - то результат в 99,99% будет приемлемый. Этого достаточно, чтобы не ломать мозг и пальцы ообо что-то более продвинутое.
Пишу доку в md уже лет десять и как-то ни разу не страдала от того, что там два способа сделать заголовок. Просто берешь линтер, прибиваешь стандарт гвоздями в пайплайне и вся команда пишет одинаково
Вот был-же в 90х нормальный редактор "lexicon" (Лексикон) и там и жирный был текст и косой. Вот чего человечеству не хватало?
У меня главная претензия к markdown - что он мои _выделения_, которые должны быть подчеркнуты, превращает в еле заметный курсив. То есть вообще невозможно сделать подчеркнутые слова, или куски слов. Якобы «можно спутать со ссылкой». Ссылки другим цветом, если что. А подчеркивание - базовая штука. Три базовых декорации - курсив, жирный, и подчеркивание. Третьего MD лишён. К сожалению.
Так MD же изначально был придуман для лёгкости, читаемости, и отсутствия требования читать документацию уже десятый раз просто потому что там заголовок неправильно отображается? И если использовать его в тех целях в которых он изначально был придуман, то результат приемлемый будет. Не понимаю ваше "зачем markdown если есть HTML?" - т.е. это как взять ручку, и пытаться ею забить гвозди.

Почему мы до сих пор пользуемся Markdown?