Skip to main content

MkDocs LanguageTool Plugin

This is currently a prototype. It aims to provide high quality spell checking for your documentation.

Installation

Install it with pip:

pip install mkdocs-languagetool-plugin

Usage

First as with all MkDocs plugins, add it to your mkdocs.yml:

plugins:
- search
- languagetool

In addition to adding the plugin to your docs, you need to run (or specify) a languagetool server.

Local languagetool server with docker

You can easily do this with docker:

docker run --rm -it -p 8081:8010 --name mkdocs-languagetool -e Java_Xmx=2g -d erikvl87/languagetool

After you are done, you can stop the languagetool container:

docker stop mkdocs-languagetool

Remote languagetool server

This can for example be useful if your company / network has a shared languagetool server running somewhere. You can specify it like this in your mkdocs.yml:

plugins:
- search
- languagetool:
    languagetool_host: YOUR_SERVERS_IP_OR_HOSTNAME

Conditional spell checking

Spellchecking causes a lot of CPU load and slows down site builds. So you may want to only run it at certain times (like before creating a new release). This can be done using environment variables that enable or disable the plugin. For example you could use the following snippet in your mkdocs.yml:

plugins:
- search
- languagetool:
    enabled: !ENV [SPELLCHECK, false]
    languagetool_url: http://YOUR_SERVERS_IP_OR_HOSTNAME:8081/v2/check

Then a normal build (mkdocs build) would not enable the plugin. But if you want to do the spell checking, you can set the SPELLCHECK variable:

SPELLCHECK=true mkdocs serve

Notable changes

Version 0.1.0

  • Split languagetool_url into languagetool_protocol, languagetool_host and languagetool_port.
  • Added option custom_known_words_directory to add known words to all or specific languages.
  • Added option languagetool_docker_image to overwrite which docker image (or tag) to use.
  • Added option write_unknown_words_to_file to automatically generate a list of unknown / potentially misspelled words.
  • Added options to ignore specific files (ignore_files) and specific spelling rules (ignore_rules).
  • Added support for automatically starting the LanguageTool server via docker (start_languagetool setting).
  • Added parallelized spell checking (via async_threads) and enabled it by default.

Metadata

Release files for mkdocs-languagetool-plugin 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mkdocs-languagetool-plugin 0.1.0
File Size Uploaded
mkdocs_languagetool_plugin-0.1.0.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mkdocs-languagetool-plugin 0.1.0
File Interpreter ABI Platform
mkdocs_languagetool_plugin-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.9 kB

Release files / mkdocs_languagetool_plugin-0.1.0.tar.gz

Download URL mkdocs_languagetool_plugin-0.1.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
750bc2219184c4d696c15c5e885dfc435bc44f155963e03d5098c8e3eeec7a5b
BLAKE2b-256 checksum
How to use checksums
556a9c4fb96fddd040618603509829efd4faf07411536690744b4ff7f5504070
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.0

Release files / mkdocs_languagetool_plugin-0.1.0-py3-none-any.whl

Download URL mkdocs_languagetool_plugin-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91457f810cdcece3c4b32b5b849e969d0d69c98a3756158838451c302d7ce0d8
BLAKE2b-256 checksum
How to use checksums
f0c902dc2e5741ee3ff2239c80c70246020109dde5123844b4ecd1d484f079b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page