Arrrchetypes
Us'n th' command: hugo new [relative new rrrambl'n path]
, ye can start a rrrambl'n file wit' th' date an' title automatically set. While this be a welcome feature, active writers need more: archetypes. These be preconfigured skeleton planks wit' default frontmatter.
Th' Relearrrn theme defines some few archetypes o' planks but ye be free t' define new ones t' yer lik'n. All can be used at any level o' th' documentat'n, th' only difference be'n th' layout o' th' rrrambl'n.
Predefined Archetypes
Home
A Home plank be th' start'n plank o' yer project. It’s best t' have only one plank o' this kind 'n yer project.
T' create a home plank, run th' follow'n command
hugo new --kind home _index.md
This leads t' a file wit' th' follow'n rrrambl'n
+++
archetype = "home"
title = "{{ replace .Name "-" " " | title }}"
+++
Lorem Ipsum.
Chapter
A Chapter displays a plank meant t' be used as introduct'n fer a set o' child planks. Commonly, it contains a simple title an' a catch line t' define rrrambl'n that can be found below it.
T' create a chapter plank, run th' follow'n command
hugo new --kind chapter <name>/_index.md
This leads t' a file wit' th' follow'n rrrambl'n
+++
archetype = "chapter"
title = "{{ replace .Name "-" " " | title }}"
weight = X
+++
Lorem Ipsum.
Replace th' X
wit' a number. Because this number will be used t' generate th' subtitle o' th' chapter plank, set th' number t' a consecutive value start'n at 1 fer each new chapter level.
Default
A Default plank be any other rrrambl'n plank. If ye set an unknown archetype 'n yer frontmatter, this archetype will be used t' generate th' plank.
T' create a default plank, run either one o' th' follow'n commands
hugo new <chapter>/<name>/_index.md
or
hugo new <chapter>/<name>.md
This leads t' a file wit' th' follow'n rrrambl'n
+++
title = "{{ replace .Name "-" " " | title }}"
weight = X
+++
Lorem Ipsum.
Replace th' X
wit' a number or delete th' whole weight
parameter entirely.
Self defined Archetypes
If ye be 'n need o' further archetypes ye can define yer own or even redefine exist'n ones.
Template
Define a template file 'n yer project at archetypes/<kind>.md
an' make sure it has at least th' frontmatter parameter fer that archetype like
+++
archetype = "<kind>"
+++
Afterwards ye can generate new rrrambl'n files o' that kind wit' th' follow'n command
hugo new --kind <kind> <name>/_index.md
Partials
T' define how yer archetypes be rendered, define correspond'n partial files 'n yer projects directory layouts/partials/archetypes/<kind>
.
If ye use an unknown archetype 'n yer frontmatter, th' default
archetype will be used t' generate th' plank.
Related t' each archetype, several hook partial files 'n th' form o' <hook>.html
can be given inside each archetype directory. If a partial fer a specific hook be miss'n, no output be generated fer this hook.
Th' follow'n hooks be used:
Name | Notes |
---|---|
styleclass | Defines a set o' CSS classes t' be added t' th' HTML’s <main> element. Ye can use these classes t' define own CSS rules 'n yer custom-header.html |
article | Defines th' HTML how t' render yer rrrambl'n |
Take a look at th' exist'n archetypes o' this theme t' get an idea how t' utilize it.
Output formats
Each hook file can be overridden o' a specific output format. Eg. if ye define a new output format PLAINTEXT
'n yer config.toml
, ye can add a file layouts/partials/archetypes/default.plaintext.html
t' change th' way how normal rrrambl'n be written fer that output format.