Metadata-Version: 2.1
Name: mkdocs-juvix-plugin
Version: 0.2.8
Summary: Support for Juvix Markdown files in MkDocs
License: MIT
Author: Jonathan Prieto-Cubides, and GitHub contributors
Requires-Python: >=3.9
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: mkdocs (>=1.6.1,<2.0.0)
Requires-Dist: mkdocs-material (>=9.5.40,<10.0.0)
Requires-Dist: questionary (>=2.0.1,<3.0.0)
Requires-Dist: semver (>=3.0.2,<4.0.0)
Description-Content-Type: text/markdown

# Juvix MkDocs

This is a plugin for MkDocs to build static websites and highlight Juvix
codeblocks using [the Juvix Compiler](https://docs.juvix.org). It also adds a
CLI tool to help you get started with a new project called `juvix-mkdocs`.

## Features

- Highlight Juvix code blocks in Markdown files
- Support for hidden Juvix code blocks
- Extract statements from Juvix code blocks
- A CLI tool to get started with a new project

## Getting Started

### Prerequisites

- Python 3.9+
- [Poetry](https://python-poetry.org/docs/#installation)
- [Juvix Compiler](https://docs.juvix.org/)

### Installation

1. Initialize a Poetry project:

```shell
poetry init
```

2. Add the required dependencies:

```shell
poetry add mkdocs-juvix-plugin
```

3. Create a new MkDocs project:

```shell
juvix-mkdocs new
```

By default, this command would interactively ask you a few questions. You can
skip the interaction by passing the `--no-interactive` flag. If you run this in
the interactive mode, it will create a new MkDocs project in the current
directory where you execute the command, say `my-project`. And then, it would
run the development server for you. All in all, you would end up with a project
that has the following structure:

```
my-project/
├── mkdocs.yml
├── poetry.lock
├── pyproject.toml
├── README.md
├── .gitignore
├── .github/
│   ├── workflows/
│   │   ├── ci.yml
├── docs/
│   ├── index.md
│   └── ...
```

Recall that you can run the development server by running:

```shell
poetry run mkdocs serve
```

4. Otherwise, just add the plugin to your existing MkDocs project, check out the
fixtures in the `mkdocs.yml` file for reference, and the folder (`src/fixtures`)
for examples.

```yaml
# mkdocs.yml
plugins:
  - juvix
```


