Search code examples
hugogo-templates

Loop over posts in _index.html


I'm using Hugo to build my own website

I'm having a problem I have a _index.html page, and that is my homepage

But when I try to loop over posts, it just prints text no posts are shown

 {{ range .Pages.ByDate }}
                    <div class="w-full md:w-1/2 md:px-3 mt-6">
                        <article class="h-full flex flex-col rounded-lg shadow-lg>
                            <h1>Post</h1>
                        </article>

                    {{ end }}

Solution

  • Where is _index.html located? If it's under content/, then raw Go-Template code will not work there. If it's under layouts/, then it is a Go Template but it is not the correct name for the layout of your home page. Possible names for the home-page layout file include:

    layouts/index.html
    layouts/home.html
    layouts/_default/index.html
    layouts/_default/home.html
    (and more)
    

    For details, see:

    After you figure out what directory and what file name you want to use, you probably want to use something other than this inside the range:

    <h1>Post</h1>
    

    For example, maybe this:

    <h2>{{ .Title }}</h2>