Skip to content

CLI Themes Resource

CLIThemesResource(cli)

Bases: BaseCLIResource

CLI resource for theme management.

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

current() async

Get the current theme information.

Returns:

Type Description
dict[str, Any]

Current theme details.

Source code in src/aiobsidian/cli/themes.py
async def current(self) -> dict[str, Any]:
    """Get the current theme information.

    Returns:
        Current theme details.
    """
    output = await self._cli._execute("theme")
    result: dict[str, Any] = json.loads(output)
    return result

set(name) async

Change the active theme.

Parameters:

Name Type Description Default
name str

Theme name to activate.

required
Source code in src/aiobsidian/cli/themes.py
async def set(self, name: str) -> None:
    """Change the active theme.

    Args:
        name: Theme name to activate.
    """
    await self._cli._execute("theme:set", params={"name": name})

install(name, *, enable=False) async

Install a theme from the community registry.

Parameters:

Name Type Description Default
name str

Theme name to install.

required
enable bool

If True, activate the theme after installation.

False
Source code in src/aiobsidian/cli/themes.py
async def install(self, name: str, *, enable: bool = False) -> None:
    """Install a theme from the community registry.

    Args:
        name: Theme name to install.
        enable: If ``True``, activate the theme after installation.
    """
    flags = ["--enable"] if enable else None
    await self._cli._execute("theme:install", params={"name": name}, flags=flags)

uninstall(name) async

Uninstall a theme.

Parameters:

Name Type Description Default
name str

Theme name to uninstall.

required
Source code in src/aiobsidian/cli/themes.py
async def uninstall(self, name: str) -> None:
    """Uninstall a theme.

    Args:
        name: Theme name to uninstall.
    """
    await self._cli._execute("theme:uninstall", params={"name": name})

list(*, versions=False) async

List all installed themes.

Parameters:

Name Type Description Default
versions bool

If True, include version information.

False

Returns:

Type Description
list[dict[str, Any]]

List of theme objects.

Source code in src/aiobsidian/cli/themes.py
async def list(self, *, versions: bool = False) -> list[dict[str, Any]]:
    """List all installed themes.

    Args:
        versions: If ``True``, include version information.

    Returns:
        List of theme objects.
    """
    flags = ["--versions"] if versions else None
    output = await self._cli._execute("themes", flags=flags)
    result: list[dict[str, Any]] = json.loads(output)
    return result