Metadata-Version: 2.5
Name: mkdocs-pseudocode-i18n
Version: 0.1.1
Summary: Multilingual pseudocode integration for MkDocs with Pygments and MathJax
Project-URL: Homepage, https://rod2ik.gitlab.io/mkdocs-pseudocode-i18n/
Project-URL: Documentation, https://rod2ik.gitlab.io/mkdocs-pseudocode-i18n/
Project-URL: Repository, https://gitlab.com/rod2ik/mkdocs-pseudocode-i18n
Project-URL: Issues, https://gitlab.com/rod2ik/mkdocs-pseudocode-i18n/-/issues
Author: Rod2ik
License: GPL-3.0-or-later
License-File: LICENSE
Keywords: education,i18n,mathjax,mkdocs,pseudocode,pygments
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Documentation
Classifier: Topic :: Education
Requires-Python: >=3.11
Requires-Dist: mkdocs<2,>=1.6
Requires-Dist: pygments-lexer-pseudocode-i18n>=0.1.1
Requires-Dist: pymdown-extensions>=10.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mkdocs-material>=9.6; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.12; extra == 'dev'
Description-Content-Type: text/markdown

# mkdocs-pseudocode-i18n

High-level MkDocs integration for the multilingual educational pseudocode ecosystem.

Installing `mkdocs-pseudocode-i18n` also installs [`pygments-lexer-pseudocode-i18n`](https://pypi.org/project/pygments-lexer-pseudocode-i18n/), which in turn uses the shared [`pseudocode-i18n`](https://pypi.org/project/pseudocode-i18n/) language definitions.

## Installation

```bash
pip install mkdocs-pseudocode-i18n
```

Enable the plugin in `mkdocs.yml`:

```yaml
plugins:
  - pseudocode:
      default_language: fr
```

Then use `pseudocode`, `pseudo`, or a language-specific alias such as `pseudocode-fr`, `pseudo-en`, `pseudocode-es`, `pseudocode-de`, `pseudocode-it` or `pseudocode-pt`.

The plugin supports inline configuration in `mkdocs.yml` and an external configuration file through `config_file`. It also converts the math tokens emitted by the Pygments lexer into MathJax-processable fragments while preserving the original pseudocode source for copying.

## Development

Prepare the complete local development environment with:

```bash
yarn setup
```

`yarn setup` installs the Yarn environment and installs this package in Python editable mode with its development dependencies. When sibling checkouts `../pseudocode-i18n` and/or `../pygments-lexer-pseudocode-i18n` exist, they are preferred in editable mode; otherwise the published PyPI packages are resolved normally.

Run the complete validation pipeline with:

```bash
yarn bfc
```

The documentation lives entirely under `site/` and can be served with `yarn dev` or `yarn dev:lan`.

## Versioning and releases

`package.json` is the single source of truth for the project version. Change only its `version`, then run `yarn bfc`: it automatically synchronizes the value to `pyproject.toml` and `mkdocs_pseudocode_i18n/__init__.py`, verifies consistency, and runs the complete validation/build pipeline. For a release, run `push --release` only after `yarn bfc` succeeds.

GitLab tags matching `v...` trigger the PyPI publication job. Publication uses PyPI Trusted Publishing/OIDC, so no permanent PyPI token is stored in GitLab.

## License

GNU General Public License v3 or later (`GPL-3.0-or-later`).
