Один MD, четыре платформы: скилл кросспостинга. ai.. ai. ИИ.. ai. ИИ. Контент и копирайтинг.. ai. ИИ. Контент и копирайтинг. публикация.. ai. ИИ. Контент и копирайтинг. публикация. публикация статей.

Аудитория у моего пет-проекта разъехалась по разным площадкам, ибо про машину и стуки в двигателе и подвеске. Пришлось постить на четыре площадки один и тот же материал, и каждый раз руками расставлять подзаголовки, пересобирать списки и перезаливать картинки, ленивое…

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

Площадка

Что переживает вставку

Telegram Instant View

заголовки только двух уровней, код, врезки; таблиц нет вообще

ВКонтакте

два уровня заголовков, списки, цитаты; ни кода, ни таблиц, ни картинок вставкой

Дзен

заголовки, списки, цитаты, картинки; ни кода, ни таблиц

Хабр

всё перечисленное плюс настоящие таблицы, подсветка кода, спойлеры, формулы

Чего нет в списке, просто выбрасывается. Нехорошо.

Что же делать, оформлять то надо

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

структура. Заголовок для ленты/статьи, три тезиса в начале, врезки вместо скобок, один жирный акцент на раздел. Жирный, кстати, единственное выделение, которое сохраняют все четыре, — поэтому если ставить его через слово, не останется ничего.

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

Сам скилл

Написал несколлько линтеров и адаптировал китайский скилл для вёрстки под WeChat — оттуда взята схема работы, но цветовые темы пришлось выбросить целиком. Исходный Markdown и сборка под каждую площадку:

python3 scripts/source_lint.py     article.md
python3 scripts/typography_lint.py article.md --fix
python3 scripts/build_targets.py   article.md -o out
python3 scripts/validate_post.py --auto 'out/*'

На выходе — страница для Instant View, отдельный анонс в канал, фрагмент для вставки во ВК, разметка для Дзена вместе с RSS-элементом, Habr Flavored Markdown.

И отдельно отчёт: что именно на какой площадке вырезано и что придётся доделать руками.

Запускается скилл по “сверстай под Хабр, ВК”

Грабли, как же без них

Дзен не рендерит форматирование в списках

Жирный внутри пункта просто исчезает. Значит, акцент надо ставить во вводном предложении перед списком, а не в самих пунктах.

Instant View это не пост, а страничка

Сделал в скилле публикатор страницы на telegra.ph, где Instant View работает из коробки.

ВК не принимает картинки вставкой

Совсем. В итоге сборщик ставит на их место нумерованные заглушки и выдаёт список загрузки по порядку.

Лимит Telegram считает текст, а не разметку

Первая версия генератора мерила длину вместе с HTML-тегами и неплохо так завышала.

Скилл здесь: crosspost-design, лицензия AGPL-3.0. Инструкции по установке там-же.

Автор: Shadow_ru

Источник