{{ define "main" }}
  {{ if .Content }}
    <div class="index-content {{ if .Params.framed -}}framed{{- end -}}">
      {{ .Content }}
    </div>
  {{ end }}
  <div class="posts">
    {{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }}
    {{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }}

    {{ $PageContext := . }}
    {{ if .IsHome }}
      {{ $PageContext = .Site }}
    {{ end }}
    {{ $paginator := .Paginate (where $PageContext.RegularPages "Type" $contentTypeName) }}

    {{ range $paginator.Pages }}
      <article class="post on-list">
        <h1 class="post-title">
          <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
        </h1>

        <div class="post-meta">
          {{ if .Date }}
            <time class="post-date">
              {{ .Date.Format "2006-01-02" }} ::
            </time>
          {{ end }}
          {{ with .Params.Author }}
            <span class="post-author">{{ . }}</span>
          {{ end }}
        </div>

        {{ if .Params.tags }}
          <span class="post-tags">
            {{ range .Params.tags }}
            #<a href="{{ (urlize (printf "tags/%s/" . )) | absLangURL }}">
              {{- . -}}
            </a>&nbsp;
            {{ end }}
          </span>
        {{ end }}

        {{ partial "cover.html" . }}

        <div class="post-content">
          {{ if .Params.showFullContent }}
            {{ .Content }}
          {{ else if .Description }}
            {{ .Description | markdownify }}
          {{ else }}
            {{ .Summary }}
          {{ end }}
        </div>

        {{ if not .Params.showFullContent }}
          <div>
            <a class="read-more button" href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore }} →</a>
          </div>
        {{ end }}
      </article>
    {{ end }}

    {{ partial "pagination.html" . }}
  </div>
{{ end }}