Hugo theme stack - single page as homepage

Good morning.

I’m trying to set a single page as my homepage in my website. Simplest answer to this issue would be to write an index html that pulls content from the single page.md. But of course this would break the theme layout. My current theme is stack by jimmy: GitHub - CaiJimmy/hugo-theme-stack: Card-style Hugo theme designed for bloggers

So of course I would have to look at the theme’s files and copy code from there to my index.html. The difficult thing with stack though is that it has a lot of nested layouts. the single-page.html references article.html, which then references content.html. I put all of these together in my index.html but my homepage is still rendering wrong. The home page does not show my TOC and displays front matter data that I turned off in my markdown file. But if I click on the page link from the menu, it renders it correctly. Below is my code as well as pictures of what I expect to happen versus what is happening;

{{ define "body-class" }}
    article-page
    {{/*
        Enable the right sidebar if
            - Widget different from 'TOC' is enabled
            - TOC is enabled and not empty
    */}}
    {{- $HasWidgetNotTOC := false -}}
    {{- $TOCWidgetEnabled := false -}}
    {{- range .Site.Params.widgets.page -}}
        {{- if ne .type "toc" -}}
            {{ $HasWidgetNotTOC = true -}}
        {{- else -}}
            {{ $TOCWidgetEnabled = true -}}
        {{- end -}}
    {{- end -}}

    {{- $TOCManuallyDisabled := eq .Params.toc false -}}
    {{- $TOCEnabled := and (not $TOCManuallyDisabled) $TOCWidgetEnabled -}}
    {{- $hasTOC := ge (len .TableOfContents) 100 -}}
    {{- .Scratch.Set "TOCEnabled" (and $TOCEnabled $hasTOC) -}}

    {{- .Scratch.Set "hasWidget" (or $HasWidgetNotTOC (and $TOCEnabled $hasTOC)) -}}
{{ end }}

{{ define "main" }}
    <article class="{{ if .Params.image }}has-image {{ end }}main-article">
        {{ partial "article/components/header" . }}

        <section class="article-content">
            <!-- Refer to https://discourse.gohugo.io/t/responsive-tables-in-markdown/10639/5 -->
            {{ $wrappedTable := printf "<div class=\"table-wrapper\">${1}</div>" }}
            {{ with .Site.GetPage "page/portfolio" }}
                {{ .Content | replaceRE "(<table>(?:.|\n)+?</table>)" $wrappedTable | safeHTML }}
            {{ end }}
        </section>

        {{ partial "article/components/footer" . }}

        {{ if or .Params.math .Site.Params.article.math }}
            {{ partialCached "article/components/math.html" . }}
        {{ end }}
    </article>

    {{ if .Params.links }}
        {{ partial "article/components/links" . }}
    {{ end }}

    {{ partial "article/components/related-content" . }}

    {{ if not (eq .Params.comments false) }}
        {{ partial "comments/include" . }}
    {{ end }}

    {{ partialCached "footer/footer" . }}

    {{ partialCached "article/components/photoswipe" . }}
{{ end }}

{{ define "right-sidebar" }}
    {{ if .Scratch.Get "hasWidget" }}{{ partial "sidebar/right.html" (dict "Context" . "Scope" "page") }}{{ end}}
{{ end }}




What homepage should look like:

What the actual homepage looks like:

Any help you can give me to figure out what is wrong with my code will be greatly appreciated.

Thank you so much. :folded_hands:

You already noticed the theme has a quite complex chaining of partials and additional conditions for these partials. You will have to dig in to the dependencies between. I guess changing these layouts may also need some additional css changes.

Keep in mind, that the theme is not designed for a content Home page but for a blog.

Maybe a better place for asking this is on their CaiJimmy/hugo-theme-stack · Discussions · GitHub page.

ah! I was looking for a spot in his github where I could post questions. Thank you for pointing that out to me.