Hyppää sisältöön

Development Environment Requirements

Python, MkDocs Material & CSS

Tämä projekti käyttää MkDocs‑ekosysteemiä dokumentaation rakentamiseen.
Alla on selkeä ja testattu kokonaisuus, joka varmistaa toimivan ympäristön kaikilla alustoilla.


1. Python Version Requirement

Projektin kehitysympäristö vaatii:

  • Python 3.11 (suositeltu ja tuettu)
  • Python 3.12 ja 3.13 eivät ole yhteensopivia uusimpien MkDocs‑pakettien kanssa
  • Virtuaaliympäristö luodaan aina Python 3.11:llä:
py -3.11 -m venv venv
source venv/Scripts/activate

Python‑versiota ei määritetä requirements.txt‑tiedostossa, vaan venv hallitsee version.

2. MkDocs Material Version Requirement

MkDocs Materialin 10.x‑sarjaa ei ole julkaistu PyPI:ssä. Uusin saatavilla oleva versio on: - mkdocs-material 9.7.1

Siksi requirements.txt sisältää:

mkdocs-material>=9.7.1

Tämä on viimeinen virallisesti julkaistu versio ja toimii täydellisesti Python 3.11:n kanssa.

3. Sticky Tabs Support (Material 9.x)

Material 9.x ei sisällä natiivia navigation.tabs.sticky ‑tukea. Sticky‑tabs toimii tässä projektissa CSS‑patchilla, joka on lisätty extra.css‑tiedostoon.

Sticky Tabs CSS (Material 9.7.1)

/* Sticky header */
header.md-header {
    position: sticky;
    top: 0;
    z-index: 2000;
}

/* Sticky tabs for Material 9.x */
.md-tabs {
    position: sticky;
    top: 4rem; /* header height */
    z-index: 1500;
    background: var(--md-primary-fg-color);
    overflow: visible;
}

.md-tabs__list {
    overflow-x: auto;
    overflow-y: visible;
    white-space: nowrap;
}

4. Requirements File

mkdocs>=1.6.0
mkdocs-material>=9.7.1
mkdocs-material-extensions>=1.3.0
mkdocs-awesome-pages-plugin>=2.9.0
mkdocs-linkcheck>=1.0.6
pymdown-extensions>=10.0

Summary

  • Python 3.11 on ainoa täysin yhteensopiva versio
  • mkdocs-material 10.x ei ole julkaistu → käytetään 9.7.1
  • sticky tabs toimii CSS‑patchilla Material 9.x:ssä
  • venv luodaan aina Python 3.11:llä