Question: So I have this code that makes an array with 4 arrays in it each holding 4 values and it prints it in 4 rows and 4 columns. I was looking at the code and thought there was a more concise way of doing it so if anyone can think of any please tell me

```
import random
n=[[random.randint(0,100) for i in range(4)] for i in range(4)]
for i in range(len(n)):
    o=""
    for j in range(len(n[i])):
        o+=str(n[i][j])+" "
    print(o)

```

Answer: 
I'm using Hugo 0.74.3 and this is my solution:

```
{{ range ( where .Site.RegularPages "Type" "posts" | first 3 ) }}
  <li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
{{end}}

```

Note that blog posts with `draft: true` in their frontmatter are not included.

---

I started by just iterating over `.Site.RegularPages` without the `where` to figure it out

```
{{ range .Site.RegularPages }}
  <h2>{{ . }}</h2>
{{end}}

```
Hugo is tricky to get the filtering working, but this may work for you

```
{{ range ( first 3 ( where .Site.Pages "Type" "blog" ).ByDate ) }}
  <li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
{{ end }}

```