HUGO

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

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

  • Форматы Front Matter
    • Пример
  • Переменные Front Matter
    • Предопределенный
    • Определяемые пользователем
  • Каскад Front Matter
    • Целевые определенные страницы
    • Пример
  • Порядок контента через Front Matter
  • Переопределить глобальную конфигурацию разметки
  • Технические характеристики формата Front Matter
CONTENT MANAGEMENT

Front Matter

Hugo позволяет добавлять front matter в файлы содержимого на языках yaml, toml или json.

Front matter позволяет хранить метаданные, прикрепленные к экземпляру типов контента, т.е. встроенные в файл контента, и это одна из многих функций, которые придают Hugo его силу.

Форматы Front Matter

Hugo поддерживает четыре формата для front matter, каждый со своими собственными идентификационными токенами.

TOML
определяется открытием и закрытием +++.
YAML
определяется открытием и закрытием ---.
JSON
один объект JSON, окруженный символами ‘{’ и ‘}’, за которым следует новая строка.
ORG
группа ключевых слов Org режима в формате ‘#+KEY: VALUE’. Любая строка, которая не начинается с #+, завершает раздел вводной части. Значения ключевых слов могут быть строками (#+KEY: VALUE) или списком строк, разделенных пробелами (#+KEY[]: VALUE_1 VALUE_2).

Пример

     
categories:
- Development
- VIM
date: "2012-04-06"
description: spf13-vim is a cross platform distribution of vim plugins and resources for Vim.
slug: spf13-vim-3-0-release-and-new-website
tags:
- .vimrc
- plugins
- spf13-vim
- vim
title: spf13-vim 3.0 release and new website
categories = ["Development", "VIM"]
date = "2012-04-06"
description = "spf13-vim is a cross platform distribution of vim plugins and resources for Vim."
slug = "spf13-vim-3-0-release-and-new-website"
tags = [".vimrc", "plugins", "spf13-vim", "vim"]
title = "spf13-vim 3.0 release and new website"
{
   "categories": [
      "Development",
      "VIM"
   ],
   "date": "2012-04-06",
   "description": "spf13-vim is a cross platform distribution of vim plugins and resources for Vim.",
   "slug": "spf13-vim-3-0-release-and-new-website",
   "tags": [
      ".vimrc",
      "plugins",
      "spf13-vim",
      "vim"
   ],
   "title": "spf13-vim 3.0 release and new website"
}

Переменные Front Matter

Предопределенный

Есть несколько предопределенных переменных, о которых Хьюго знает. Смотрите Переменные страницы, чтобы узнать, как вызывать многие из этих предопределенных переменных в Ваших шаблонах.

aliases
массив из одного или нескольких псевдонимов (например, старых опубликованных путей переименованного контента), которые будут созданы в структуре выходного каталога. Подробнее смотрите псевдонимы.
audio
массив путей к аудиофайлам, относящимся к странице; используется opengraph внутренний шаблон для заполнения og:audio.
cascade
карта ключей Front Matter, значения которых передаются потомкам страницы, если они не перезаписываются самим собой или каскадом более близких предков. Смотрите Front Matter Cascade для получения подробной информации.
date
дата и время, назначенное этой странице. Обычно это выбирается из поля date в начале сообщения, но это поведение можно настроить.
description
описание для контента.
draft
если true, контент не будет отображаться, если флаг --buildDrafts не передан команде hugo.
expiryDate
дата и время, при которых контент больше не должен публиковаться Hugo; Просроченный контент не будет отображаться, если флаг --buildExpired не передан команде hugo.
headless
если true, устанавливает для leaf bundle значение headless.
images
массив путей к изображениям, относящимся к странице; используется внутренними шаблонами, такими как _internal/twitter_cards.html.
isCJKLanguage
если true, Hugo будет явно рассматривать контент как язык CJK; как .Summary так и .WordCount корректно работают на CJK языках.
keywords
мета-ключевые слова для содержания.
layout
макет Хьюго должен выбирать из порядок поиска при рендеринге содержимого. Если type не указан во вступительной части, Hugo будет искать макет с тем же именем в каталоге макета, который соответствует разделу содержимого. Смотрите “Определение типа контента”
lastmod
дата и время последнего изменения содержимого.
linkTitle
используется для создания ссылок на контент; если установлено, Хьюго по умолчанию использует linktitle перед title. Хьюго также может упорядочить списки контента по linktitle.
markup
экспериментальный; укажите "rst" для reStructuredText (требуется rst2html) или "md" (по умолчанию) для Markdown.
outputs
позволяет указать форматы вывода, специфичные для содержимого. Смотрите форматы вывода.
publishDate
если в будущем контент не будет отображаться, если флаг --buildFuture не передан в hugo.
resources
используется для настройки ресурсов пакета страниц. Смотрите Ресурсы страницы.
series
массив серий, к которым принадлежит эта страница, как подмножество series таксономия; используется opengraph внутренний шаблон для заполнения og:see_also.
slug
отображается в конце выходного URL. Значение, указанное в заголовке, переопределит сегмент URL-адреса на основе имени файла.
summary
текст, используемый при предоставлении резюме статьи в переменной страницы .Summary; подробности доступны в разделе резюме содержания.
title
название содержания.
type
тип контента; это значение будет автоматически получено из каталога (т. е., раздел), если не указано в предварительном сообщении.
url
полный путь к содержимому из корня сети. Он не делает никаких предположений о пути к файлу содержимого. Он также игнорирует любые языковые префиксы многоязычной функции.
videos
массив путей к видео, относящимся к странице; используется в opengraph внутреннего шаблона для заполнения og:video.
weight
используется для упорядочивания вашего контента в списках. Меньший вес имеет более высокий приоритет. Так что довольство меньшим весом будет на первом месте. Если установлено, веса должны быть ненулевыми, поскольку 0 интерпретируется как неустановленный вес.
<taxonomies>
имя поля в форме множественного числа индекса. Смотрите tags и categories в примерах выше. Обратите внимание, что форма множественного числа определяемых пользователем таксономий не может совпадать с любой из предопределенных первичных переменных.

