Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A CLI tool for publish markdown articles to dev.to

Project description

Pipeline Status Coverage PyPI Project License PyPI Project Version

markdown-to-devto

A CLI tool for publishing markdown articles to dev.to. The tool will also update articles if they already exist on dev.to. It matches articles based on title in the frontmatter.

Usage

To use the CLI you will need a dev.to API Key. If you want to auto upload your local images to Imgur you need to use the -a or -imgur-id and enter your client id.

pip install markdown-to-devto
markdown_to_devto --help

Usage: markdown_to_devto [OPTIONS]

A CLI tool for publish markdown articles to dev.to.
Options:
-k, --devto-api-key TEXT
 Your dev.to API Key. [required]
-a, --imgur-id TEXT
 If set will auto upload local images on imgur.
-m, --file PATH
 The markdown file to publish.
-f, --folder PATH
 Path to folder to publish markdown files from.
-i, --ignore TEXT
 Folder to ignore and not publish markdown files from i.e. .history.
-o, --output PATH
 Where to save the articles after they have been transformed (the articles will still be uploaded).
-s, --site TEXT
 If you’re are using the Gatsby plugin to allow local links between articles. For dev.to we will need to replace with the link to your blog.
-l, --log-level
 [DEBUG|INFO|ERROR] Log level for the script.
--help Show this message and exit.
$ markdown_to_devto --devto-api-key ATokenAPI --imgur-id ImgurClientId --folder tests/data --ignore another_folder --ignore .history --ignore node_modules

Example Articles

For an article which looks like this; it will first check if any articles exist on your dev.to account using the title Example Document. The frontmatter includes all the various options you can set.

---
title: "Auto Publish React Native App to Android Play Store using GitLab CI"
tags: ["React Native", "CI", "GitLab", "Automation", "Android"]
license: "public-domain"
publish: false
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/w00r4rpmfpjqb8wgygxu.jpg
---

In this article, I will show you how can automate the publishing of your AAB/APK to the `Google Play Console`.
We will be using the [Gradle Play Publisher](https://github.com/Triple-T/gradle-play-publisher) (GPP) plugin to do
automate this process for us. Using this plugin we cannot only automate the publishing and release of our app,
we can also update the release notes, store listing (including photos) all from GitLab CI.

**Note:** In this article I will assume that you are using Linux and React Native version >= 0.60.

![c](c.jpg)
![c](c.jpg)
![c](c.jpg)

[My Blog](/blog/storybooks-with-mdx/)

```py:title=test.png file=./c.py

```

:::caution Assumption
This next section assumes that you use Gitlab to host your repos.
It also assumes that for your Gatsby blog you use Gitlab CI to build/publish it.
:::

---

Other

You can have code block like this:

```py:title=test.png file=./c.py

```

Will turn into this:

```py
import os

```

And blocks like will be turned into

:::caution Assumption
This next section assumes that you use Gitlab to host your repos.
It also assumes that for your Gatsby blog you use Gitlab CI to build/publish it.
:::
> This next section assumes that you use Gitlab to host your repos. It also assumes that for your Gatsby blog you use Gitlab CI to build/publish it.

GitLab CI

You can use also use this in your CI/CD with the provided Docker image. Below is an example .gitlab-ci.yml file, you may wish to use or include. The advantage of this is you can publish your aritcles using CI/CD.

stages:
  - publish

publish:articles:
  image: registry.gitlab.com/hmajid2301/markdown-to-devto
  stage: publish
  before_script: []
  script:
    - markdown_to_devto --folder tests/data --ignore /tests/data/another_folder

Setup Development Environment

git clone git@gitlab.com:hmajid2301/markdown-to-devto.git
cd markdown-to-devto
pip install tox
make install-venv
source .venv/bin/activate
make install-dev

Changelog

You can find the changelog here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for markdown-to-devto, version 0.3.0.post1
Filename, size File type Python version Upload date Hashes
Filename, size markdown-to-devto-0.3.0.post1.tar.gz (13.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page