layouts: display the 5 last post on homepage

- Renames index.html to home.html.
- Adds a section, if the home_post_list parameter is set to true, that
  list the 5 last posts.

Co-Authored-by: iGor milhit <igor@milhit.ch>
iGor milhit 2024-11-01 14:56:08 +01:00
parent f4703cf789
commit 098e268a15
Signed by: igor
GPG Key ID: 692D97C3D0228A99
6 changed files with 59 additions and 15 deletions

View File

@ -19,9 +19,14 @@ You can install it as the [HUGO documentation][4] recommends.
## Configuration ## Configuration
### List of last posts on the homepage
If you want the 5 last posts being listed on the homepage, add the
`home_post_list` to the configuration. Set it to true.
### Personal and professional description ### Personal and professional description
The front page displays, if it exists, the content of the main index markdown The homepage displays, if it exists, the content of the main index markdown
file that could be placed at the root of the content directory [[HUGO's file that could be placed at the root of the content directory [[HUGO's
documentation][3]]. documentation][3]].

View File

@ -15,6 +15,24 @@
} }
} }
/* List of last posts, on the home page*/
.home-posts-list {
padding-bottom: var(--pico-spacing);
border-bottom: var(--pico-muted-border-color) solid var(--pico-border-width);
article {
display: inline-block;
}
article:not(:last-child) {
&::after {
content: '/';
white-space: pre;
}
}
}
/* Lists of the main page, for contact */ /* Lists of the main page, for contact */
.home-lists { .home-lists {

View File

@ -8,6 +8,7 @@ defaultImageAlt = "Grayish sheep portrait"
e-mail = "e-mail" e-mail = "e-mail"
fingerprint = "Fingerprint" fingerprint = "Fingerprint"
lastCommit = "Last commit modifying this page" lastCommit = "Last commit modifying this page"
lastPosts = "Last Posts"
lastUpdate = "Last update" lastUpdate = "Last update"
mobile = "Mobile" mobile = "Mobile"
online = "Online" online = "Online"

View File

@ -8,6 +8,7 @@ defaultImageAlt = "Portrait de mouton en nuances de gris"
e-mail = "e-mail" e-mail = "e-mail"
fingerprint = "Empreinte" fingerprint = "Empreinte"
lastCommit = "Dernier commit modifiant cette page" lastCommit = "Dernier commit modifiant cette page"
lastPosts = "Derniers billets"
lastUpdate = "Dernière mise à jour" lastUpdate = "Dernière mise à jour"
mobile = "Téléphone mobile" mobile = "Téléphone mobile"
online = "En ligne" online = "En ligne"

View File

@ -0,0 +1,33 @@
{{ define "main" }}
<!-- List the 5 last posts if the home_post_list parameters is set to true -->
{{ if .Site.Params.home_post_list }}
<section class="home-posts-list">
<h2>{{ i18n "lastPosts" }}</h2>
<!--
Ranges regular pages by the publish date, in reverse order, to display the
post titles of the section from most recent to older, and the category.
-->
{{ range first 5 .Site.RegularPages.ByPublishDate.Reverse }}
<article>
<a href="{{ .Permalink }}">
{{- .Title -}}
</a>
</article>
{{ end }}
</section>
{{ end }}
<section class="home-content">
<!-- Content for home.html, as a sort of list page,
is pulled from content/_index.md -->
{{.Content}}
{{ if .Site.Params.online }}
{{ partial "online" . }}
{{ end }}
{{ if .Site.Params.contactsPriv }}
{{ partial "perso" .}}
{{ end }}
{{ if .Site.Params.contactsPro }}
{{ partial "pro" . }}
{{ end }}
</section>
{{ end }}

View File

@ -1,14 +0,0 @@
{{ define "main" }}
<!-- Note that the content for index.html, as a sort of list page, will pull from content/_index.md -->
{{.Content}}
{{ if .Site.Params.online }}
{{ partial "online" . }}
{{ end }}
{{ if .Site.Params.contactsPriv }}
{{ partial "perso" .}}
{{ end }}
{{ if .Site.Params.contactsPro }}
{{ partial "pro" . }}
{{ end }}
</main>
{{ end }}