{{v}} Tags:
- {%- for x in this|groupby(k, recursive=True)|list|unique|sort %}
+ {%- for x in this|vgroups(k, recursive=True)|unique|sort %}
({{x.key}})
{%- endfor %}
diff --git a/lektor_groupby/plugin.py b/lektor_groupby/plugin.py
index 221a2d7..c9fc1c1 100644
--- a/lektor_groupby/plugin.py
+++ b/lektor_groupby/plugin.py
@@ -16,7 +16,7 @@ class GroupByPlugin(Plugin):
def on_setup_env(self, **extra: object) -> None:
self.creator = GroupBy()
self.env.add_build_program(GroupBySource, GroupByBuildProgram)
- self.env.jinja_env.filters.update(groupby=GroupBySource.of_record)
+ self.env.jinja_env.filters.update(vgroups=GroupBySource.of_record)
# resolve /tag/rss/ -> /tag/rss/index.html (local server only)
@self.env.urlresolver
diff --git a/lektor_groupby/vobj.py b/lektor_groupby/vobj.py
index 5e7b603..6c7054b 100644
--- a/lektor_groupby/vobj.py
+++ b/lektor_groupby/vobj.py
@@ -147,9 +147,9 @@ class GroupBySource(VirtualSourceObject):
def _reverse_reference_records(self) -> None:
''' Attach self to page records. '''
for child in self._children:
- if not hasattr(child, '_groupby'):
- child._groupby = WeakSet() # type: ignore[attr-defined]
- child._groupby.add(self) # type: ignore[attr-defined]
+ if not hasattr(child, '_vgroups'):
+ child._vgroups = WeakSet() # type: ignore[attr-defined]
+ child._vgroups.add(self) # type: ignore[attr-defined]
@staticmethod
def of_record(
@@ -169,9 +169,9 @@ class GroupBySource(VirtualSourceObject):
page = proc_list.pop(0)
if recursive and hasattr(page, 'children'):
proc_list.extend(page.children) # type: ignore[attr-defined]
- if not hasattr(page, '_groupby'):
+ if not hasattr(page, '_vgroups'):
continue
- for vobj in page._groupby: # type: ignore[attr-defined]
+ for vobj in page._vgroups: # type: ignore[attr-defined]
if not keys or vobj.config.key in keys:
yield vobj