Skip to main content

A Mkdocs package that contains TechDocs defaults

Project description

techdocs-core

This is the base Mkdocs plugin used when using Mkdocs with Spotify's TechDocs. It is written in Python and packages all of our Mkdocs defaults, such as theming, plugins, etc in a single plugin.

Python Package

Usage

$ pip install mkdocs-techdocs-core

Once you have installed the mkdocs-techdocs-core plugin, you'll need to add it to your mkdocs.yml.

site_name: Backstage Docs

nav:
  - Home: index.md
  - Developing a Plugin: developing-a-plugin.md

plugins:
  - techdocs-core

Running Locally

You can install this package locally using pip and the --editable flag used for making developing Python packages.

pip install --editable .

You'll then have the techdocs-core package available to use in Mkdocs and pip will point the dependency to this folder.

Running with Docker

In the parent Dockerfile we add this folder to the build and install the package locally in the container. In the future, we'll probably move away from this approach and have it download directly from a Python registry (and this folder will publish to one).

See the README.md located in the techdocs-container/ folder for more details on how to build and run the Docker container.

Linting

pip install -r requirements.txt
python -m black src/

Note: This will write to all Python files in src/ with the formatted code. If you would like to only check to see if it passes, simply append the --check flag.

MkDocs plugins and extensions

The TechDocs Core MkDocs plugin comes with a set of extensions and plugins that mkdocs supports. Below you can find a list of all extensions and plugins that are included in the TechDocs Core plugin:

Plugins:

Extensions:

Changelog

0.0.9

  • Change development status to 3 - Alpha

0.0.8

  • Superfences and Codehilite doesn't work very well together (squidfunk/mkdocs-material#1604) so therefore the codehilite extension is replaced by pymdownx.highlight
  • Uses pymdownx extensions v.7.1 instead of 8.0.0 to allow legacy_tab_classes config. This makes the techdocs core plugin compatible with the usage of tabs for grouping markdown with the following syntax:
    ```java tab="java 2"
        public void function() {
            ....
        }
    ```

as well as the new

    === "Java"

    ```java
    public void function() {
        ....
    }
    ```

The pymdownx extension will be bumped too 8.0.0 in the near future.

  • pymdownx.tabbed is added to support tabs to group markdown content, such as codeblocks.

  • "PyMdown Extensions includes three extensions that are meant to replace their counterpart in the default Python Markdown extensions." Therefore some extensions has been taken away in this version that comes by default from pymdownx.extra which is added now (https://facelessuser.github.io/pymdown-extensions/usage_notes/#incompatible-extensions)

0.0.7

  • Fix an issue with configuration of emoji support

0.0.6

  • Further adjustments to versions to find ones that are compatible

0.0.5

  • Downgrade some versions of markdown extensions to versions that are more stable

0.0.4

  • Added support for more mkdocs extensions
    • mkdocs-material
    • mkdocs-monorepo-plugin
    • plantuml-markdown
    • markdown_inline_graphviz_extension
    • pygments
    • pymdown-extensions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs-techdocs-core-0.0.9.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_techdocs_core-0.0.9-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs-techdocs-core-0.0.9.tar.gz.

File metadata

  • Download URL: mkdocs-techdocs-core-0.0.9.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for mkdocs-techdocs-core-0.0.9.tar.gz
Algorithm Hash digest
SHA256 82c3b11272516fdca5859d841dbf23672d2592cfcb1cdfb88a733c7770b70746
MD5 8575fe809673dc35798487403c0f6a91
BLAKE2b-256 2ae48297a637a42001f0e9fa94082b694c1c1a6d672cbe1fa6c8848355ecec79

See more details on using hashes here.

File details

Details for the file mkdocs_techdocs_core-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: mkdocs_techdocs_core-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for mkdocs_techdocs_core-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a5a463ef693449cb1c9d28b20637ed0b989cf3712e4cf7fa3a0379baa423aede
MD5 41606a387220169eda8201b071049ec6
BLAKE2b-256 410253211ab1383d0eff930b0716de7d4ad3d97023fa7d57dcb99caf8ff9e4b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page