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

1"""Pyproject models.""" 

2 

3from typing import Annotated 

4 

5from pydantic import ( 

6 BaseModel, 

7 Field, 

8) 

9 

10from somesy.core.types import HttpUrlStr 

11 

12 

13class MkDocsConfig(BaseModel): 

14 """MkDocs configuration model.""" 

15 

16 model_config = {"use_enum_values": True} 

17 

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