Орион против Хьюго
Orion now has better Twitter integration than Hugo, and it's not even close:https://t.co/7WBeP73Md0
— SunStar Systems (@sunstarsys) June 27, 2026
Предисловие
Я понимаю, что технические сравнения являются религиозным табу во многих кругах. Главное, что я пытаюсь донести, это то, что Орион оплачивается как корпоративный Jamstack Wiki, он имеет много жизнеспособных сценариев использования вне этого конкретного домена проблемы.
Тем не менее, суть этой статьи заключается в том, чтобы представить Orion’s Apache-Licensed SSG как лучший SSG, чем Hugo для вас и ваших команд разработчиков программного обеспечения. Он обладает большей мощностью, большей производительностью, большим количеством основных функций и намного проще в настройке. Плюс это хорошо документированный и имеет неограниченный потенциал для истинных сильных пользователей там, как и вы!
@SunStarSys/orion
НКОТБ
Мнение с постепенной кривой обучения
@GoHugoIo/хуго
Популярные
Надежные сторонние темы и расширения
Мнение с крутой кривой обучения
Общие наборы характеристик
Апач лицензирован
Высокая производительность (максимальная скорость обработки документов при ~1K документов в секунду)1
Управление зависимостями в кэше
Сложная модель безопасности
Орион как Hugo++
(Настраиваемый) Полная мощность шаблонов Django в источниках разметки
Надежный поток управления, фор-петлевые конструкции и фильтры Django
Полный доступ к прикрепленным документам YAML/CSV в виде структур данных
Векторная графика с поддержкой WebGL2
Агрегирование векторных операций в данных таблицы с помощью
PDLssiпропускает заголовки файловПростота использования
Гибкие, реальные инкрементные сборки
ACL для каждого файла/каталога, включая элементы управления стеком программного обеспечения сборки и самой конфигурацией
Интегрированный поиск PCRE
Примеры использования редактора CMS Orion
Загрузка документа на основе MIME-типа (Markdown, Perl, YAML, CSV, )
Автоматическая проверка/заголовок ссылки
Представление предварительного просмотра в реальном времени для
@-короткие ссылки (например твиты)Завершение HTML/вкладки электроэнергии
Многоязычная функциональность перевода с ИИ OOTB — включая китайский, иврит и арабский
шаблонный конвертер статей
Построения приращения Orion
O(N) в сравнении с O(1)
Если вы хотите, чтобы авторы и редакторы вашей вики были довольны вашей системой сборки, она должна поддерживать инкрементные сборки в качестве функции первого заказа, а не маркетинговый трюк, на который обращают внимание как на задний ход*.
Это означает, что вы хотите Orion!
Кэш примитивной зависимости Гюго (Gilding the Lilly)
Комически абсурдные уровни бессмысленной пышности в очень подробных архитектурных схемах, которые ловко избегают указывать слонов в комнате…
https://deepwiki.com/gohugoio/hugo/3.6-dependency-tracking-and-caching
Вот что эта страница не говорит об управлении зависимостями Hugo:
негибкий, внутренний DAG на основе макетов дерева узлов/листов/наборов
никогда не записывается на диск
Хьюго не отслежено readFile вызовы прерывают поддержку инкрементальной сборки
Давайте рассмотрим слона в комнате в этой статье:
Hugo не отслеживает зависимости контента, возникающие из коротких кодов, и делает жесткие допущения DAG о зависимостях контента, которые он отслеживает.
Орион полностью отслеживается ssi вызовы
*Нативные треки Ориона fileB.md.enЗависимость от fileA.md.en и будет восстанавливать его, когда fileA.md.en изменяется; и зависимости дополнительно настраиваются для каждого документа, а не просто предполагаются иерархической структурой.
График зависимостей Ориона почти никогда не является DAG. И это необходимый компонент сборки, а не просто полузащищенная оптимизация, как это происходит с Hugo.
Например, источник разметки этой веб-страницы сам имеет Dependencies: *.md.ru заголовок (вы можете увидеть его на приведенном выше снимке экрана редактора или нажав на источник ссылка, где отображается заголовок и информация об авторе), которая используется Orion для создания элементов под “Индекс” верхний колонтитул страницы.
Все файлы в этом каталоге аналогично настроены для перекрестных ссылок друг на друга!
DAG – это грубое упрощение требований к зависимости контента в реальных сценариях использования.
Контроль версий
Git и Fine-Grained ACL
Невозможно в любом DVCS, как git — доступ для чтения к репозиторию подразумевает доступ ко всей его целостности, включая полную историю. Ditto для push-доступа: это все или ничего, что является нарушителем сделки в вики-контексте, где разные пользователи репозитория требуют детализированного файла / каталога авторизации записи / контроля доступа.
Подвержение
Тривиальная интеграция per-user с git/GitHub через git-svn мост, упакованный как расширение дополнения каждым git распределение.
Сноски
1. Для сравнения яблок с яблоками я портил подмножество https://www.openoffice.org JBake исходное дерево @apache/openoffice-org в Hugo и сравнение его с простым hyde Тема, которая только что выбрала body innerHTML из .html источники (переименованные как .md файлы со встроенным html) a’la
{{ define "main" -}}
<div class="post">
<h1>{{ .Title }}</h1>
<time datetime={{ .Date.Format "2006-01-02T15:04:05Z0700" }} class="post-date">{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
{{ $matches := findRESubmatch `(?s)<body[^>]*>(.*?)</body>` .Content }}
{{ range $matches }}{{ index . 1 | safeHTML }}{{ end }}
</div>
{{ if .Site.Config.Services.Disqus.Shortname -}}
<h2>Comments</h2>
{{ template "_internal/disqus.html" . }}
{{- end }}
{{- end }}
А вот и hugo.toml файл:
baseURL = 'https://openoffice.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
theme = "hyde"
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
Для обработки таких файлов 10K обычно требуется 8-12 секунд (иногда до 30s). По сравнению с сборкой @SunStarSys/orion ./test.sh ooo который последовательно создает более 20K таких файлов примерно в 2-3x время, кажется, между ними есть паритет производительности на наименее сложных, но очень больших веб-сайтах, таких как https://www.OpenOffice.org.
Однако Орион способен на гораздо больше, если вам нужна истинная гибкость и правильная инкрементальная поддержка сборки, потому что мы думаем, что вы знаете, что лучше всего работает для вашего сайта, в отличие от остального перегруженного сообщества SSG вокруг Hugo.
2. Полная поддержка огороженного asy блоки разметки с источниками, закодированными в @vectorgraphics/asymptote .