Mkdocs Encryptcontent Plugin

screenshot of Mkdocs Encryptcontent Plugin

A MkDocs plugin that encrypt/decrypt markdown content with AES

Overview:

The mkdocs-encryptcontent-plugin allows users to password protect articles and pages in MKdocs, encrypting content with AES-256 in Python using PyCryptodome and decrypting it in the browser with Crypto-JS or Webcrypto. Users can define a password to protect each page independently or a global password to protect all content.

Features:

  • Password Protection: Protect content with a password at page level or with a global password.
  • Stronger Cryptography: Use PBKDF2 for key derivation for improved security.
  • Faster Cryptography: Webcrypto offers faster encryption as an alternative to crypto-js.
  • Credential Handling: Define password levels in mkdocs.yml or external files with user/password credentials.
  • Customization: Add credentials to URLs for sharing, tamper check with Ed25519, and environment variable usage with special yaml tag !ENV.
  • Additional Functionality: Obfuscation, signing of generated files, search encryption, and server-side keystore for further security.

Summary:

The mkdocs-encryptcontent-plugin offers enhanced password protection and encryption features for MKdocs users. It provides a secure way to protect content, with options for global passwords, stronger cryptography, and additional customization features like credential handling and tamper checks. Users can install the plugin easily with pip and configure it in their mkdocs.yml file to start encrypting and protecting their content.