LINUX.ORG.RU

hugo v0.56.0

 ,


1

3

Hugo – это статический генератор HTML и CSS веб-сайтов, написанный на Go.

Улучшения следующие:

  • Templates:

    • Добавлена функция Merge.
    • Развернут интерфейс
    • Возможность конвертации цифровых значений в float64 и их сравнения.
    • БОльшая детализация ошибок в Where.
    • Возврат сообщения об ошибке при неверном вводе в In.
  • Core:

    • Добавлен symdiff тест.
    • Тестовый файл добавлен в .gitignore.
    • Предотвращена возможность параллельной перенастройки серверов.
    • Добавлены OutputFormats.Get тесты.
    • Добавлены тесты для in/uniq с использованием Pages.
    • Добавлены тесты для Permalinkable.
    • Добавлен тест для исходных ресурсов в шорткодах.

И многое другое.

>>> Подробности

anonymous

Проверено: Shaman007 ()

Ответ на: комментарий от WitcherGeralt

0.56 — новость, серьёзно?

Для использования он уже давно пригоден. Я полгода назад прикидывал как можно было бы переделать наши сайты на нем, если бы стояла такая задача — почти все, что нужно уже есть. Есть небольшая, но решаемая проблема с созданием таблиц с ячейками, объединенными по вертикали (в силу того, что используется маркдаун). Жаль, что (пока?) нельзя напрямую использовать sass/scss. Да комментарии можно прикрутить, только если согласиться с тем, что на сайте будет JS. В остальном — прекрасная возможность быстро сделать статический сайт (то есть нереально быстрый и легкий по меркам современного веба).

Kzer-Za ()
Ответ на: комментарий от Ford_Focus

чем оно лучше jekyll/octopress ?

jekyll/octopress и всякие скриптотные гсс - это скрипты hugo/zola/cobalt - один бинарь

ГСС туфта прибитая гвоздями, нормальной стилизации добиться очень трудно. Все прибито гвоздями. Лучше wordpress или мини-блог на фласке в сто раз лучше.

dimcoin ()
Ответ на: комментарий от ugoday

Ладно я пробуксовался насчет вордпресса, но все же мини-бложик на фласке или на джанге или какой-нибудь express бложик со своими админ панелями. я не говорю что это баг, это тупизна. Например в хьюго нет нормального способа переопределить классы css выводимой markdown контента. Есть конечно replaceRE, но это костыли.

dimcoin ()

Перепробовал несколько генераторов.. Очень быстро упираешься в немощь шаблонизатора и начинаешь обмазываться плагинами и/или пердолить свой код. Остановился на preact/typestyle. И typescript для компиляции tsx-компонентов в nodejs модули

Впрочем, подойдет любой современный js-фреймворк и любой css-in-js. Они давно давно умеют рендерить в строку (т.н. SSR). Щепотка магии и на выходе получается минифицированный статический html-файлик со встроенными стилями.

Маркдаун — ничего проще. Компонента

 <Markdown text={text} /> 
в любом месте страницы. Текст получай как хош и откуда хош в рамках nodejs-процесса. Никаких тебе анальных ограничений генераторов

Благодаря HOC, отдельные куски верстки получаются максимально переносимые. В паре мест заюзал даже реактовый context API для проброса информации о странице глубоко внутрь дерева компонентов (при помощи useContext хука). А на выходе все-равно статика. Чудеса!

Отдельный вид извращений — прегенерация данных для динамических компонент. Например, взять список файлов в директории и засунуть в тэг

<script language=«application/json» />
, для того чтобы SPA компонента галереи, размещенная на этой странице, знала какие картинки лежат на сервере

spoonbob ()
Последнее исправление: spoonbob (всего исправлений: 3)
Ответ на: комментарий от dimcoin

Ну, если вы можете свой блог на фласке запилить, то что мешает hugo на предмет нужных css похачить?

Опять же, глядя на современный веб я всё больше убеждаюсь, что дизайнерам необходимо ставить палки в колёса, чтобы как-то ограничить полёт их фантазий.

ugoday ★★★★★ ()
Ответ на: комментарий от Kzer-Za

Объясните неграмотному: эта штука генерирует хтмл и ксс в статику на основании каких-то данных и каких-то шаблонов. Я правильно понимаю?

Так а пхп вот уже 20 лет так умеет. И вообще любой язык, способный на замены в тексте. В чем прикол?

pihter ★★ ()
Ответ на: комментарий от pihter

И вообще любой язык, способный на замены в тексте. В чем прикол?

Я ничего не знаю на фроентенде, точнее знаю как SPA накидать но UI/UX уже думать надо, сложно, муторно и могу закопаться в css. Захотел себе сайт визитку, неужели все самому делать? А тут куча тем уже готовых, выбираешь понравившуюся, там цвета подобраны, сетка красивая, размер шрифтов, только контент накидать в markdown, набрать hugo в терминале и готово. И выглядит профессионально! :)

