Почти год назад я писал о том, как я создал CLI-инструмент для кросс-постинга статей на Dev.to, Hashnode и Medium. Я создал этот инструмент, потому что он облегчил мне процесс, но я также получил много отзывов от других авторов о том, насколько он был полезен для них.

С тех пор я не мог его поддерживать из-за своего плотного графика. Теперь я трачу больше времени на то, чтобы посвятить себя этому и улучшить его с помощью сообщества.

В понедельник, 28 февраля, я выпустил новый релиз cross-post-blog с версией 1.3.0. Я поделюсь некоторыми функциями и исправлениями, которые он включает. Вы также можете проверить репозиторий GitHub для получения дополнительной информации о библиотеке.

Если вы читаете эту статью на Dev.to, Hashnode или Medium, значит, она перепечатана из моего собственного блога с помощью инструмента Cross-Post CLI!

Публикация из локальных файлов

По запросу некоторых разработчиков, использующих эту библиотеку, я добавил возможность публиковать сообщения непосредственно из локального файла вместо общедоступного URL-адреса. Для этого вам просто нужно добавить опцию -l или --local к вашей команде.

Например:

cross-post run /path/to/test.md -l

Это опубликует локальный файл test.md на всех платформах.

Вы также можете использовать его со всеми опциями, которые вы использовали ранее.

Измененный конвертер уценки

Каждая из платформ требует, чтобы вы отправляли содержимое своей статьи для публикации в формате Markdown. Итак, когда вы передаете URL-адрес команде, содержимое статьи на этой странице преобразуется в Markdown перед отправкой на платформу, на которой вы хотите опубликовать.

Раньше я использовал node-html-markdown. По функционалу работал нормально. Однако были некоторые проблемы, связанные с тем, как он разбирал блоки кода.

Новая версия теперь использует вместо этого turndown, который лучше справляется с разбором блоков кода. Теперь ваши статьи должны публиковаться на разных платформах почти так же, как в вашем собственном блоге.

Добавлен селектор заголовков

Ранее в конфигурации можно было установить селекторы статей и изображений по умолчанию. Вы также можете переопределить эти конфигурации в команде run.

Теперь вы также можете установить селектор заголовков по умолчанию в своей конфигурации:

cross-post config titleConfig

Или передайте его как опцию -ts или --title-selector команде run:

cross-post run <url> -ts .post-full-title

Предстоящие функции

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

Я также собираюсь рассмотреть возможность добавления новых платформ, на которые можно публиковать сообщения. Если вы думаете о какой-либо платформе, которую, по вашему мнению, было бы неплохо добавить, пожалуйста, дайте мне знать!

Как установить или обновить

Если вы хотите установить и начать использовать Cross-Post или обновить свою версию, вы можете установить ее с помощью NPM:

npm i -g cross-post-blog

Пожалуйста, проверьте README для получения дополнительной информации об установке и использовании этого инструмента.

Вклад

На данный момент в репозиторий не добавлено руководство по вкладу (я работаю над этим). Однако, если вы хотите внести свой вклад в какую-либо из существующих проблем или добавить новые функции, не стесняйтесь!