<div x-data="{ title: 'Привет, Мир' }">  <input type="text" x-model="title" />
  <input class="mt-2" type="text" x-slug.keep-case="title" /></div>Slug
Плагин Slug облегчит вам задачу создания красивых адресов из заданных строк.
Вы можете использовать этот плагин, включив его из тега <script> или установив с помощью менеджера пакетов.
Вы можете подключить CDN-сборку этого плагина с помощью тега <script>, только подключать нужно ДО основного JS-файла Alpine.
<!-- Slug Plugin --><script defer src="https://cdn.jsdelivr.net/npm/alpinejs-slug@latest/dist/slug.min.js"></script>
<!-- Alpine Core --><script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js"></script><!-- Slug Plugin --><script defer src="https://unpkg.com/alpinejs-slug@latest/dist/slug.min.js"></script>
<!-- Alpine Core --><script defer src="https://unpkg.com/alpinejs@3/dist/cdn.min.js"></script>Вы можете установить Slug для использования внутри вашей сборки следующим образом:
npm i alpinejs-slugpnpm add alpinejs-slugyarn add alpinejs-slugЗатем инициализируйте его в своей сборке:
import Alpine from 'alpinejs';import slug from 'alpinejs-slug';
Alpine.plugin(slug);Alpine.start();Модификатор keep-case позволяет сохранять регистр слов в строке после преобразования в слаг.
Значение по умолчанию: false
Модификатор replacement отвечает за символ замены пробела.
Значение по умолчанию: -
<div x-data="{ title: 'Привет, Мир' }">  <input type="text" x-model="title" />  <p x-slug.replacement._="title"></p></div>Модификатор not-strict позволяет включить нестрогое преобразование. Например, при строгом преобразовании такие символы, как восклицательный знак, исчезают, а при нестрогом, наоборот, остаются.
Значение по умолчанию: false
<div x-data="{ title: 'Привет, Мир!' }">  <input type="text" x-model="title" />  <p x-slug.not-strict="title"></p></div>По умолчанию любые пробелы вокруг преобразуемой строки просто исчезают. А при добавлении этого модификатора — заменяются на символ, указанный модификатором replacement.
Значение по умолчанию: false
<div x-data="{ title: ' Привет, Мир ' }">  <input type="text" x-model="title" />  <p x-slug.untrimmed="title"></p>  <p x-slug.untrimmed.replacement._="title"></p></div>Вы можете задать преобразование конкретных символов в зависимости от локали. Текущий список поддерживаемых локалей и символов доступен по ссылке.
Значение по умолчанию: {}
<div x-data="{ title: 'Alpine JS! ♥' }">  <input type="text" x-model="title" />  <p x-slug="title"></p>  <p x-slug.locale.de="title"></p></div>Предотвращает изменение входного значения x-slug при загрузке страницы. Он будет меняться только при изменении входного x-slug, на который нацелен запрос.
Значение по умолчанию: false
<div x-data="{ title: 'Привет, Мир!' }">  <input type="text" x-model="title" />  <p x-slug.lazy="title"></p></div>