Configuration guide
Site identity
Most visible site information lives under params. The example below configures the logo, author card, navigation, and feed path.
[params] description = "A quiet site for notes and essays." photoswipe = true lazyload = true [[params.navItems]] name = "Archives" path = "/archives/" [params.logo] src = "/linen-theme/img/logo.svg" width = 225 height = 42 [params.info] name = "Hugo Linen" avatar = "/linen-theme/img/vue-color-avatar.png" site_desc = "Readable posts, calm spacing, and useful archives." [params.feed] path = "/index.xml" limit = 10 |
Minimal site configuration
This is a compact starting point for a new site using Hugo Linen.
baseURL = "https://example.org/"languageCode = "en"title = "My Linen Site"theme = "hugo-theme-linen"summaryLength = 36hasCJKLanguage = true[pagination] pagerSize = 6[taxonomies] tag = "tags" category = "categories" series = "series"[markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true [markup.highlight] codeFences = true noClasses = false[params] description = "Notes, essays, and photo-friendly posts." photoswipe = true lazyload = true [params.logo] text = "My Linen Site" width = 225 height = 42 [params.info] name = "My Linen Site" avatar = "/linen-theme/img/vue-color-avatar.png" site_desc = "Readable posts with calm spacing." |
Highlighted articles
params.topArticles controls the four highlighted cards at the top of the homepage. Entries can be page references or post slugs.
[params] topArticles = [ "posts/getting-started", "posts/configuration-guide", "posts/write-with-markdown", "posts/image-grid" ] |
The homepage skips these highlighted posts in the latest list so readers see a broader mix of content.
Lazy loading and PhotoSwipe
Images are rendered through Hugo’s image render hook. When params.lazyload is enabled, images use the theme’s placeholder and loading states. When params.photoswipe is enabled, content images can open in the PhotoSwipe lightbox.
## Site identityMost visible site information lives under `params`. The example below configures the logo, author card, navigation, and feed path.```toml {title="hugo.toml"}[params] description = "A quiet site for notes and essays." photoswipe = true lazyload = true [[params.navItems]] name = "Archives" path = "/archives/" [params.logo] src = "/linen-theme/img/logo.svg" width = 225 height = 42 [params.info] name = "Hugo Linen" avatar = "/linen-theme/img/vue-color-avatar.png" site_desc = "Readable posts, calm spacing, and useful archives." [params.feed] path = "/index.xml" limit = 10```## Minimal site configurationThis is a compact starting point for a new site using Hugo Linen.```toml {title="hugo.toml"}baseURL = "https://example.org/"languageCode = "en"title = "My Linen Site"theme = "hugo-theme-linen"summaryLength = 36hasCJKLanguage = true[pagination] pagerSize = 6[taxonomies] tag = "tags" category = "categories" series = "series"[markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true [markup.highlight] codeFences = true noClasses = false[params] description = "Notes, essays, and photo-friendly posts." photoswipe = true lazyload = true [params.logo] text = "My Linen Site" width = 225 height = 42 [params.info] name = "My Linen Site" avatar = "/linen-theme/img/vue-color-avatar.png" site_desc = "Readable posts with calm spacing."```## Highlighted articles`params.topArticles` controls the four highlighted cards at the top of the homepage. Entries can be page references or post slugs.```toml {title="hugo.toml"}[params] topArticles = [ "posts/getting-started", "posts/configuration-guide", "posts/write-with-markdown", "posts/image-grid" ]```The homepage skips these highlighted posts in the latest list so readers see a broader mix of content.## Lazy loading and PhotoSwipeImages are rendered through Hugo's image render hook. When `params.lazyload` is enabled, images use the theme's placeholder and loading states. When `params.photoswipe` is enabled, content images can open in the PhotoSwipe lightbox. |

