md-publisher

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

README

md-publisher

md-publisher Logo

md-publisher-logo by Andre Mueller is licensed under CC BY 4.0

The md-publisher golang tool shall simplify the process of publishing local HTML (and using pandoc Markdown) files to https://medium.com.

Local images are first uploaded to medium and then the article is published as draft.

Installation

Install the md-publisher tool with

go get github.com/andremueller/md-publisher

For using the md-publisher tool a integration token is required. Hereto you need an medium.com account and must have published an article. Then you can simply create a token on your settings page https://medium.com/me/settings. Create a TOML configuration file in $HOME/.config/md-publisher/md-publisher.conf with the following content:

# md-publisher.conf configuration file shall be found in
# $HOME/.config/md-publisher/md-publisher.conf

# Settings for medium.com
# Create an integration token in your medium.com account on your settings
# page https://medium.com/me/settings and enter it here
MediumAccessToken="YOUR_ACCESS_TOKEN"

# Set this true if you never want to upload your images.
NoImages="false"

Running

When using markdown files you could use pandoc for translating that into html (see examples/run.sh).

After that you should be able to upload a local HTML file with

md-publisher publish my_file.html

For further options call

./md-publisher help

NAME:
   md-publisher - Publishes an articles to medium.com

USAGE:
   md-publisher [global options] command [command options] [arguments...]

COMMANDS:
   publish  publish the given article
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --log-level value, -L value  set logging level to (5 = debug, 4 = info, 3 = warn, 2 = error, 1 = fatal (default: 5)
   --config value, -c value     md-publisher config file (default: "/Users/muellera/.config/md-publisher/md-publisher.conf")
   --help, -h                   show help (default: false)
NAME:
   md-publisher publish - publish the given article

USAGE:
   md-publisher publish [command options] [arguments...]

OPTIONS:
   --no-images           Do not upload images (default: false)

Then you should find the newly article within your drafts including local images.

Dependencies

Dependency License
github.com/urfave/cli/v2 MIT License
github.com/sirupsen/logrus MIT License
github.com/Medium/medium-sdk-go Apache License Version 2.0
github.com/PuerkitoBio/goquery BSD 3 Clause License
github.com/yuin/goldmark MIT License
github.com/litao91/goldmark-mathjax MIT License

License

MIT License

The project is currently in an experimental state. So please don't blame me if something is not working. However, you are welcome to contribute to this project.

HTML Features

  • Uploading local images in <img> tags
  • Setting the title to head title
  • Settings the medium tags to meta keywords
<head>
   <title>My title</title>
   <meta name="keywords" content="my tag 1, my tag 2" />
</head>

For an example file see example/demo_article.html.

Markdown

It is recommended to use https://pandoc.org for transforming Markdown files to html which could then be uploaded with md-publisher.

Important is especially the YAML meta header which allows the specify title, tags (called keywords for compatibility), BibTeX reference file, and many more attributes.

See https://pandoc.org/MANUAL.html#extension-yaml_metadata_block for all possible meta tags.

For an example file see data/demo_article.md.

A script for converting the data/demo_article.md to data/demo_article.html is here: pandoc.sh

For the pandoc.sh script the following tools must be in the search path of your shell

  • pandoc
  • pandoc-crossref
  • pandoc-citeproc

Hereto, please look the installation instructions on https://pandoc.org.

Current working features:

  • bibliography
  • images
  • tables
  • equations
  • references to figures, equations, tables

If you like you can use my pandoc Docker container for this step as well.

Known Issues

  • Nested lists do not work. However, medium.com seems to be the probleme here.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL