HUGO

  • Новости
  • Документация
  • Темы
  • Витрина
  • Сообщество
  • GitHub
  • Telegram
Star

Что на этой странице

  • Leaf Bundles
    • Примеры организации Leaf Bundle
    • Headless Bundle
  • Branch Bundles
    • Примеры организации Branch Bundle
CONTENT MANAGEMENT

Пакеты страниц

Организация содержимого с использованием пакетов страниц

Пакеты страниц - это способ группировки ресурсов страницы.

Пакет страниц может быть одним из:

  • Leaf Bundle (лист означает, что у него нет детей)
  • Branch Bundle (домашняя страница, раздел, термины таксономии, список таксономии)
Leaf Bundle Branch Bundle
Применение Сборник контента и вложений для отдельных страниц Сборник вложений для страниц раздела (домашняя страница, раздел, термины таксономии, список таксономии)
Имя индексного файла index.md 1 _index.md 1
Разрешенные ресурсы Страничные и нестраничные (например, изображения, pdf и т.д.) типы Только нестраничные (например, изображения, pdf и т.д.) типы
Где могут жить Ресурсы? На любом уровне каталога в каталоге конечного пакета. Только на уровне каталога для каталога пакета ветки, т.е. каталога, содержащего _index.md (ref).
Тип макета single list
Вложенность Не допускает вложения под ним большего количества связок Позволяет класть под себя пакеты leaf или branch
Пример content/posts/my-post/index.md content/posts/_index.md
Контент из файлов неиндексных страниц … Доступно только как ресурсы страницы Доступно только как обычные страницы

Leaf Bundles

Leaf Bundle - это каталог любой иерархии в каталоге content/, содержащий файл index.md.

Примеры организации Leaf Bundle

content/
├── about
│   ├── index.md
├── posts
│   ├── my-post
│   │   ├── content1.md
│   │   ├── content2.md
│   │   ├── image1.jpg
│   │   ├── image2.png
│   │   └── index.md
│   └── my-other-post
│       └── index.md
│
└── another-section
    ├── ..
    └── not-a-leaf-bundle
        ├── ..
        └── another-leaf-bundle
            └── index.md

В приведенном выше примере каталога content/ есть четыре leaf bundles:

about
Этот листовой пакет находится на корневом уровне (непосредственно в каталоге content) и имеет только index.md.
my-post
Этот листовой пакет содержит index.md, два других файла разметки содержимого и два файла изображений.
image1
Это изображение является ресурсом страницы my-post и доступно только в ресурсах my-post/index.md.
image2
Это изображение является ресурсом страницы my-post и доступно только в ресурсах my-post/index.md.
my-other-post
Этот листовой пакет содержит только файл index.md.
another-leaf-bundle
Этот листовой пакет вложен в несколько каталогов. В этом комплекте также есть только index.md.

Глубина иерархии, на которой создается листовой пакет, не имеет значения, если он не находится внутри другого листового пакета.

Headless Bundle

Безголовый пакет - это пакет, который настроен так, чтобы нигде не публиковаться:

  • В нем не будет Permalink и обработанного HTML в public/.
  • Он не будет частью .Site.RegularPages и т.д.

Но Вы можете получить его с помощью .Site.GetPage. Вот пример:

{{ $headless := .Site.GetPage "/some-headless-bundle" }}
{{ $reusablePages := $headless.Resources.Match "author*" }}
<h2>Authors</h2>
{{ range $reusablePages }}
    <h3>{{ .Title }}</h3>
    {{ .Content }}
{{ end }}

В этом примере мы предполагаем, что some-headless-bundle представляет собой комплект без заголовка, содержащий один или несколько ресурсов страницы, чей .Name совпадает с "author*".

Пояснение к приведенному выше примеру:

  1. Получите “объект” страницы some-headless-bundle.
  2. Соберите кусок ресурсов в этом Пакете страницы, который соответствует "author*", используя .Resources.Match.
  3. Прокрутите этот кусок вложенных страниц и выведите их .Title и .Content.

Связку листьев можно сделать безголовой, добавив ниже во Front Matter (в index.md):

headless = true

Есть много вариантов использования таких пакетов страниц без заголовка:

  • Общие медиа-галереи
  • Многоразовые “снипеты” содержания страницы

Branch Bundles

Branch Bundle - это любой каталог в любой иерархии внутри каталога content/, который содержит как минимум файл _index.md.

Этот _index.md также может находиться непосредственно в каталоге content/.

Здесь md (разметка) используется просто в качестве примера. Вы можете использовать любой тип файла в качестве ресурса контента, если это тип контента, распознаваемый Hugo.

Примеры организации Branch Bundle

content/
├── branch-bundle-1
│   ├── branch-content1.md
│   ├── branch-content2.md
│   ├── image1.jpg
│   ├── image2.png
│   └── _index.md
└── branch-bundle-2
    ├── _index.md
    └── a-leaf-bundle
        └── index.md

В приведенном выше примере каталога content/ есть два пакета ветвей (и пакет листьев):

branch-bundle-1
В этом пакете веток есть _index.md, два других файла разметки с контентом и два файла изображений.
branch-bundle-2
В этом пакете веток есть _index.md и вложенный листовой комплект.

Глубина иерархии, на которой создается пакет ветвей, не имеет значения.


  1. Расширение .md - это просто пример. Расширением может быть .html, .json или любой допустимый тип MIME. ↩︎

