Skip to content

ericfeczko/example-mkdocs-basic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example: Basic MkDocs project for Read the Docs

Documentation Status

This example shows a basic MkDocs project with Read the Docs. You're encouraged to view it to get inspiration and copy & paste from the files in the source code. If you are using Read the Docs for the first time, have a look at the official Read the Docs Tutorial.

📚 docs/
A basic MkDocs project lives in docs/, it was generated using MkDocs defaults. All the *.md make up sections in the documentation.

⚙️ .readthedocs.yaml
Read the Docs Build configuration is stored in .readthedocs.yaml.

⚙️ mkdocs.yml
A basic MkDocs configuration is stored here, including a few extensions for MkDocs and Markdown. Add your own configurations here, such as extensions and themes. Remember that many extensions and themes require additional Python packages to be installed.

📍 docs/requirements.txt and docs/requirements.in
Python dependencies are pinned (uses pip-tools) here. Make sure to add your Python dependencies to requirements.txt or if you choose pip-tools, edit docs/requirements.in and remember to run to run pip-compile docs/requirements.in.

💡 docs/api.md
We add our example Python module lumache in order to auto-generate an API reference. To do this, we use the ::: syntax, you can read more in the mkdocstrings documentation.

💡 docs/usage.md
We also include some direct links to a function from the API reference, as well as embedding documentation for the example function lumache.get_random_recipe. This functionality is also from the mkdocstrings extension.

💡 lumache.py
API docs are generated for this example Python module - they use docstrings directly in the documentation, notice how this shows up in the rendered documentation. We use the Sphinx convention for docstrings, however you are free to edit mkdocs.yml to change this option to google or numpy.

🔢 Git tags versioning
We use a basic versioning mechanism by adding a git tag for every release of the example project. All releases and their version numbers are visible on example-mkdocs-basic.readthedocs.io.

📜 README.md
Contents of this README.md are visible on Github and included on the documentation index page (Don't Repeat Yourself).

⁉️ Questions / comments
If you have questions related to this example, feel free to can ask them as a Github issue here.

Example Project usage

This project has a standard MkDocs layout which is built by Read the Docs almost the same way that you would build it locally (on your own laptop!).

You can build and view this documentation project locally - we recommend that you activate a local Python virtual environment first:

# Install required Python dependencies (MkDocs etc.)
pip install -r docs/requirements.txt

# Run the mkdocs development server
mkdocs serve

Using the example in your own project

If you are new to Read the Docs, you may want to refer to the Read the Docs User documentation.

If you are copying this code in order to get started with your documentation, you need to:

  1. place your docs/ folder alongside your Python project. If you are starting a new project, you can adapt the pyproject.toml example configuration.
  2. use your existing project repository or create a new repository on Github, GitLab, Bitbucket or another host supported by Read the Docs.
  3. copy mkdocs.yml, .readthedocs.yaml and the docs/ folder into your project.
  4. customize all the files, replacing example contents.
  5. Rebuild the documenation locally to see that it works.
  6. Finally, register your project on Read the Docs, see Importing Your Documentation.

Read the Docs tutorial

To get started with Read the Docs, you may also refer to the Read the Docs tutorial. It provides a full walk-through of building an example project similar to the one in this repository.

About

A basic MkDocs project for Read the Docs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%