Архив метки: xclip

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов. Форматирование постов в MAX долгое время оставалось для меня весьма мучительной задачей. Судите сами: текстовую разметку (markdown) MAX пока не поддерживает, доступ к API для постинга пока есть только у юрлиц. Конечно, уже есть сервисы, предоставляющие услуги постинга (фактически обёртки над API), но они все какие-то мутные и просят денег буквально за каждый пост. Бесплатных ботов-конвертеров, аналогичных ТГ-шным пока нет. И чего с этим делать? Каждый раз форматировать пост ручками, используя редактор постов в приложении MAX? Ну, такое себе. Но решение, оказывается, всё время было рядом и было очень простым.

Всё началось с того, что я заметил: в веб-версии MAX форматированный текст можно копировать и вставлять без потери форматирования. 👀 А это значит, что веб-приложение MAX кладёт текст в буфер в форматированном виде. Что в свою очередь значит, что форматированный текст в таком же виде можно положить в буфер самостоятельно. 😉 Оказалось, что в Linux это можно сделать буквально вот так с помощью xclip:

cat post.html | xclip -selection clipboard -t text/html

Как-то специально заморачиваться с html не нужно. Если там используются простые теги (a, b, i, br) - всё работает. 🙂 Форматированный текст копируется в буфер и его достаточно вставить в веб-интерфейс MAX. 😇

Важно: это работает именно с веб-клиентом! Десктопный клиент хранит форматированный текст в буфере несколько иначе и там нужно больше танцев с бубном, чтобы достичь +- того же результата. Поэтому лучше работать именно с веб-клиентом.

А что если нам наоборот нужно копировать посты из MAX с сохранением форматирования? Это может быть полезно, если мы изначально пишем посты в MAX, а потом хотим выложить их куда-то ещё с сохранением форматирования. Всё аналогично. Копируем форматированный текст поста в веб-клиенте MAX и читаем буфер (в Linux) с помощью того же xclip:

xclip -selection clipboard -t text/html -o

Но есть проблема, что html-код там навороченный. Чтобы упростить его до простых тегов (a, b, i, br), я навайбкодил скриптик. В том же проекте доступны bash-обвязки, которыми я пользуюсь: HTML2MaxBuffer.sh, MaxBuffer2HTML.sh, show_all_buffers.sh.

Пользуйтесь и рекомендуйте друзьям, которым это может быть актуально.