Смотрите также

  • Page Resources
  • Single Page Templates
  • Организация контента
  • О Хьюго
    • Обзор
    • Модель безопасности Хьюго
    • Hugo и GDPR
    • Что такое Хьюго
    • Функции Хьюго
    • Преимущества статики
    • Лицензия
  • С чего начать
    • Обзор начала работы
    • Быстрый старт
    • Установка Хьюго
    • Основы использования
    • Структура каталогов
    • Настройка
    • Внешние ресурсы обучения
  • Модули Хьюго
    • Обзор модулей Hugo
    • Настройка модулей
    • Использование модулей Hugo
    • Компоненты темы
  • Управление контентом
    • Обзор управления контентом
    • Организация
    • Пакеты страниц
    • Форматы контента
    • Front Matter
    • Page Resources
    • Параметры сборки
    • Обработка изображений
    • Шорткоды
    • Связанный контент
    • Разделы
    • Типы контента
    • Архетипы
    • Таксономии
    • Содержание
    • Ссылки и перекрестные ссылки
    • Управление URL-адресами
    • Меню
    • Статические файлы
    • Комментарии
    • Многоязычный и i18n
    • Подсветка синтаксиса
  • Templates
    • Templates Overview
    • Introduction
    • Template Lookup Order
    • Custom Output Formats
    • Base Templates and Blocks
    • List Page Templates
    • Homepage Template
    • Section Templates
    • Taxonomy Templates
    • Single Page Templates
    • Content View Templates
    • Data Templates
    • Partial Templates
    • Shortcode Templates
    • Local File Templates
    • 404 Page
    • Menu Templates
    • Pagination
    • RSS Templates
    • Sitemap Template
    • Robots.txt
    • Internal Templates
    • Alternative Templating
    • Template Debugging
  • Functions
    • Functions Quick Reference
    • .AddDate
    • .Format
    • .Get
    • .GetPage
    • .HasMenuCurrent
    • .IsMenuCurrent
    • .Param
    • .Render
    • .RenderString
    • .Scratch
    • .Unix
    • absLangURL
    • absURL
    • after
    • anchorize
    • append
    • apply
    • base64
    • chomp
    • complement
    • cond
    • countrunes
    • countwords
    • dateFormat
    • default
    • delimit
    • dict
    • echoParam
    • emojify
    • eq
    • errorf and warnf
    • fileExists
    • findRE
    • first
    • float
    • ge
    • getenv
    • group
    • gt
    • hasPrefix
    • highlight
    • hmac
    • htmlEscape
    • htmlUnescape
    • hugo
    • humanize
    • i18n
    • Image Functions
    • in
    • index
    • int
    • intersect
    • isset
    • jsonify
    • lang.Merge
    • lang.NumFmt
    • last
    • le
    • len
    • lower
    • lt
    • markdownify
    • Math
    • md5
    • merge
    • ne
    • now
    • os.Stat
    • partialCached
    • path.Base
    • path.Dir
    • path.Ext
    • path.Join
    • path.Split
    • plainify
    • pluralize
    • print
    • printf
    • println
    • querify
    • range
    • readDir
    • readFile
    • ref
    • reflect.IsMap
    • reflect.IsSlice
    • relLangURL
    • relref
    • relURL
    • replace
    • replaceRE
    • safeCSS
    • safeHTML
    • safeHTMLAttr
    • safeJS
    • safeURL
    • seq
    • sha
    • shuffle
    • singularize
    • slice
    • slicestr
    • sort
    • split
    • string
    • strings.Count
    • strings.HasSuffix
    • strings.Repeat
    • strings.RuneCount
    • strings.TrimLeft
    • strings.TrimPrefix
    • strings.TrimRight
    • strings.TrimSuffix
    • substr
    • symdiff
    • templates.Exists
    • time
    • title
    • transform.Unmarshal
    • trim
    • truncate
    • union
    • uniq
    • upper
    • urlize
    • urls.Parse
    • where
    • with
  • Variables
    • Variables Overview
    • Site Variables
    • Page Variables
    • Shortcode Variables
    • Pages Methods
    • Taxonomy Variables
    • File Variables
    • Menu Entry Properties
    • Hugo Variables
    • Git Variables
    • Sitemap Variables
  • Hugo Pipes
    • Hugo Pipes Overview
    • Hugo Pipes Introduction
    • SASS / SCSS
    • PostProcess
    • PostCSS
    • JavaScript Building
    • Babel
    • Asset minification
    • Asset bundling
    • Fingerprinting and SRI
    • Resource from Template
    • Resource from String
  • CLI
  • Troubleshooting
    • Troubleshoot
    • FAQ
    • Build Performance
  • Tools
    • Developer Tools Overview
    • Migrations
    • Starter Kits
    • Frontends
    • Editor Plug-ins
    • Search
    • Other Projects
  • Hosting & Deployment
    • Hosting & Deployment Overview
    • Hugo Deploy
    • Host-Agnostic Deploys with Nanobox
    • Host on AWS Amplify
    • Host on Netlify
    • Host on Render
    • Host on Firebase
    • Host on GitHub
    • Host on GitLab
    • Hosting on KeyCDN
    • Host on Bitbucket
    • Deployment with Wercker
    • Deployment with Rsync
  • Contribute
    • Contribute to Hugo
    • Development
    • Documentation
    • Themes
  • Maintenance
“Пакеты страниц” последнее обновление: December 26, 2020: Перевод части content-management (38cdf5e5e)
Улучшить эту страницу
Авторы Hugo
Hugo Logo
  • Подать вопрос
  • Получить помощь
  • Обсудить исходный код
  • @GoHugoIO
  • @spf13
  • @bepsays
 
 

Спонсоры Hugo

Logo for Forestry.io
Logo for Linode
Logo for eSolia
 

Авторские права на логотипы Hugo принадлежат © Steve Francia 2013–2021.

Hugo Gopher основан на оригинальной работе Renée French.

  • Новости
  • Документация
  • Темы
  • Витрина
  • Сообщество
  • GitHub
  • Telegram
  • О Хьюго
  • С чего начать
  • Модули Хьюго
  • Управление контентом
  • Templates
  • Functions
  • Variables
  • Hugo Pipes
  • CLI
  • Troubleshooting
  • Tools
  • Hosting & Deployment
  • Contribute
  • Maintenance