diff --git a/mkdocs_gen_files/nav.py b/mkdocs_gen_files/nav.py index 4523bb4..13e548b 100644 --- a/mkdocs_gen_files/nav.py +++ b/mkdocs_gen_files/nav.py @@ -29,8 +29,6 @@ def __setitem__(self, keys: str | tuple[str, ...], value: str): if isinstance(keys, str): keys = (keys,) cur = self._data - if not keys: - raise ValueError(f"The navigation path must not be empty (got {keys!r})") for key in keys: if not isinstance(key, str): raise TypeError( @@ -43,7 +41,9 @@ def __setitem__(self, keys: str | tuple[str, ...], value: str): def items(self) -> Iterable[Item]: """Allows viewing the nav as a flattened sequence.""" - return self._items(self._data, 0) + if None in self._data: + yield self.Item(level=0, title="", filename=self._data[None]) + yield from self._items(self._data, 0) @classmethod def _items(cls, data: Mapping, level: int) -> Iterable[Item]: diff --git a/tests/nav/test_nav_none.yml b/tests/nav/test_nav_none.yml new file mode 100644 index 0000000..2d00ee6 --- /dev/null +++ b/tests/nav/test_nav_none.yml @@ -0,0 +1,8 @@ +code: | + nav[()] = "index.md" + nav["a"] = "a/index.md" + nav["a", "b"] = "a/b.md" +output: | + * [](index.md) + * [a](a/index.md) + * [b](a/b.md)