Перейти к содержимому
Lotus Docs

Lotus Docs

Тема для движка Hugo

Версия0.3.0 (2026-04-17)
Проверено2026-10-17
Готовность для мультиязычного проекта
вики 68 % проверено 21 из 31
сайт 77 % проверено 22 из 34
как считается
Мнение авторане выберу Не подходит: для нового проекта слишком много недочётов. Главное — языки (меню языков ведёт на несуществующие страницы, нет hreflang) и поиск (полный текст всех статей вшит в каждую страницу). (2026-10-17)
Ценабесплатно
ЛицензияMIT
Репозиторийhttps://github.com/colinwilson/lotusdocs
Демоhttps://lotusdocs.dev/docs/
CSSBootstrap 5.3 (SCSS собирается самим Hugo — нужна версия extended)
Версия Hugo0.140 и новее, extended; на 0.165 собирается с предупреждениями об устаревших функциях
JavaScriptBootstrap, Prism для подсветки кода, FlexSearch для поиска
Node.jsНе нужен
Переводы интерфейсаИнтерфейс темы переведён только на de, en, fr, pt

Поиск работает в браузере, на FlexSearch.

Где работаетв браузере посетителя (JavaScript)
На чём построенFlexSearch — небольшая библиотека на JavaScript: ищет прямо в браузере посетителя, сервер ей не нужен.
Откуда берёт текстыТексты всех статей вставляются прямо в каждую страницу сайта. В тестовой вики при 17 русских статьях страница выросла с 53 до 175 КБ — и будет расти с каждой новой статьёй.
ЯзыкиИщет на любом языке, в том числе на украинском, но формы слов не понимает — только начало слова: «мульти» найдёт «мультиязычность», а «языками» не найдёт статью со словом «языков».
Что можно настроить в темеВыбрать, что искать — только названия или весь текст, — в настройках темы нельзя: Lotus Docs всегда кладёт в поиск весь текст. Это ограничение темы, а не FlexSearch: в Hextra на том же FlexSearch такая настройка есть. Вместо FlexSearch можно включить Algolia DocSearch — поиск на стороне внешнего сервиса Algolia. Поставить Pagefind можно только переделав шаблоны темы.
ОграниченияСразу после установки ищет только в разделе /docs/. Чтобы искал по вашим разделам, в настройках нужна строка searchSectionsIndex.
Проверено2026-10-17

Плюсы

  • Аккуратная раскладка документации: боковое меню слева, оглавление справа, на телефоне оглавление — выпадающим списком.
  • Оглавление отключается на отдельной странице параметром toc: false.
  • Подсветка кода Prism: 297 языков, кнопка «копировать», выделение строк; можно переключить на подсветку самим Hugo (prism = false).
  • Хлебные крошки размечены Schema.org BreadcrumbList.
  • Open Graph и автоматическая картинка-карточка для соцсетей.
  • Обработчик ссылок находит битые внутренние ссылки при сборке.
  • Собирается без Go: тему и зависимости можно положить в themes/ и подключить через replacements.

Минусы

  • Меню языков для языков без перевода ведёт на несуществующие страницы /en/docs, /uk/docs, /pt/docs (ошибка 404).
  • Нет hreflang в <head>, нет заготовок для своего кода — для hreflang и JSON-LD придётся копировать шаблоны темы.
  • Индекс поиска с полным текстом всех статей вшит в каждую страницу — для большой вики не подходит.
  • Боковое меню показывает только текущий раздел; скрыть статью или рубрику и отключить меню на странице нельзя.
  • Тема рассчитана на раздел /docs/ и ставит на главную свой рекламный лендинг — исправляется настройкой cascade.
  • Нет блока «шаги», нет шаблонов для тегов и рубрик.
  • Интерфейс не переведён на uk и ru; часть подписей вшита на английском.
  • Использует устаревшие функции Hugo; последний релиз — апрель 2026.

Общее впечатление

Тема для документации на Bootstrap. Проверена на тестовом наборе вики: 4 языка, часть статей только на ru.

Для вики с несколькими языками у неё те же пробелы, что у Hextra: меню языков ведёт на несуществующие страницы, hreflang нет. Но здесь хуже: нет заготовок для своего кода, поэтому любые правки — это копии шаблонов темы. Самое серьёзное для вики — поиск: полный текст всех статей вшит в каждую страницу, и с ростом вики страницы будут становиться всё тяжелее. Боковое меню показывает только текущий раздел и не управляется параметрами.

Сильные стороны — оглавление (справа, на телефоне выпадающим списком, отключается на странице), подсветка кода и разметка хлебных крошек.

Что пришлось доработать

Свои разделы вместо /docs/

ПроблемаТема рассчитана на то, что вся документация лежит в /docs/; разделы вики лежат в корне (/guides/, /scripts/).
Что сделаноВ конфиге всем страницам, включая главную, назначен тип docs через cascade — адреса не меняются, на главной свой контент вместо лендинга темы.
Файлыlab/hugo-lotusdocs/hugo.toml
Объём работынебольшой
[[cascade]]
  type = "docs"
  [cascade.target]
    kind = "{home,section,page}"
