Extension of nbdev for generating documentation using Material for Mkdocs instead of Quarto
Project description
Material for nbdev
Documentation: https://nbdev-mkdocs.airt.ai
Source Code: https://github.com/airtai/nbdev-mkdocs
Getting Started
Material for nbdev is a nbdev extension that allows you to use Material for MkDocs to generate documentation for nbdev projects.
The key features are:
- Material style documentation: Effortlessly create material style documentation for your nbdev projects with Material for MkDocs, a theme that provides a sleek and modern design for your documentation.
- Auto generate docstrings: Instantly generate docstrings for your Python code using docstring-gen library, a tool that automatically generates docstrings for your functions and classes using Codex.
- Create stunning social media share images: Boost your project’s visibility by creating striking social share images using DALL-E.
- Customizability: Add guides, release notes, customise the navigation menu and configure the Material for MkDocs easily to suit your project needs. With this documentation tool, you have more control over the look and feel of your documentation, allowing you to create a unique and personalized experience for your users.
Workflow
Here’s a quick comparison of Quarto and Material for nbdev development workflows:
Quarto workflow | Material for nbdev workflow |
---|---|
Install: $ pip install notebook nbdev
$ nbdev_install_quarto
|
Install: $ pip install notebook nbdev
$ nbdev_install_quarto
$ pip install nbdev-mkdocs
|
Setup: $ nbdev_new
$ nbdev_install_hooks
$ vi settings.ini
$ pip install -e '.[dev]'
|
Setup: $ nbdev_new
$ nbdev_install_hooks
$ vi settings.ini
$ pip install -e '.[dev]'
$ nbdev_mkdocs new
$ vi mkdocs/mkdocs.yml
|
Development: # Edit files
$ nbdev_preview
|
Development: # Edit files
$ nbdev_mkdocs preview
|
Commit changes: $ nbdev_prepare
$ git commit -am “Commit message”
$ git push
|
Commit changes: $ nbdev_mkdocs prepare
$ git commit -am “Commit message”
$ git push
|
Quick start
The following quick start guide will walk you through installing and configuring nbdev-mkdocs for an existing nbdev project. It also assumes you’ve already initialized your project with nbdev and installed all of the required libraries.
For detailed installation instructions and configuration options, please see the User Guide.
Install
nbdev-mkdocs is published as a Python package and can be installed with pip:
pip install nbdev-mkdocs
Note that nbdev-mkdocs
must be installed in the same Python
environment as nbdev.
If the installation was successful, you should now have the nbdev-mkdocs installed on your system. Run the below command from the terminal to see the full list of available commands:
nbdev_mkdocs --help
Usage: nbdev_mkdocs [OPTIONS] COMMAND [ARGS]...
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy │
│ it or customize the installation. │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ delete-pre-release-docs Deletes deployed pre-release documentation │
│ versions. │
│ docs Prepares files in **mkdocs/docs** and then runs │
│ **mkdocs build** command on them │
│ docstring Command for adding docstrings to classes and │
│ methods that don't have one using docstring-gen │
│ library. │
│ new Creates files in **mkdocs** subdirectory needed for │
│ other **nbdev_mkdocs** subcommands │
│ prepare Runs tests and prepares files in **mkdocs/docs** │
│ and then runs **mkdocs build** command on them │
│ preview Prepares files in **mkdocs/docs** and then runs │
│ **mkdocs serve** command on them │
│ social-image Command for generating a custom social share image. │
╰──────────────────────────────────────────────────────────────────────────────╯
Setup
After installing nbdev-mkdocs, bootstrap your project documentation by executing the following command from the project’s root directory:
nbdev_mkdocs new
Using information from the project’s settings.ini file, the above command creates files and directories required to build the documentation and saves it in the mkdocs subdirectory.
Note: You should only run the nbdev_mkdocs new command once for the project to initialise the files required for building Material for MkDocs documentation.
Preview changes
nbdev_mkdocs lets you preview your changes as you write your documentation. Execute the following command from the project root directory to start a local server, and preview your documentation:
Note: If you haven’t already installed your library locally, run
pip install -e '.[dev]'
command before running the
nbdev_mkdocs prepare
command.
nbdev_mkdocs preview
Prepare changes
We recommend running the nbdev_mkdocs prepare
command in the terminal
before committing to Git, which exports the library, tests and cleans
notebooks, and generates the README file if necessary.
nbdev_mkdocs prepare
Finally, double-check your settings.ini file to ensure that it has all of the correct information. Then commit and push your additions to GitHub:
git commit -am'Commit Message'
git push
Copyright
Copyright © 2022 onwards airt technologies ltd, Inc.
License
This project is licensed under the terms of the Apache License 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nbdev_mkdocs-0.1.1rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9b3fb919911ecae3d2d9eeb41edb96f897d472dd0f600d795534208992748de |
|
MD5 | c6b44d987af2ad457a7d3ae2db697c0b |
|
BLAKE2b-256 | 2ce3228c030073dc56d88343416f197f872995cc87a321ff58b8a851bb721e21 |