Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gurusabarish/hugo-profile/llms.txt

Use this file to discover all available pages before exploring further.

Hugo Profile includes a fully featured blog section at content/blogs/ with both list and single-post views. Posts support featured images, tags, a table of contents, and an enhanced reading experience powered by scroll progress and reading time indicators.

Creating a New Post

Run the following command to scaffold a new blog post with pre-populated frontmatter:
hugo new content content/blogs/my-post.md
Hugo’s archetype system automatically adds the standard frontmatter fields for you, so you can start writing content right away.

Blog Post Frontmatter

Each post in content/blogs/ uses the following frontmatter fields. These match the fields defined in archetypes/default.md:
FieldTypeDescription
titlestringThe post title displayed at the top of the page
datestringPublication date in ISO 8601 format
draftbooleanSet to true to exclude from builds
authorstringAuthor name displayed below the title
imagestringPath to the featured image (e.g., /images/post.jpg)
descriptionstringShort summary used in meta tags and post cards
tagsarrayList of tag strings for categorization
tocbooleanSet to true to show the table of contents sidebar
Here is a complete example frontmatter block:
---
title: "My First Post"
date: 2024-01-15T10:00:00+00:00
draft: false
author: "Jane Doe"
image: /images/posts/my-first-post.jpg
description: "A short summary of what this post covers."
tags:
  - Hugo
  - Tutorial
  - Web
toc: true
---

Blog Features

Reading Time

Automatically calculated from word count and displayed at the top of each post. Powered by readingTime.js, which reads the article text and estimates at 225 words per minute. Controlled via params.singlePages.readTime.enable.

Scroll Progress Bar

A thin progress bar at the top of the viewport tracks how far the reader has scrolled through the post. Enable or disable it with params.singlePages.scrollprogress.enable.

Social Share

Share buttons for LinkedIn, Twitter/X, WhatsApp, and email appear in the sidebar of every post. Toggle them globally with params.singlePages.socialShare: true.

Tags

Tag links are shown in the post sidebar. Set params.singlePages.tags.openInNewTab: true to open tag archive pages in a new browser tab.

Table of Contents

A sticky table of contents is rendered from the post’s headings and shown in the right sidebar. Enable it per-post by adding toc: true to the frontmatter.

Disqus Comments

Comment threads appear below each post when a Disqus shortname is configured under services.disqus.shortname in hugo.yaml.

Configuring Reading Experience

The single-page experience is controlled under params.singlePages in hugo.yaml:
params:
  singlePages:
    socialShare: true
    readTime:
      enable: true
      content: "min read"
    scrollprogress:
      enable: true
    tags:
      openInNewTab: true
Hugo Profile can show a list of recent posts in the site footer. Configure this under params.footer.recentPosts:
params:
  footer:
    recentPosts:
      path: "blogs"               # Content directory to pull posts from
      count: 3                    # Number of recent posts to display
      title: Recent Posts         # Section heading label
      enable: true                # Show or hide the recent posts section
      disableFeaturedImage: false # Set true to hide thumbnails in the footer

Blog List Page

The blog list page (/blogs) displays posts in a paginated grid. Control the number of posts per page with the top-level pagination setting:
pagination:
  pagerSize: 3
To hide featured images on the list page cards, set:
params:
  listPages:
    disableFeaturedImage: false
Hugo Profile uses Go’s built-in reference time for date rendering: Mon Jan 2 15:04:05 MST 2006. Dates on list and single post pages are formatted automatically by the theme’s templates using Hugo’s built-in locale-aware formats.

Build docs developers (and LLMs) love