Metadata-Version: 2.5
Name: mkdocs-pseudocode-i18n
Version: 0.2.0
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: pseudocode-i18n<0.3,>=0.2.1
Requires-Dist: pygments-lexer-pseudocode-i18n<0.3,>=0.2.0
Requires-Dist: pymdown-extensions>=10.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

`mkdocs-pseudocode-i18n` renders multilingual educational pseudocode in MkDocs with Python-like Pygments token classes, MathJax-compatible TeX, and source-preserving copy behavior.

Version **0.2.0** is coordinated with:

- `pseudocode-i18n >= 0.2.1, < 0.3`;
- `pygments-lexer-pseudocode-i18n >= 0.2.0, < 0.3`.

## Installation

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

Enable it in `mkdocs.yml`:

```yaml
plugins:
  - search
  - pseudocode
```

## Shared configuration

The plugin uses the same `pseudocode.config.yml` as the core and lexer:

```yaml
language: fr

mkdocs:
  inject_mathjax: true
```

The file is auto-discovered from the MkDocs configuration directory upward. An arbitrary external file can also be selected:

```yaml
plugins:
  - pseudocode:
      config_file: ../school-pseudocode.yml
```

Inline plugin values override external configuration:

```yaml
plugins:
  - pseudocode:
      language: es
      inject_mathjax: false
```

## Usage

````markdown
```pseudocode-fr
Fonction moyenne(notes):
    total = 0
    Pour note Dans notes:
        total = total + note
    Renvoyer total / longueur(notes)

Saisir "n=", n
Afficher "Moyenne :", moyenne(notes)
```
````

Aliases:

```text
pseudo / pseudocode
pseudo-fr / pseudocode-fr
pseudo-en / pseudocode-en
pseudo-es / pseudocode-es
pseudo-de / pseudocode-de
pseudo-it / pseudocode-it
pseudo-pt / pseudocode-pt
```

Both backtick and tilde fences are supported.

## Development

```bash
yarn setup
yarn bfc
```

`yarn setup` prefers editable sibling checkouts of `pseudocode-i18n` and `pygments-lexer-pseudocode-i18n` when they are present.

`yarn bfc` runs version synchronization, Ruff, pytest, documentation synchronization/checking, strict MkDocs build and package build.

Documentation is part of every project change. Language reference pages are generated from the core language definitions.

## Releases

A normal:

```bash
push "message"
```

updates `main` and GitLab Pages, but does not create a release.

A release:

```bash
push "release 0.2.0" --release
```

pushes the version tag after `main`; the tag pipeline publishes to PyPI and creates an actual GitLab Release.

## Documentation

The full documentation is published at:

https://rod2ik.gitlab.io/mkdocs-pseudocode-i18n/

It is organized into Installation, Configuration, exhaustive Usage, one reference page per supported language, Development, Reference and Troubleshooting.

## License

GNU GPL-3.0-or-later.
