Coverage for src/somesy/mkdocs/models.py: 100%
11 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-04 11:35 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-04 11:35 +0000
1"""Pyproject models."""
3from typing import Annotated
5from pydantic import (
6 BaseModel,
7 Field,
8)
10from somesy.core.types import HttpUrlStr
13class MkDocsConfig(BaseModel):
14 """MkDocs configuration model."""
16 model_config = {"use_enum_values": True}
18 site_name: Annotated[
19 str,
20 Field(pattern=r"^[A-Za-z0-9]+([_-][A-Za-z0-9]+)*$", description="Site name"),
21 ]
22 site_description: Annotated[str | None, Field(description="Site description")] = (
23 None
24 )
25 site_author: Annotated[str | None, Field(description="Site authors")] = None
26 site_url: Annotated[HttpUrlStr | None, Field(description="Site homepage")] = None
27 repo_url: Annotated[HttpUrlStr | None, Field(description="Package repository")] = (
28 None
29 )
30 repo_name: Annotated[str | None, Field(description="Repository name")] = None