Taking Vale Server to the web

Vale Server now works with Gmail, GitHub, Medium, dev.to, WordPress, Confluence, … and more!

Joseph Kato
Vale
4 min readDec 29, 2020

--

When I launched Vale Server last year, supporting browsers and other web-based applications was one of the primary goals. The initial release included support for Chrome, but there were still a lot of details that needed to be figured out.

The extension has since been completely re-written to better support the features and ideals of Vale Server — specifically, the extension:

  • Respects your data. It only requests the most basic of permissions and is entirely warning-free according to Chrome (a very rare distinction among writing-related extensions).
  • Is unintrusive by design. It doesn’t interfere with the structure (DOM) of websites you visit or any other installed extensions, including those that also need to access your text content.
  • Supports both textarea and contenteditable elements. This allows the extension to work out-of-the-box on a wide range of websites and web-based applications: it now supports Gmail, GitHub, Medium, dev.to, Twitter, Confluence, … and many more!

These points not only represent a significant step forward for Vale Server’s usability on the web, but they also make it unique among the growing landscape of writing-related extensions.

Warning-free privacy

The new Vale Server extension requires no special permissions, and is entirely-warning free according the Chrome.

Chrome extensions are built around a system of permissions: each extension must specifically request access to individual APIs, which it can then use to implement its functionality. These are roughly split into two categories — those that require a warning and those that do not.

Most writing-related extensions depend heavily on warning-level permissions, often requiring the most invasive access level available: “Can read and change all your data on the websites you visit.”

This is a lot of power to give an extension and, as Chrome states, can present a significant security risk: “… if the extension is ever compromised, the attacker gets access to everything the extension had.”

Vale Server, in contrast, takes a completely different approach:

  • The extension communicates with a local instance of Vale Server—meaning your content is never sent to a remote server, stored, or otherwise inspected; and
  • requires zero warning-level permissions; it only has access to content that you specifically give it access to (by clicking on its toolbar icon).

This means that you can safely use the extension without having to worry about what content the extension (or a third-party) has access to.

Compatible with other extensions and services

The new Vale Server browser extension’s user-interface (UI) is completely standalone; it doesn’t alter the DOM or inject any code (JavaScript/HTML/CSS) into the page itself.

Vale Server running alongside Gmail’s built-in spelling and grammar checker.

This makes it easy to run alongside other extensions or site-specific functionality that needs to either access the same content or to inject their own UI elements into the current page. In other words, it doesn’t make you choose between using it or something else — you can use it with your other favorite services.

Works where (and how) you want

With the new Vale Server extension, you can leverage Vale’s markup syntax and configuration options to the fullest extent.

Your style—on the web!

All of your projects and custom styles are supported in the browser, allowing you to use Vale Server just as you would in a local text editor like VS Code.

Vale Server using a custom style (“MyCompany”) in Confluence Cloud editor.

This allows you to keep your writing style consistent and on-brand even when writing remotely on the web.

Support for both textarea and contenteditable

The new extension supports both plain textarea (shown below on GitHub) and contenteditable (shown above using Confluence) elements.

Vale Server checking Markdown content on GitHub (under “Dark Mode” on macOS).

textarea elements are checked as plain text by default, but you can also specify a certain markup format on a per-site basis (such as Markdown on GitHub or Reddit). contenteditable elements are checked as HTML.

Both options have full support for Vale Server’s scoping capabilities.

The next step: WebExtensions for cross-browser support

The extension is available now for Chrome and will soon be rolling out to both Firefox and Opera. Microsoft Edge and Safari are also on the roadmap.

To learn about the extension, check its updated documentation. If you run into any issues, please visit the GitHub project page to share a bug report.

--

--

Joseph Kato
Vale

An open-source software developer with interests in natural language processing, data science, and collaborative writing. More @ https://github.com/jdkato.