ПроблемаПоиск по умолчанию индексирует только раздел /docs/, статьи вики в него не попадают.
Что сделаноПараметр темы searchSectionsIndex указывает тип страниц для поиска.
Файлыlab/hugo-lotusdocs/hugo.toml
Объём работынебольшой
Требованиеsite-search
[params.flexsearch]
  enabled = true
  searchSectionsIndex = ["docs"]

Результаты по требованиям с этой темой

Многие результаты задаёт сам Hugo, и они одинаковы для всех тем: языковые адреса, работа без базы данных, генерация страниц из данных. От темы зависят меню языков, hreflang, поиск и места для своего кода — их нужно проверять у каждой темы отдельно. Значок в пунктирной рамке — результат перенесён из проверки с другой темой этого движка. Наведите на значок, чтобы увидеть подробности.

ТребованиеРезультатОт чего зависитПримечание
Мультиязычность
Материал можно начать на неосновном языке ml-author-any-langдадвижокстраница только на ru (/ru/o-proekte/) собирается без заглушки en
Переключатель языков показывает только существующие переводы ml-switcher-existingдоработкатемадля языков без перевода меню ведёт на /en/docs, /uk/docs, /pt/docs — таких страниц нет, это 404; исправляется своей копией i18nlist.html
hreflang только на существующие переводы ml-hreflang-existing проверить ↗доработкатемав <head> hreflang нет; в меню языков rel=alternate hreflang стоит и на несуществующие переводы; заготовки для своего кода в head нет — придётся копировать head.html
Нет автостраниц с контентом основного языка ml-no-fallback-pages проверить ↗датемастатья только на ru существует только на ru; пустых страниц на других языках нет, в sitemap их тоже нет
Основной язык в корне, остальные с префиксом ml-default-rootдадвижокdefaultContentLanguageInSubdir = false: en в корне, ru на /ru/
Атрибут lang в нужном формате ml-html-langдатемаhtml lang берётся из locale языка: en, ru, pt-br
Переводы интерфейса для en, uk, ru, pt-BR ml-ui-stringsдоработкатемапереводы интерфейса темы только de, en, fr, pt; подписи «Table of Contents» и «On this page» вшиты в шаблоны на английском
Контент доступен для автоматического перевода ИИ ml-ai-translatableдадвижокстатьи — обычные Markdown-файлы; в рабочем проекте их переводит скрипт через Gemini
Статьи, навигация и поиск
Управление боковым меню sidebar-controlнеттемапоказывает только текущий раздел; скрыть статью или рубрику параметром нельзя; отключить меню на странице нельзя; вложенность до 4 уровней
Оглавление статьи toc-controlдатемасправа от статьи, на телефоне — выпадающим списком; отключается на странице параметром toc: false; глубина — настройкой Hugo; подписи на английском
Перелинковка как в DokuWiki internal-linksдоработкатемаобычные ссылки Markdown; в теме есть обработчик ссылок, который находит битые внутренние ссылки (уровень ошибки настраивается)
Таксономии (теги, рубрики, свои классификаторы) taxonomiesдоработкатемашаблонов для тегов и рубрик в теме нет, в статье теги не выводятся; страницы списков строит сам Hugo в общем шаблоне
Поиск по сайту site-searchдоработкатемапо умолчанию ищет только в разделе /docs/; для своих разделов — параметр searchSectionsIndex. Индекс с полным текстом всех статей вшит в HTML каждой страницы
Гибкость поиска search-replaceableдоработкатемазамена: настройкой на Algolia DocSearch (внешний сервис), Pagefind — только своими копиями шаблонов; языки: любые, формы слов не понимает; где искать: не настраивается, всегда весь текст
Подсветка кода code-highlightдатемаPrism в браузере, 297 языков подгружаются по мере надобности, кнопка «копировать», выделение строк; можно переключить на подсветку самим Hugo (prism = false)
Пошаговые инструкции content-stepsнеттемаблока «шаги» нет; есть alert, tabs, table, katex
Свой код в шаблоны без правки темы (Inject Partials) theme-inject-partialsнеттемазаготовок для своего кода (в head, до и после статьи) нет — только копировать шаблоны темы
Генерация страниц из данных (pSEO) data-pagesдадвижокmodule.mounts: data/products → content/cms, data/*.yaml → hugo.Data, без копирования
SEO
title, description и OG на уровне записи seo-meta проверить ↗датемаtitle, description, Open Graph; тема сама генерирует картинку-карточку для og:image
Микроразметка schema.org seo-schemaдоработкатемахлебные крошки размечены BreadcrumbList; Article в JSON-LD нет, заготовки для своего кода в head нет
Хранение и окружение
Работает без сервера БД no-dbдадвижокSSG, контент в Markdown и YAML
Работает в окружении Nginx + PHP-FPM 8.5 runtime-phpдадвижокPHP не нужен: Nginx отдаёт статику