How to upload Markdown files to Medium while maintaining tables, syntax highlighting, math typesetting, and footnotes.

Medium is an excellent platform for blogging and it has increasingly become a go-to source of knowledge on data science and other technical topics.

Unfortunately, though, the writing experience on Medium for scientific topics isn’t great: there’s no support for tables, code syntax highlighting, math typesetting, or footnotes — all…

Client updates, an action re-write, and more LanguageTool integration improvements.

The latest development cycle for Vale Server focused almost entirely on in-editor performance with the specific goal of improving the on-the-fly linting experience.

Actions get a re-write

The first change you’ll notice in v1.8 is that the action-processing engine has been completely re-written from Python to Go, incorporating many performance enhancements along the way.

A guide to creating regex-based rules for Vale and Vale Server.


In this post, we’ll take a look at the process of writing new rules for Vale (the command-line tool) and Vale Server (the desktop application). The goal for this post is to supplement the existing documentation by covering possible areas of confusion and potential “gotchas.”

But first, we need to…

A re-designed Dashboard, including a new rule editor with built-in regex101 integration.

I’m pleased to announce v1.4 of Vale Server today, the fourth major release of Vale’s desktop application. Development for v1.4 was almost entirely focused on improving the Dashboard, including the new Studio page.

Vale Studio [beta]

One of Vale’s most popular features is its support for YAML-based rules, which allow for a high…

LanguageTool, Rule Actions, updated clients, and more!

The past few months have been quite busy in terms of Vale and Vale Server development, I’ve released Vale v2.0.0-beta, Vale Server v1.2, and new versions of the Atom, Sublime Text, and Visual Studio Code clients.

Today I’m here to announce yet another…

OpenAPI Specification files provide machine-readable (JSON or YAML) descriptions of APIs and often contain snippets of text suitable for linting.

The problem is that the target text can be hard to reach from a linting perspective. For instance, consider the following basic example:

As you can see above, the…

An introduction to common Vale (Server) workflows and use cases.

With Vale rapidly approaching v2.0.0 and the release of the Vale Server desktop app, the amount of possible workflows and use cases is at an all-time high. For the sake of this post, we’ll be focusing on the two basic classes of use cases:

  • Remotely: Remote usage typically involves running…

Vale Server is a desktop application that brings your editorial style guide to life.

Almost two months ago, I announced that Vale was coming to the desktop. The goal was simple: move away from the command-line environment, while making it easier to manage Vale-related files and folders.

In this post, I’ll discuss the progress I’ve made and the new features (and enhancements) you can…

Introducing Vale Server, a native desktop app for Vale

8 months ago, I released the first stable version of Vale. Since then, I’ve shifted my focus to bringing Vale’s command-line functionality to a native desktop application. This post will discuss some of the enhancements and refinements that have been implemented along the way.


Vale Server maintains Vale’s high standards…

Joseph Kato

An open-source software developer with interests in natural language processing, data science, and collaborative writing. More @

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store