Если ни slug, ни url отсутствуют и постоянные ссылки не настроены иначе в файле config конфигурации Вашего сайта, Hugo будет использовать имя файла вашего контента для создания вывода URL-адреса. Смотрите организация контента для объяснения путей в Hugo и Управление URL-адресами для получения информации о способах настройки поведения Hugo по умолчанию.

Определяемые пользователем

Вы можете произвольно добавлять поля в свой вступительный документ в соответствии со своими потребностями. Эти определяемые пользователем пары “ключ-значение” помещаются в одну переменную .Params для использования в Ваших шаблонах.

Доступ к следующим полям можно получить через .Params.include_toc и .Params.show_comments соответственно. В разделе Переменные представлена дополнительная информация об использовании переменных уровня страницы и сайта Hugo в Ваших шаблонах.

     
include_toc: true
show_comments: false
include_toc = true
show_comments = false
{
   "include_toc": true,
   "show_comments": false
}

Каскад Front Matter

Любой узел или раздел может передать потомкам набор значений Front Matter, если они определены под зарезервированным ключом Front Matter cascade.

Целевые определенные страницы

Начиная с Hugo 0.76, блок cascade может быть срезом с необязательным ключевым словом _target, что позволяет использовать несколько значений cascade для разных наборов страниц.

     
cascade:
- _target:
    kind: page
    lang: en
    path: /blog/**
  background: yosemite.jpg
- _target:
    kind: section
  background: goldenbridge.jpg
title: Blog
title = "Blog"

[[cascade]]
  background = "yosemite.jpg"
  [cascade._target]
    kind = "page"
    lang = "en"
    path = "/blog/**"

[[cascade]]
  background = "goldenbridge.jpg"
  [cascade._target]
    kind = "section"
{
   "cascade": [
      {
         "_target": {
            "kind": "page",
            "lang": "en",
            "path": "/blog/**"
         },
         "background": "yosemite.jpg"
      },
      {
         "_target": {
            "kind": "section"
         },
         "background": "goldenbridge.jpg"
      }
   ],
   "title": "Blog"
}

Ключевые слова, доступные для _target:

path
Шаблон Glob , соответствующий пути к содержимому ниже /content. Ожидает косые черты в стиле Unix. Обратите внимание, что это виртуальный путь, поэтому он начинается с корня монтирования. Сопоставление поддерживает двойные звездочки, поэтому Вы можете сопоставить шаблоны вроде /blog/*/**, чтобы сопоставить все, начиная с третьего уровня и ниже.
kind
Шаблон Glob, соответствующий типу страницы, например: “{home,section}”.
lang
Шаблон Glob, соответствующий языку страницы, например: “{en,sv}”.

Любое из вышеперечисленного можно опустить.

Пример

В content/blog/_index.md

     
cascade:
  banner: images/typewriter.jpg
title: Blog
title = "Blog"

[cascade]
  banner = "images/typewriter.jpg"
{
   "cascade": {
      "banner": "images/typewriter.jpg"
   },
   "title": "Blog"
}

В приведенном выше примере страница раздела блога и ее потомки будут возвращать images/typewriter.jpg при вызове .Params.banner, если:

  • Указанный потомок имеет собственное установленное значение banner.
  • Или для более близкого узла-предка установлено собственное значение cascade.banner.

Порядок контента через Front Matter

Вы можете назначить weight , зависящий от контента, в начале Вашего контента. Эти значения особенно полезны для упорядочивания в представлениях списка. Вы можете использовать weight для упорядочивания контента и соглашение <TAXONOMY>_weight для упорядочивания контента в таксономии. Смотрите Упорядочивание и группировка списков Hugo, чтобы увидеть, как weight можно использовать для организации Вашего контента в представлениях списков.

Переопределить глобальную конфигурацию разметки

Можно установить некоторые параметры для рендеринга Markdown в заголовке контента в качестве замены параметров рендеринга BlackFriday, заданных в конфигурации Вашего проекта.

Технические характеристики формата Front Matter

  • TOML Spec
  • YAML Spec
  • JSON Spec

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

  • Data Templates
  • Архетипы
  • Переключение кода
  • Настройка Хьюго
  • Taxonomy 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
“Front Matter” последнее обновление: 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