Aber ★★ ()
Ответ на: комментарий от pihter

Вдобавок к ответу выше от Aber — это еще и работает быстрее, потому что от сервера требуется только отправить готовые данные , то есть убирается фаза, в которой он генерит страницу. Единственным источником тормозов остается JS, если он на сайте используется. Если нет, то при более-менее сносном инете у пользователя страницы должны открываться моментально. К тому же требования к серверу снижаются по той же причине — генерить ему ничего не надо.

Kzer-Za ()
Ответ на: комментарий от Kzer-Za

К тому же требования к серверу снижаются по той же причине — генерить ему ничего не надо.

Со статикой даже сервера в привычном смысле не надо — можно использовать object storage типа AWS S3.

theNamelessOne ★★★★★ ()
Ответ на: комментарий от dimcoin

ГСС туфта прибитая гвоздями, нормальной стилизации добиться очень трудно. Все прибито гвоздями

возможно я плохо понимаю задачу, но в jekyll можно подключить гемы и/или написать свой плагин на ruby. И получить, по сути, неограниченные возможности шаблонизации.

Ford_Focus ★★★★★ ()
Ответ на: комментарий от th3m3

будут генерировать 1000 страниц - несколько минут

  1. на самом деле нет. если только очень постараться и написать плагин со сложностью O(n)

  2. на самом деле - а какая разница сколько оно работает? этоже генератор, который один раз выполнил и отложил. а для разработки есть live-режим, который пересобирает только изменённые файлы

Ford_Focus ★★★★★ ()
Ответ на: комментарий от Ford_Focus

разница есть - если скажем вы хотите платить центы а не доллары за потраченные ресурсы сервака

а собирать можно по новомодной схеме JAMStack - через лямбда архитектуру

на Go - деплоится быстрее (мало зависимостей, докер не нужен) - поднимается лямбда быстрее, жрет меньше - работает быстрее

а jekkyl/octorpess - этож ruby python c кучей говна - который медленно будет запускаться и жрать кучу памяти

выгода очевидна

anonymous ()
Ответ на: комментарий от Ford_Focus

Разница есть. Если у тебя сайт с +100500 статей и их будет становиться всё больше, то каждый раз - ты будешь ненавидеть jekyll/octopress, как долго они будут собирать сайт. И это без учёта плагинов - просто сами по себе, из коробки - очень плохо шевелятся, по сравнению с тем же Hugo, где всё происходит очень быстро. У меня есть на нём проекты, где сотни статей - всё происходит очень быстро. Да, можно подождать. Но зачем, когда есть шустрый Hugo?

th3m3 ★★★★★ ()
Ответ на: комментарий от th3m3

Если у тебя сайт с +100500 статей и их будет становиться всё больше,

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

ugoday ★★★★★ ()
Ответ на: комментарий от anonymous

сервак сервит статичные файлы, ему до лампы что это за файлы и как их собрали

а собираются они один раз на локальной машине разработчика, которая делает это достаточно редко и ей, в целом, тоже до лампы - что 4 секунды, что 8, что 20

Ford_Focus ★★★★★ ()
Последнее исправление: Ford_Focus (всего исправлений: 1)
Ответ на: комментарий от ugoday

А если это происходит на сервере? У многих стоит связка Caddy + Hugo. Сервера под это дело, как правило на минимальном железе, т.к. много мощностей здесь и не надо. Hugo шустро пересоздал и всё. С джейкилами/октопрессами - это может занять какое-то время. А даже если не на сервере, Ruby все равно еле шевелится.

th3m3 ★★★★★ ()
Ответ на: комментарий от Ford_Focus

а собираются они один раз на локальной машине разработчика

Далеко не факт. Очень популярна связка Caddy + Hugo. Всё делается на сервере + удобная админка для написания/редактирования статей прямо в браузере.

th3m3 ★★★★★ ()
Ответ на: комментарий от th3m3

А если это происходит на сервере?

Да где ж ещё ему происходить?

Hugo шустро пересоздал и всё. С джейкилами/октопрессами - это может занять какое-то время.

Какое время? Вы бы цифр каких добавили, а то без подробностей ничего не понятно. Пока что выглядит, что вы пытаетесь фейсбук на расперипае запустить, но я не уверен.

ugoday ★★★★★ ()
Ответ на: комментарий от bread

Шо там, минутами собирает? Бенчмарки конечно у тебя есть?

Здравый смыл говорит нам, что Golang будет быстрее Ruby. Здесь и без всяких бенчмарков понятно. Есть отзывы в сети, где народ пишет, что эти поделки на Ruby - большие сайты долго собирают. Да это чисто логически даже понятно, без отзывов, тестов и т.д.

th3m3 ★★★★★ ()