Почему миксин PUG делает из «xlink:href» просто «href»?

Миксины в Pug - это прекрасный способ организовать повторно используемый код в ваших шаблонах. Однако, поскольку Pug - это язык разметки, не все атрибуты HTML имеют свои аналоги в Pug.

Pug предоставляет несколько сокращенных записей для особо часто используемых атрибутов, чтобы сделать код более компактным и легким для чтения. Например, вместо написания полного атрибута "xlink:href" вы можете использовать сокращенную запись "href", как вы указали.

Однако, необходимо понимать, что это может вести к некоторым проблемам в случае использования некоторых SVG-элементов, которые требуют атрибута "xlink:href" для правильной работы.

Если вы хотите использовать полный атрибут "xlink:href" для элемента в Pug, вам нужно явно указать его, используя следующую синтаксическую конструкцию:

svg
  // Здесь явно указываем атрибут xlink:href
  use(xlink:href="https://example.com")

Это гарантирует, что атрибут "xlink:href" будет создан в генерируемом HTML-коде.

Теперь вам ясно, почему миксин Pug делает из "xlink:href" просто "href". Pug предоставляет сокращенную запись для атрибутов HTML, чтобы сделать код более компактным и легким для чтения, но это может вызвать проблемы с SVG-элементами, которые требуют полного атрибута "xlink:href". Если вам необходимо использовать полный атрибут, вы можете явно указать его в шаблоне Pug.