{"id":24051,"library":"mkdocs-spellcheck","title":"mkdocs-spellcheck","description":"A spell checker plugin for MkDocs that checks spelling in Markdown content. It supports multiple backends (e.g., aspell, hunspell) and allows custom dictionaries. Current version 1.2.1 (2026-02-11), requires Python >=3.10, actively maintained on GitHub by pawamoy.","status":"active","version":"1.2.1","language":"python","source_language":"en","source_url":"https://github.com/pawamoy/mkdocs-spellcheck","tags":["mkdocs","spellcheck","plugin","spelling","documentation"],"install":[{"cmd":"pip install mkdocs-spellcheck","lang":"bash","label":"Default install"},{"cmd":"pip install mkdocs-spellcheck[hunspell]","lang":"bash","label":"With hunspell backend"},{"cmd":"pip install mkdocs-spellcheck[aspell]","lang":"bash","label":"With aspell backend"}],"dependencies":[{"reason":"Used for config parsing in mkdocs-plugin","package":"pyyaml","optional":false},{"reason":"Plugin host","package":"mkdocs","optional":false},{"reason":"Optional backend for spell checking","package":"hunspell","optional":true},{"reason":"Optional backend for spell checking","package":"aspell","optional":true}],"imports":[{"note":"Submodule imports deprecated since 1.1.1","wrong":"from mkdocs_spellcheck.plugin import SpellCheckPlugin","symbol":"SpellCheckPlugin","correct":"from mkdocs_spellcheck import SpellCheckPlugin"},{"note":"Top-level imports are preferred; submodules deprecated","wrong":"from mkdocs_spellcheck.config import config","symbol":"config","correct":"from mkdocs_spellcheck import config"}],"quickstart":{"code":"# mkdocs.yml\nplugins:\n  - search\n  - spellcheck:\n      known_words:\n        - mkdocs\n        - spellcheck\n      backends:\n        - hunspell\n      # Optional: ignore code blocks\n      ignore_code: true\n","lang":"yaml","description":"Enable the spellcheck plugin in your MkDocs configuration. Add known words to avoid false positives. The search plugin must be listed before spellcheck for compatibility."},"warnings":[{"fix":"Use `from mkdocs_spellcheck import SpellCheckPlugin` instead.","message":"Importing from submodules (e.g., `from mkdocs_spellcheck.plugin import SpellCheckPlugin`) is deprecated since v1.1.1 and will be removed in a future release. Always import from the top-level `mkdocs_spellcheck`.","severity":"breaking","affected_versions":">=1.1.1"},{"fix":"Place `search` before `spellcheck` in mkdocs.yml plugins list.","message":"Plugin initialization may fail if `search` plugin is not listed before `spellcheck` in the plugins list. The order matters in MkDocs.","severity":"gotcha","affected_versions":"all"},{"fix":"Install system package (e.g., `sudo apt install hunspell`) and ensure Python bindings are installed (e.g., `pip install hunspell`).","message":"Backends like hunspell or aspell must be installed on the system separately; the Python package only provides bindings. If no backend is available, the plugin will skip spellchecking silently unless misconfigured.","severity":"gotcha","affected_versions":"all"},{"fix":"Switch to hunspell backend.","message":"The `aspell` backend is no longer actively supported and may be removed in a future version. It is recommended to use `hunspell` instead.","severity":"deprecated","affected_versions":">=1.2.0?"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure `known_words` is a list of strings under the spellcheck plugin block in mkdocs.yml.","cause":"The spellcheck plugin is misconfigured or the known_words key is missing or malformed.","error":"'NoneType' object has no attribute 'items'"},{"fix":"Use top-level imports: `from mkdocs_spellcheck import SpellCheckPlugin`.","cause":"Importing from submodules after v1.1.1 when they are deprecated and possibly removed.","error":"module 'mkdocs_spellcheck' has no attribute 'plugin'"},{"fix":"Install system hunspell (e.g., `sudo apt install hunspell`) and Python bindings (`pip install hunspell`).","cause":"The hunspell system library is not installed or the Python bindings are missing.","error":"Spellcheck failed: unable to load backend 'hunspell'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}