feat: Ajout des liens entre les évènements et les associations
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details

This commit is contained in:
Simon 2024-06-24 17:12:07 +02:00
parent 16c0de360f
commit 89843f2353
4 changed files with 62 additions and 6 deletions

View File

@ -24,7 +24,14 @@
<h1>{{ .RenderString .Title }}</h1>
<div class="container news md">
<small>
Publié le <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if isset .Params "auteur" }} - {{ .Params.auteur }}{{ end }}
Publié le <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if or (isset .Params "auteur") (isset .Params "authors") }} - {{ if isset .Params "authors" -}}
{{ range $key, $value := .Params.authors }}
{{ with site.GetPage $value }}
{{ if gt $key 0 }} & {{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{- end }}{{ if isset .Params "auteur" }}{{ if isset .Params "authors" -}} & {{ end }}{{ .Params.auteur }}{{ end }}{{ end }}
</small>
{{ .Content }}
<aside>

View File

@ -44,5 +44,21 @@
</ul>
</div>
{{ end }}
{{ if isset .Params "actualites" }}
<div class="container md">
<aside>
<hr>
<h2>
Les évènements de l'association
</h2>
{{ range .Params.actualites }}
{{ with site.GetPage . }}
{{ .Scratch.Set "big" false }}
{{ partial "article-preview.html" . }}
{{ end }}
{{ end }}
</aside>
</div>
{{ end }}
</div>
{{ end }}

View File

@ -16,7 +16,14 @@
</div>
<div class="details">
<small>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if isset .Params "auteur" }} - {{ .Params.auteur }}{{ end }}
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if or (isset .Params "auteur") (isset .Params "authors") }} - {{ if isset .Params "authors" -}}
{{ range $key, $value := .Params.authors }}
{{ with site.GetPage $value }}
{{ if gt $key 0 }} & {{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{- end }}{{ if isset .Params "auteur" }}{{ if isset .Params "authors" -}} & {{ end }}{{ .Params.auteur }}{{ end }}{{ end }}
</small>
{{ if $isBig }}
<h2 title="{{ $titleWithoutHTML }}"><a href="{{ .RelPermalink }}">{{ $title }}</a></h2>

View File

@ -1,7 +1,12 @@
import DirectusToMarkdown from '@resilien/directus-to-markdown'
import urlslug from 'url-slug'
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { draft: { _eq: 'false' } }
var lastDate = new Date();
lastDate.setMonth(lastDate.getMonth() - 3);
lastDate.setFullYear(lastDate.getFullYear() - 10);
console.log(lastDate)
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? { date: { _gt: lastDate } } : { draft: { _eq: 'false' }, date: { _gt: lastDate } }
const filterAssociation = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { display_website: { _eq: 'true' } }
const config = {
@ -38,8 +43,8 @@ const config = {
},
actualites: {
readByQueryOption: {
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event'],
filterDraft,
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event', 'authors.Association_id.denomination'],
filter: filterDraft,
limit: 1000
},
pathBuilder: (article) => {
@ -47,7 +52,16 @@ const config = {
if (!article.image_credit) delete article.image_credit
if (!article.vignette) delete article.vignette
if (!article.vignette_credit) delete article.vignette_credit
if (!article.authors || article.authors.length == 0) {
delete article.authors
} else {
article.authors = article.authors.map(a => `/associations/${urlslug(a.Association_id.denomination)}`)
}
const [year, month, day] = article.date.split("-")
console.log(article.date + ' - ' + article.title)
return `./content/actualites/${year}/${month}/${day}-${urlslug(article.title, { remove: /\./g })}`;
},
deleteFields: [],
@ -65,8 +79,10 @@ const config = {
'bureau.sort',
'bureau.Contact_id.*',
'content',
'actualites.actualites_id.date',
'actualites.actualites_id.title',
],
filterAssociation
filter: filterAssociation
},
pathBuilder: (association) => {
if (!association.title) {
@ -99,6 +115,16 @@ const config = {
delete association.bureau
}
if (!association.actualites || association.actualites.length == 0) {
delete association.actualites
} else {
association.actualites = association.actualites.map(a => {
const [year, month, day] = a.actualites_id.date.split("-")
return `/actualites/${year}/${month}/${day}-${urlslug(a.actualites_id.title, { remove: /\./g })}`
})
}
return `./content/associations/${urlslug(association.denomination)}`;
},
deleteFields: [],