<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Hugo-on-Steroids</id>
	<title>Hugo-on-Steroids - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Hugo-on-Steroids"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Hugo-on-Steroids&amp;action=history"/>
	<updated>2026-10-12T12:24:42Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=Hugo-on-Steroids&amp;diff=632&amp;oldid=prev</id>
		<title>Romych в 09:53, 9 лютого 2020</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Hugo-on-Steroids&amp;diff=632&amp;oldid=prev"/>
		<updated>2020-02-09T09:53:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;←[[Hugo]]&lt;br /&gt;
&lt;br /&gt;
Особенности и дополнительные возможности нашего форка https://github.com/zinadesign/hugo&lt;br /&gt;
&lt;br /&gt;
Инструкция по установке: https://bitbucket.org/zinadz/zina.design/wiki/Home&lt;br /&gt;
&lt;br /&gt;
== Что еще сделать ==&lt;br /&gt;
&lt;br /&gt;
Убирать лишние тэги &amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt; вокруг &amp;lt;code&amp;gt;.Summary&amp;lt;/code&amp;gt;: [https://github.com/spf13/hugo/issues/1217 Summaries generated with explicit &amp;lt;nowiki&amp;gt;&amp;lt;!--more--&amp;gt;&amp;lt;/nowiki&amp;gt; tag are wrapped in extra &amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt; tag · Issue #1217 · spf13/hugo]&lt;br /&gt;
&lt;br /&gt;
== Установка zina-hugo ==&lt;br /&gt;
&lt;br /&gt;
Сначала установить последнюю версию golang из исходников:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt &amp;amp;&amp;amp; \&lt;br /&gt;
sudo wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz &amp;amp;&amp;amp; \&lt;br /&gt;
sudo tar -xf go1.7.4.linux-amd64.tar.gz &amp;amp;&amp;amp; \&lt;br /&gt;
sudo rm go1.7.4.linux-amd64.tar.gz &amp;amp;&amp;amp; \&lt;br /&gt;
cd go &amp;amp;&amp;amp; \&lt;br /&gt;
sudo mkdir /opt/go_work &amp;amp;&amp;amp; \&lt;br /&gt;
sudo chmod -R 777 /opt/go_work &amp;amp;&amp;amp; \&lt;br /&gt;
sudo sh -c &amp;#039;printf &amp;quot;export GOROOT=/opt/go\nexport GOPATH=/opt/go_work\nexport PATH=\$PATH:/opt/go/bin:/opt/go_work/bin&amp;quot; &amp;gt; /etc/profile.d/go.sh&amp;#039; &amp;amp;&amp;amp; \&lt;br /&gt;
source /etc/profile&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Установка форка zina-hugo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
go get -v github.com/zinadesign/hugo &amp;amp;&amp;amp; \&lt;br /&gt;
go get -u -v github.com/kardianos/govendor &amp;amp;&amp;amp; \&lt;br /&gt;
cd $GOPATH/src/github.com/zinadesign/hugo &amp;amp;&amp;amp; \&lt;br /&gt;
govendor sync &amp;amp;&amp;amp; \&lt;br /&gt;
go install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обновление установленного z-hugo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
go get -u -v github.com/zinadesign/hugo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для деплоя в облако Google:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install gcc python-dev python-setuptools python-virtualenv &lt;br /&gt;
virtualenv venv&lt;br /&gt;
venv/bin/pip install -r deploy_requirements.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc python-dev python-setuptools&lt;br /&gt;
 sudo easy_install -U pip&lt;br /&gt;
 sudo pip uninstall crcmod&lt;br /&gt;
 sudo pip install -U crcmod&lt;br /&gt;
&lt;br /&gt;
== Таксономия с иерархией ==&lt;br /&gt;
&lt;br /&gt;
[https://bitbucket.org/zinadz/zina.design/issues/14/---------------------- #14]&lt;br /&gt;
&lt;br /&gt;
Иерархия задается в &amp;lt;code&amp;gt;config.yaml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
Params:&lt;br /&gt;
  terms_hierarchy:&lt;br /&gt;
    site:&lt;br /&gt;
      shop:&lt;br /&gt;
      corporate-site:&lt;br /&gt;
      promo-site:&lt;br /&gt;
      small-site:&lt;br /&gt;
      personal-site:&lt;br /&gt;
    identity:&lt;br /&gt;
      logo:&lt;br /&gt;
      brand-book:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод в шаблоне &amp;lt;code&amp;gt;layouts/taxonomy/category.terms.html&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ .TaxonomyTerms .Data.Plural  &amp;quot;weight&amp;quot; }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или в шаблонах &amp;lt;code&amp;gt;layouts/partials/&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ .TaxonomyTerms &amp;quot;types&amp;quot; &amp;quot;weight&amp;quot; }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сортировка терминов таксономии:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ .TaxonomyTerms &amp;quot;types&amp;quot; &amp;quot;weight&amp;quot; }}&lt;br /&gt;
{{ .TaxonomyTerms &amp;quot;types&amp;quot; &amp;quot;title&amp;quot; }}&lt;br /&gt;
{{ .TaxonomyTerms &amp;quot;types&amp;quot; &amp;quot;date&amp;quot; }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По умолчанию никак не сортирует. Способ сортировки передается вторым параметром.&lt;br /&gt;
&lt;br /&gt;
* weight — если не задан, то 0&lt;br /&gt;
* title — если не задан, то название термина&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Предыдущий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ $category_pages := dict }}&lt;br /&gt;
{{ range $.Site.AllPages }}&lt;br /&gt;
  {{ add_to_map $category_pages .URL .Title }}&lt;br /&gt;
{{ end }}&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  {{ range $cat, $tax := .Site.Taxonomies.categories }}&lt;br /&gt;
    {{ $page_url := print &amp;quot;/categories/&amp;quot; ($cat | urlize) &amp;quot;/&amp;quot; }}&lt;br /&gt;
    {{ $page_title := index $category_pages $page_url | default (replace $cat &amp;quot;-&amp;quot; &amp;quot; &amp;quot; | title) }}&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cat-line title&amp;quot; href=&amp;quot;{{ $page_url }}&amp;quot;&amp;gt;{{ $page_title }}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  {{ end }}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Breadcrumbs ==&lt;br /&gt;
