{% extends layout %} {% import "macros.html" as m %} {% block content %}
A duplicate name is refused rather than merged: a collection is a deliberate object, and handing back an existing one under the same name joins two sets somebody kept apart.
{% if panels.collections.ok %} {% if panels.collections.data.collections %}Applying a tag that already exists is the normal case, so creating one is idempotent. Names are normalized to NFKC, so two keyboards produce one tag.
{% if panels.tags.ok %} {% if panels.tags.data.tags %}