Skip to content

CLI Templates Resource

CLITemplatesResource(cli)

Bases: BaseCLIResource

CLI resource for template operations.

Attributes:

Name Type Description
_cli

Reference to the parent ObsidianCLI instance.

Source code in src/aiobsidian/cli/_base.py
def __init__(self, cli: ObsidianCLI) -> None:
    self._cli = cli

read(name, *, title=None, resolve=False) async

Read a template's content.

Parameters:

Name Type Description Default
name str

Template name.

required
title str | None

Title to substitute when resolving template variables.

None
resolve bool

If True, resolve template variables in the output.

False

Returns:

Type Description
str

Template content as a string.

Source code in src/aiobsidian/cli/templates.py
async def read(
    self,
    name: str,
    *,
    title: str | None = None,
    resolve: bool = False,
) -> str:
    """Read a template's content.

    Args:
        name: Template name.
        title: Title to substitute when resolving template variables.
        resolve: If ``True``, resolve template variables in the output.

    Returns:
        Template content as a string.
    """
    params: dict[str, str] = {"name": name}
    if title:
        params["title"] = title
    flags = ["--resolve"] if resolve else None
    return await self._cli._execute("template:read", params=params, flags=flags)

insert(name) async

Insert a template into the active file.

Parameters:

Name Type Description Default
name str

Template name to insert.

required
Source code in src/aiobsidian/cli/templates.py
async def insert(self, name: str) -> None:
    """Insert a template into the active file.

    Args:
        name: Template name to insert.
    """
    await self._cli._execute("template:insert", params={"name": name})

list() async

List available templates.

Returns:

Type Description
list[dict[str, Any]]

List of template objects.

Source code in src/aiobsidian/cli/templates.py
async def list(self) -> list[dict[str, Any]]:
    """List available templates.

    Returns:
        List of template objects.
    """
    output = await self._cli._execute("templates")
    result: list[dict[str, Any]] = json.loads(output)
    return result