Назад к панели управления

Документация

Узнайте, как использовать Asyntai

Как добавить ИИ-чат-бот Asyntai в Hugo

Пошаговое руководство для генератора статических сайтов Hugo

Получить код встраивания

Шаг 1: Получите код встраивания

Сначала перейдите на Панель управления Asyntai и прокрутите вниз до раздела «Код для встраивания». Скопируйте уникальный код, который выглядит так:

<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

Примечание: Код выше — всего лишь пример. Вы должны скопировать свой уникальный код для встраивания с вашей Панели управления, так как он содержит ваш персональный идентификатор виджета.

Шаг 2: Добавьте код в partial темы (рекомендуется)

Лучший способ добавить чат-бот на все страницы вашего сайта на Hugo — создать partial:

  1. Перейдите в каталог layouts/partials/ вашего проекта Hugo
  2. Создайте новый файл asyntai-widget.html
  3. Вставьте код встраивания Asyntai в этот файл:
<!-- layouts/partials/asyntai-widget.html --> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  1. Откройте файл baseof.html вашей темы (обычно в layouts/_default/baseof.html)
  2. Добавьте код вставки непосредственно перед закрывающим тегом </body>:
{{ partial "asyntai-widget.html" . }} </body> </html>
  1. Сохраните файл и пересоберите Hugo-сайт

Совет: Использование шаблонных фрагментов — рекомендуемый Hugo способ включения переиспользуемых компонентов. Этот метод гарантирует появление чат-бота на каждой странице, использующей шаблон baseof.html, что, как правило, охватывает все страницы сайта.

Альтернативный способ 1: Добавить в Head Partial

Если в вашей теме есть фрагмент head, вы можете добавить код туда:

  1. Найдите head partial вашей темы (обычно layouts/partials/head.html)
  2. Если его нет, создайте layouts/partials/head.html в корне вашего проекта
  3. Добавьте код Asyntai в этот файл:
<!-- layouts/partials/head.html --> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  1. Убедитесь, что ваш baseof.html включает этот шаблон в раздел <head>:
<head> {{ partial "head.html" . }} </head>

Примечание: Если в вашей теме уже есть фрагмент head.html с существующим контентом, просто добавьте код Asyntai в конец. Не заменяйте существующий контент.

Альтернативный способ 2: Папка static с пользовательским JavaScript

Для более модульного подхода используйте папку static в Hugo:

  1. Перейдите в каталог static/js/ вашего проекта Hugo
  2. Создайте каталог, если он не существует
  3. Создайте новый файл asyntai-loader.js
  4. Добавьте следующий код для загрузки виджета:
// static/js/asyntai-loader.js (function() { var script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.head.appendChild(script); })();
  1. Ссылайтесь на этот файл в baseof.html или фрагменте футера перед </body>:
<script src="{{ "js/asyntai-loader.js" | relURL }}"></script> </body>

Совет: Файлы в директории static/ копируются без изменений в корень опубликованного сайта. Функция relURL генерирует правильный относительный путь для вашего развёртывания.

Альтернативный метод 3: конфигурация Hugo (config.toml/yaml)

Для некоторых тем Hugo, поддерживающих пользовательские скрипты через конфигурацию:

# config.toml [params] customJS = ["https://asyntai.com/static/js/chat-widget.js"] # Or in config.yaml params: customJS: - https://asyntai.com/static/js/chat-widget.js

Примечание: Этот метод работает только если ваша тема поддерживает параметр customJS. Проверьте документацию темы. Вам также может потребоваться добавить атрибут data-asyntai-id через настройку темы.

Альтернативный метод 4: Front Matter (для конкретных страниц)

Чтобы добавить чат-бот только на определённые страницы:

  1. Добавьте пользовательский параметр в блок front matter вашей страницы:
--- title: "My Page" asyntaiWidget: true ---
  1. В вашем baseof.html или partial добавьте условную логику:
{{ if .Params.asyntaiWidget }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {{ end }}

Совет: Этот подход даёт вам детальный контроль над тем, на каких страницах размещается чат-бот. Он полезен для документационных сайтов, где виджет нужен только в определённых разделах.

Альтернативный способ 5: Переопределение макетов темы

Чтобы переопределить макет темы без изменения файлов темы:

  1. Скопируйте файл baseof.html из themes/ваша-тема/layouts/_default/
  2. Вставьте это в файл layouts/_default/baseof.html вашего проекта
  3. Добавьте код вставки Asyntai перед закрывающим тегом </body>
  4. Сохраните и пересоберите ваш сайт

Важно: При переопределении файлов темы вы не будете автоматически получать обновления для этих файлов при обновлении темы. Этот метод даёт полный контроль, но требует большего обслуживания. Рассмотрите использование partial-файлов для упрощения обновления темы.

Шаг 3: Сборка и развёртывание

После добавления кода соберите свой Hugo-сайт:

# Build the site hugo # Or build with specific environment hugo --environment production # For development preview hugo server
  1. Сгенерированный сайт будет находиться в каталоге public/
  2. Разверните эту директорию на вашей хостинг-платформе (Netlify, Vercel, GitHub Pages и т.д.)

Совет: В процессе разработки используйте hugo server для предпросмотра сайта локально по адресу http://localhost:1313. Чат-бот должен появиться в правом нижнем углу на всех страницах.

Шаг 4: Проверка установки

После деплоя сайта Hugo откройте его в новой вкладке браузера. Вы должны увидеть кнопку виджета чата в правом нижнем углу. Нажмите на неё, чтобы убедиться, что всё работает.

Виджет не отображается? Убедитесь, что вы пересобрали сайт командой hugo после внесения изменений. Проверьте, что вы заменили YOUR_WIDGET_ID на фактический ID виджета из панели управления. Очистите кэш браузера или откройте сайт в режиме инкогнито. При использовании CDN может потребоваться инвалидация кэша. Откройте консоль браузера (F12) для проверки ошибок JavaScript.