Wikin v1.3.0 - Documentation

Wikin v1.3.0
PyPI GitHub

No results found for your search.

# Wikin

Documentation generated by Wikin.

# Wikin

A simple, beautiful documentation generator for Python. It extracts docstrings from functions and special comments from variables.

## Features

- Function Docstrings: Standard Python triple-quoted docstrings.
- Variable Documentation:
- `#: comment before variable`
- `variable = value #: comment after variable`
- Global Search: Instantly find functions, classes, and variables across all modules.
- Multipage Mode: Generate a clean landing page and separate files for each module.
- Modern UI: Clean, responsive HTML output with a premium glassmorphic look.
- Markdown Support: Use Markdown in your docstrings and comments.
- Docstring Tables: Automatically formats Google-style and NumPy-style parameters, attributes, and returns into elegant Markdown tables.
- Addons (Themes & Plugins): Customize the look and feel with `.wikin` packaged CSS themes and JS plugins!
- Custom Pages: Easily inject `README` or dynamically parsed `LICENSE` files right into the sidebar.
- Module Metadata: Customize how modules appear in the documentation using a `Wikin:` block.

## Installation

    pip install craftllc-wikin

## Usage

    python -m wikin gen <path_to_code> <project_name> <version> [docs_folder]

Example:

    python -m wikin gen ./ "My Project" 1.0.0

This will automatically parse the working directory and output standard HTML files to the customized `docs/` folder.

If you have `argcomplete` installed, Wikin offers full Tab autocomplete for CLI options! Need help? Just run:

    python -m wikin help

## Variable Documentation Example

    #: Number of requests per second
    rpm = 10

    timeout = 30 #: Connection timeout in seconds

Wikin will pick these up and include them in the generated documentation.

## Ignoring Files

To exclude specific files or directories from being processed, create a `.wikinignore` file in your `docs/` folder. It supports standard `.gitignore` (gitwildmatch) patterns.

Example `docs/.wikinignore`:

    # Ignore a specific file
    secret_module.py

    # Ignore an entire directory
    internal_tools/

    # Ignore all files with a certain extension
    *.deprecated.py

## Configuration

You can fully orchestrate your generated suite by placing a `docs/.wikinconfig` (TOML format) directly inside your docs directory.

### Multipage & Custom Branding

For larger projects, switch into multipage mode to split generated pages. You can also hide the Wikin branded watermark!

    [main]
    multipage = true
    show_generated_by = false

### Adding Project Links

To add helpful links (like GitHub, PyPI, or your website) to the sidebar, use the `[links]` section:

    [links]
    PyPI = "https://pypi.org/project/craftllc-wikin"
    GitHub = "https://github.com/CraftLLC/Wikin"

### Custom Markdown Pages & Intelligent Licensing

Wikin allows you to seamlessly inject generic Markdown files right into your sidebar!

    [pages]
    readme = "README.md"
    license = "LICENSE"
    license-parse = true

If `license-parse = true` is enabled, Wikin employs a versatile Regex parsing backend capable of correctly detecting MIT, Apache 2.0, GNU GPL (v2/v3), BSD (2/3-Clause), MPL 2.0, WTFPL, and more! It dynamically structures the Year, Type, and Author neatly above your license file.

### Themes & Plugins (Addons API)

Wikin supports community-provided ZIP addons formatted with `.wikin` extensions! Place these archives into `docs/addons/`.

    [addons]
    themes = ["OLED"]
    plugins = ["search_optimizer"]

These archives must contain a standard `manifest.json` mapped to their core `main_css` or `main_js` files.

Try our included `OLED.wikin` theme to transform the standard glassmorphic array into a completely flat, pure-black experience designed exclusively for organic LED developers.

## Module Metadata Example

You can set a custom display name for your modules by adding a `Wikin:` block at the top of your module's docstring:

    """
    Wikin:
        name: Core Parser

    This module handles all the parsing logic for Wikin.
    """

In the documentation, this module will be titled as Core Parser (your_package.parser). The metadata block itself will be dynamically filtered from the description rendering.