Edit on GitHub

hexdoc.data

1__all__ = ["HexdocMetadata", "load_metadata_textures"]
2
3from .metadata import HexdocMetadata, load_metadata_textures
class HexdocMetadata(hexdoc.model.base.HexdocModel):
 9class HexdocMetadata(HexdocModel):
10    """Automatically generated at `export_dir/modid.hexdoc.json`."""
11
12    book_url: PydanticURL | None
13    """Github Pages base url."""
14    asset_url: PydanticURL
15    """raw.githubusercontent.com base url."""
16    textures: TextureLookups[Texture]
17
18    @classmethod
19    def path(cls, modid: str) -> Path:
20        return Path(f"{modid}.hexdoc.json")

Automatically generated at export_dir/modid.hexdoc.json.

book_url: Optional[Annotated[yarl.URL, GetPydanticSchema(get_pydantic_core_schema=<function <lambda> at 0x7f29b2e59760>, get_pydantic_json_schema=None)]]

Github Pages base url.

asset_url: typing.Annotated[yarl.URL, GetPydanticSchema(get_pydantic_core_schema=<function <lambda> at 0x7f29b2e59760>, get_pydantic_json_schema=None)]

raw.githubusercontent.com base url.

textures: collections.defaultdict[str, typing.Annotated[dict[hexdoc.core.ResourceLocation, typing.Annotated[hexdoc.minecraft.assets.PNGTexture | hexdoc.minecraft.assets.AnimatedTexture | hexdoc.minecraft.assets.SingleItemTexture | hexdoc.minecraft.assets.MultiItemTexture, SerializeAsAny()]], FieldInfo(annotation=NoneType, required=False, default_factory=dict)]]
@classmethod
def path(cls, modid: str) -> pathlib.Path:
18    @classmethod
19    def path(cls, modid: str) -> Path:
20        return Path(f"{modid}.hexdoc.json")
def load_metadata_textures(all_metadata: dict[str, HexdocMetadata]):
23def load_metadata_textures(all_metadata: dict[str, HexdocMetadata]):
24    lookups = TextureLookups[Texture](dict)
25
26    for metadata in all_metadata.values():
27        for classname, lookup in metadata.textures.items():
28            lookups[classname] |= lookup
29
30    return lookups