Overview
A story is any Markdown file that defines layout = "story" in its frontmatter.
Stories mimics the simplicity of a book page, offering a minimal, immersive reading experience. They are ideal for long content like stories, narratives, and any type of creative or reflective writing.
Creation
To create a story with all supported frontmatter keys:
hugo new content --kind story [path]/[filename].md
Or as a page bundle:
hugo new content --kind story [path]/[folder-name]/index.md
Note: If you omit the --kind story flag, Hugo will use the default archetype that create a page with only basic frontmatter keys and you will need to manually add layout = story.
Layout
The story layout visually differs from other Alpha layouts, yet remains consistent with Alpha’s core design principles.
For best aesthetics results, it’s recommended to soft-separate layout types by section (e.g. keep stories under a stories/ section or similar).
Story layout supports:
- Optional decorative dropcap.
- Multipart content with series and parts.
- Display of license and copyright.
- Tags and categories.
- Allows pages to be marked as featured and recommended.
Frontmatter
A story created with the --kind story flag includes the following frontmatter:
+++
# Content Identity
title = "Example story page title"
description = ""
# Authoring
author = ""
date = "2006-01-02T15:04:05-07:00"
lastmod = ""
license = ""
# Organization
categories = []
tags = []
## Series
series = ""
parts = ""
weight = 0
# Display
dropcap = true
featured = false
recommended = false
# Publication Control
draft = false
layout = "story"
# Advanced SEO
seo_type = ""
seo_image = ""
twitter_username = ""
+++
Reference1
Content Identity
- title
- title = ""— (string, recommended)
- Sets the page title and populates metadata.
- LiVa error if omitted.
- Default: Automatically filled at creation.
- description
- description = ""— (string, recommended)
- Short description for SEO and social sharing.
- Recommended length: 50–160 characters.
- LiVa warning if omitted.
Authoring
- author
- author = ""— (string, optional)
- Name of the author. Used on the page and in metadata.
- date
- date = "YYYY-MM-DDTHH:MM:SSZHH:MM"— (string, recommended)
- Used for SEO metadata and page ordering. Must follow ISO 8601 format.
- Hugo error if misconfigured.
- Default: Automatically set by Hugo at creation.
- lastmod
- lastmod = ""— (string, optional)
- Sets the last modified date. (used in metadata).
- Use the same format as date.
- LiVa warning if precedes published date.
- license
- license = ""— (string, optional)
- Adds a license notice for the page’s content.
- Only predefined values are supported. Copyrighted content or Creative Common licences
- Values: copyright,CC0,CC-BY,CC-BY-SA,CC-BY-ND,CC-BY-NC,CC-BY-NC-SA,CC-BY-NC-ND.
- LiVa warning if value is invalid.
Organization
- categories
- categories = []— (array, optional)
- Assigns page categories for taxonomy.
- Example: categories = ["Docs", "Content"]
- tags
- tags = []— (array, optional)
- Assigns page tags for taxonomy.
- Example: tags = ["writing", "hugo"]
Series
- series
- series = ""— (string, optional)
- Marks the page as part of a series.
- Navigation links will appear, if weightis defined.
- parts
- parts = ""— (string, optional)
- Describes this page’s part in a multipart series.
- weight
- weight = 0— (integer, optional)
- Sets the order of the page within a series. Applies only if seriesis set.
- Default: 0
Display
- dropcap
- dropcap = true— (boolean, optional)
- Adds a large decorative letter to the first paragraph.
- Only applies if the first element of the content is a paragraph.
- Default: true
- featured
- featured = false— (boolean, optional)
- Mark the page as featured content. Appears in the hamburger menu and at the featured shortcode.
- Only the featuredpage with the latest date will be used.
- LiVa error if value is not boolean.
- Default: false
- recommended
- recommended = false— (boolean, optional)
- Mark the page as recommended content.
- Recommended content will appear after the content of pages and only at the last part of a series.
- LiVa error if value is not boolean.
- Default: false
Publication Control
- draft
- draft = false— (boolean, optional)
- Marks the page as a draft if true.
- Default: false.
- layout
- layout = "story"— (string, optional)
- Forces Hugo to use Alpha’s storylayout.
- LiVa warning if value is invalid.
Advanced SEO
- seo_type
- seo_type = "Article"— (string, optional)
- Overrides Alpha’s default @typevalue inschema.orgstructured data.
- Default value: Article
- seo_image
- seo_image = "filename.png"— (string, optional)
- Image shown when sharing the page on social platforms. Recommended size 1200x630px
- Place images in assets/img/folder.
- Fall back to seo_default_imagefromconfig/_default/params.tomlif omitted.
- LiVa warns if the file is missing or has incorrect dimensions.
- twitter_username
- twitter_username = "oxypteros"— (string, optional)
- Sets the twitter:creatorvalue in Twitter cards.
- Enter the username without the @symbol.
- Only essential fields are listed: Default page fields, layout affecting options, and custom Alpha additions. See the full list of supported frontmatter fields in Hugo. ↩︎