Я технический писатель в Medusa . Часть моей работы включает в себя управление контентом в нашем блоге и на других платформах. Обычно мы публикуем статью в нашем блоге (который создан с помощью Stackbit ), а затем размещаем ее на таких платформах, как Dev.to, Hashnode и Medium.
Этот процесс стал утомительным и отнимает много времени. Мы публикуем не менее 2 статей в неделю, и каждая статья может занять более 30 минут, чтобы быть опубликованной в нашем блоге и на трех упомянутых платформах. Сюда входит добавление контента в формате, который поддерживает каждая платформа, загрузка изображений, если они есть, установка мета-атрибутов, таких как описание и мета-теги, и многое другое.
Поэтому я решил создать инструмент для кросс-постинга, который бы автоматизировал эту задачу. cross-post-notion теперь позволяет нам публиковать статью из Notion в репозитории GitHub (где хранится содержимое нашего основного блога), Dev.to, Hashnode и Medium менее чем за минуту. Я решил создать этот инструмент в рамках наших Дней открытий в Medusa.
Каждую пятницу члены команды Medusa могут посвятить половину или весь свой день тому, что отличается от их обычной повседневной работы. Вы можете использовать этот день, чтобы узнать что-то новое, прочитать книгу, относящуюся к вашей области, попробовать интересный инструмент или создать новый инструмент.
Когда я понял, что этот инструмент значительно сократит время, которое я трачу на публикацию контента в нашем блоге, я посвятил последние 4 дня открытий (пятницы) созданию этого инструмента.
Вы можете использовать cross-post-notion либо как команду NPX, либо как глобальный инструмент CLI, либо просто клонируя репозиторий GitHub .
Затем, после добавления необходимых конфигураций (подробнее об этом позже), вы можете публиковать на всех различных платформах с помощью одной команды. Вы также можете выбрать конкретные платформы для публикации.
Публикация на GitHub может быть полезна для любой блоггерской платформы, которая использует файлы Markdown, размещенные в репозитории GitHub. К ним относятся Stackbit, GitHub Pages, 11ty, Hugo, Docusaurus и т.д....
Статьи размещаются на GitHub в виде Markdown-файлов с метаданными в первой части. По умолчанию передняя часть включает заголовок и дату статьи. Значения этих полей извлекаются из вашего документа Notion, и вы можете указать, из каких свойств извлекать эти поля.
Кроме того, вы можете указать пользовательские поля для добавления в титульный лист и свойства, из которых они будут извлекаться из Notion. Вы также можете указать поля первого плана с фиксированными значениями. Это полезно, если у вас есть поля первого плана, которые нужно постоянно добавлять в статьи.
Если в статье есть изображения, они также загружаются в репозиторий GitHub. Вы можете указать путь для загрузки изображений и префикс для использования в статье.
С помощью этого инструмента вы можете публиковать статьи на dev.to как на своей личной учетной записи, так и в организации. Подобно публикации на GitHub, значения полей dev.to, таких как заголовок, теги или серия, могут быть извлечены из свойств Notion.
Одним из ограничений публикации на dev.to является то, что вы не можете загружать изображения в статью с помощью их API. Поэтому вам придется вручную загружать любые изображения в статью.
С помощью этого инструмента вы можете публиковать статьи в Hashnode как в своем личном блоге, так и в конкретной публикации. Как и в других платформах, значения полей Hashnode извлекаются из свойств Notion.
Одно из ограничений публикации на Hashnode заключается в том, что с помощью их API невозможно опубликовать статью в виде черновика. Можно только выбрать вариант скрытия статьи из ленты Hashnode. Таким образом, статья будет автоматически доступна вашим подписчикам.
С помощью этого инструмента вы можете публиковать статьи в Medium как в личном аккаунте, так и в конкретной публикации. Как и на других платформах, значения полей Medium извлекаются из свойств Notion.
Этот инструмент требует наличия внутренней интеграции Notion Integration, созданной и установленной в вашем рабочем пространстве Notion. Интеграция должна иметь доступ к страницам, которые вы хотите опубликовать. Подробнее об этом вы можете узнать в документации Notion .
Есть три способа использования этого инструмента:
npx cross-post-notion
2. Установите как глобальный инструмент CLI с помощью NPM или Yarn:
# using NPM npm install -g cross-post-notion # using Yarn yarn add cross-post-notion global
3. Клонируйте репозиторий GitHub:
git clone https://github.com/shahednasser/cross-post-notion.git cd cross-post-notion npm install npm start
Перед использованием инструмента вам необходимо установить следующие переменные окружения. Требования к переменным окружения зависят от того, на какие платформы вы хотите публиковать:
Конфигурации используются для настройки того, как статья будет опубликована на различных платформах. С их помощью можно определить, из каких свойств извлекать данные в Notion, публиковать ли статью или добавлять ее в черновики, и многое другое. Настраивать эти конфигурации нужно только при первом использовании инструмента.
По умолчанию конфигурации загружаются из файла config/default.json относительно текущего каталога, из которого вы выполняете команду. В качестве альтернативы, вы можете передать путь к файлу конфигурации в качестве опции .
Файл может иметь следующие конфигурации:
{ "config": { "notion": { "options": { "skip_block_types": [ "toggle" ] } }, "github": { "options": { "image_path": "public", "image_prefix": "/", "article_path": "content", "properties": { "title": "Title for Blog", "date": "Publishing Date", "slug": "Slug" }, "add_default_frontmatter": true, "frontmatter_labels": { "title": "title", "date": "date" }, "extra_frontmatter": { "excerpt": "this is description" }, "extra_frontmatter_mapper": { "excerpt": "Description" } } }, "devto": { "options": { "should_publish": false, "properties": { "title": "Title for Dev.to" } } }, "hashnode": { "options": { "should_publish": true, "should_notify_followers": false, "properties": { "title": "Title for Hashnode" } } }, "medium": { "options": { "should_publish": false, "should_notify_followers": false, "properties": { "title": "Title for Medium" } } } } }
Вы можете узнать, что представляет собой каждое из этих полей и какие еще поля могут быть приняты в репозитории GitHub .
Получите URL документа Notion, содержащего статью, которую вы хотите опубликовать. Это должен быть внутренний URL, который вы можете получить из документа Notion:
Затем выполните следующую команду:
# using NPX npx cross-post-notion post <url> # using CLI tool cross-post-notion post <url> # using cloned repository npm start post <url>
Где <url> - это URL-адрес документа Notion.
Если все переменные окружения установлены правильно, вы должны увидеть в терминале запись о том, что статья была опубликована на каждой из платформ.
Вы также можете указать, на каких платформах вы хотите опубликовать статью, используя опцию -p:
npx cross-post-notion post <url> -p devto hashnode
Это приведет к публикации статьи только на Dev.to и Hashnode.
Вы можете узнать больше об этом инструменте и его ограничениях, просмотрев репозиторий GitHub . Если вы используете его, дайте мне знать, помог ли он вам! Хотя я в основном использую его для публикации статей в Medusa, не стесняйтесь открывать проблемы и вносить свой вклад в дальнейшее улучшение инструмента.
Обязательно ознакомьтесь с Medusa, композитной платформой для электронной коммерции, на GitHub.
05.05.2023 14:00
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
05.05.2023 11:59
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря своим методам, они делают код очень простым для понимания и читабельным.
05.05.2023 11:57
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний, то, не теряя времени, практикуйте наш бесплатный онлайн тест 1100+ JavaScript MCQs и развивайте свои навыки и знания.
05.05.2023 09:26