Skip to main content

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.

Source Distribution

markdown-to-devto-0.3.0.post1.tar.gz (13.6 kB view details)

Uploaded Source

File details

Details for the file markdown-to-devto-0.3.0.post1.tar.gz.

File metadata

  • Download URL: markdown-to-devto-0.3.0.post1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.8.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for markdown-to-devto-0.3.0.post1.tar.gz
Algorithm Hash digest
SHA256 d0b01da9b9c9b8f0f9a8dd605168e2f6363a50acf5fdd96799a65af3b8c49a09
MD5 0efd914f4121347efabef0ab64edecaa
BLAKE2b-256 c8dcedb086d01484f7eab790f1ad9391ffcaad7cd9337cc40807da690e484508

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page