&lt;br /&gt;
[https://bitbucket.org/zinadz/zina.design/issues/10/breadcrumbs #10]&lt;br /&gt;
&lt;br /&gt;
Шаблон: &amp;lt;code&amp;gt;layouts/partials/breadcrumbs.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
  {{ $breadcrumbs := .Breadcrumbs }}&lt;br /&gt;
  {{ range $breadcrumb := $breadcrumbs  }}&lt;br /&gt;
    &amp;lt;span class=&amp;quot;breadcrumbs__el&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;{{ $breadcrumb.URL }}&amp;quot;&amp;gt;{{ $breadcrumb.Title }}&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;breadcrumbs__terminator&amp;quot;&amp;gt;→&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/span&amp;gt;&lt;br /&gt;
  {{ end }}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== add_to_map — функция для добавления элементов в словарь ==&lt;br /&gt;
&lt;br /&gt;
Добавлена функция &amp;lt;code&amp;gt;add_to_map&amp;lt;/code&amp;gt; — позволяет добавлять новые элементы в словарь.&lt;br /&gt;
&lt;br /&gt;
Пример использования. Сохраняем все страницы в словарь затем достаем оттуда title по url:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ $category_pages := dict }}&lt;br /&gt;
{{ range $.Site.AllPages }}&lt;br /&gt;
      {{ add_to_map $category_pages .URL .Title }}&lt;br /&gt;
{{ end }}&lt;br /&gt;
{{ range $key, $value := .Data.Terms.ByCount }}&lt;br /&gt;
      {{ $page_url := print &amp;quot;/&amp;quot; $data.Plural &amp;quot;/&amp;quot; ($value.Name | urlize) &amp;quot;/&amp;quot; }}&lt;br /&gt;
      {{ $page_title := index $category_pages $page_url | default (replace $value.Name &amp;quot;-&amp;quot; &amp;quot; &amp;quot; | title) }}&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;{{ $page_url }}&amp;quot;&amp;gt;{{ $page_title }}&amp;lt;/a&amp;gt; &amp;lt;span class=&amp;quot;silver&amp;quot;&amp;gt;({{ $value.Count }})&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
{{ end }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== findPageByUrl — функция для получения страницы по url ==&lt;br /&gt;
&lt;br /&gt;
Добавлена функция для получения страницы по url:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ $page := .Site.Pages.findPageByUrl &amp;quot;/test/&amp;quot; }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== titlePage — перебор переменных и вывод с ограничением длины ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ titlePage 60 .Params.title_title .Params.title_h1 .Title .Site.Title }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &amp;lt;code&amp;gt;titlePage&amp;lt;/code&amp;gt; по очереди проверит перечисленные переменные (&amp;lt;code&amp;gt;.Params.title_title&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.Params.title_h1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.Title&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.Site.Title&amp;lt;/code&amp;gt;), возьмет первую, имеющую значение, обрежет до длины 60 символов и добавит в конце троеточие.&lt;br /&gt;
&lt;br /&gt;
== truncatechars — обрезка строки ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;go&amp;quot;&amp;gt;&lt;br /&gt;
{{ truncatechars 60 .Title }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &amp;lt;code&amp;gt;truncatechars&amp;lt;/code&amp;gt; в этом примере примет значение переменной &amp;lt;code&amp;gt;.Title&amp;lt;/code&amp;gt;, обрежет до 60 символов и выведет ее.&lt;br /&gt;
&lt;br /&gt;
== Баг с сортировкой при weight=0 ==&lt;br /&gt;
&lt;br /&gt;
Исправлен: [https://bitbucket.org/zinadz/zina.design/issues/15/weight-0 #15]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Hugo]]&lt;/div&gt;</summary>
		<author><name>Romych</name></author>
	</entry>
</feed>