Coverage for src/somesy/mkdocs/models.py: 100%
12 statements
« prev ^ index » next coverage.py v7.3.2, created at 2024-04-30 09:42 +0000
« prev ^ index » next coverage.py v7.3.2, created at 2024-04-30 09:42 +0000
1"""Pyproject models."""
2from typing import Optional
4from pydantic import (
5 BaseModel,
6 Field,
7)
8from typing_extensions import Annotated
10from somesy.core.types import HttpUrlStr
13class MkDocsConfig(BaseModel):
14 """MkDocs configuration model."""
16 model_config = dict(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[
23 Optional[str], Field(description="Site description")
24 ] = None
25 site_author: Annotated[Optional[str], Field(description="Site authors")] = None
26 site_url: Annotated[Optional[HttpUrlStr], Field(description="Site homepage")] = None
27 repo_url: Annotated[
28 Optional[HttpUrlStr], Field(description="Package repository")
29 ] = None
30 repo_name: Annotated[Optional[str], Field(description="Repository name")] = None