Compare commits

...

7 Commits

Author SHA1 Message Date
Simon 0ad345832e feat: Add cremeaux.org portail
continuous-integration/drone/push Build is passing Details
2024-03-12 10:53:16 +01:00
Simon 34c8006ddf feat: Add new service mobilizon 2024-03-12 10:49:07 +01:00
Simon bfd7b31d40 feat: Colapse menus and add breadcrumb 2024-03-12 10:48:39 +01:00
Simon 667b675aa3 feat: Add icon on sidebar menu 2024-03-12 10:46:33 +01:00
Simon c69fd0059f chore: Import layout 2024-03-12 10:45:48 +01:00
Simon dd9130a215 chore: Remove unnecessary space 2024-03-12 10:39:07 +01:00
Simon 0b5bd23643 feat: Remove unnecessary code 2024-03-12 10:38:21 +01:00
20 changed files with 365 additions and 16 deletions

View File

@ -22,6 +22,18 @@ kind: secret
name: LAMELIO_AWS_SECRET_ACCESS_KEY
data: VcxVOlwmxcs01hi06TalHm0DggpmRZMQqKWcTgNWgBLkvZRiFf5pxx8dTbqjaJ+5zjzj9a/veHqFqZSCipyo5eVayIevJnosnMXjM7j29ij/xpegatmCHXflbc0=
---
# drone encrypt ResiLien/portails $AWS_ACCESS_KEY_ID
kind: secret
name: CREMEAUX_AWS_ACCESS_KEY_ID
data: eWdafKap4inA/Jp/MzDkZG5D56lJFGVSbO3yt24En3jRMdNafmns97cWnMD/+qcQyRYFulSZ
---
# drone encrypt ResiLien/portails $AWS_SECRET_ACCESS_KEY
kind: secret
name: CREMEAUX_AWS_SECRET_ACCESS_KEY
data: L2G0Q59Ujb6TA1Y4VC0ykU7XaGG6wq834i8m3Jcnslj6LyB13L2c7jm0r3kwhp9dm/HmhjAsudVD5AILRKbIof7RHtFrdi5JcoCiAuDlHWQXf48nzDyC8c5uZVU=
---
kind: pipeline
type: docker
@ -59,3 +71,22 @@ steps:
- hugo --minify --environment apps.lamelio.fr
- hugo --minify --environment apps.lamelio.fr
- hugo deploy --environment apps.lamelio.fr
---
kind: pipeline
type: docker
name: Cremeaux.org
steps:
- name: Installation des dépendances & construction du site
image: hugomods/hugo:exts-0.123.8
environment:
AWS_ACCESS_KEY_ID:
from_secret: CREMEAUX_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: CREMEAUX_AWS_SECRET_ACCESS_KEY
commands:
- npm install --ignore-scripts
- hugo --minify --environment cremeaux.org
- hugo --minify --environment cremeaux.org
- hugo deploy --environment cremeaux.org

View File

@ -1 +1,17 @@
// Put your custom SCSS code here
.docs-links {
overflow-y: inherit!important;
svg {
height: 24px!important;
width: 24px!important;
margin-bottom: 0!important;
}
.with-icon {
position: relative;
svg {
position: absolute;
left: calc(-24px - 1rem);
}
}
}

View File

@ -10,9 +10,7 @@ disableLanguages = ["de", "nl", "en"]
poweredBy = false
[Params.doks]
[Params.doks.menu]
[Params.doks.menu.section]
collapsibleSidebar = false
breadcrumbTrail = true
[languages.fr.params]
footer = 'Mise en place et hébergé avec sobriété par <a class="text-muted" href="https://resilien.fr/">RésiLien</a>'

View File

@ -10,9 +10,7 @@ disableLanguages = ["de", "nl", "en"]
poweredBy = true
[Params.doks]
[Params.doks.menu]
[Params.doks.menu.section]
collapsibleSidebar = false
breadcrumbTrail = true
[languages.fr.params]
footer = 'Mise en place et hébergé avec sobriété par <a class="text-muted" href="https://resilien.fr/">RésiLien</a>'

View File

@ -0,0 +1,20 @@
baseURL = "https://cremeaux.org/"
title = "Cremeaux.org"
languageCode = "fr-FR"
defaultContentLanguage = "fr"
disableLanguages = ["de", "nl", "en"]
[Params]
url = "cremeaux.org"
domain = "cremeaux.org"
poweredBy = false
[Params.doks]
breadcrumbTrail = true
[languages.fr.params]
footer = 'Mise en place et hébergé avec sobriété par <a class="text-muted" href="https://resilien.fr/">RésiLien</a>'
[deployment.targets]
name = "production"
URL = "s3://cremeaux.org?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true&region=garage"

View File

@ -0,0 +1,19 @@
[[main]]
name = "Guides"
url = "/docs/introduction/bienvenue/"
weight = 10
[[footer]]
name = "Mentions légales"
url = "/mentions-legales/"
weight = 10
[[footer]]
name = "Sources du site"
url = "https://git.resilien.fr/ResiLien/portails/"
weight = 20
[[footer]]
name = "Statuts des services"
url = "https://status.cremeaux.org/"
weight = 30

View File

@ -0,0 +1,108 @@
# mounts
## archetypes
[[mounts]]
source = "node_modules/@hyas/doks-core/archetypes"
target = "archetypes"
[[mounts]]
source = "archetypes"
target = "archetypes"
## assets
[[mounts]]
source = "node_modules/@hyas/core/assets"
target = "assets"
[[mounts]]
source = "node_modules/@hyas/images/assets"
target = "assets"
excludeFiles = "/scss/**.scss"
[[mounts]]
source = "node_modules/@hyas/doks-core/assets"
target = "assets"
[[mounts]]
source = "node_modules/@tabler/icons/icons"
target = "assets/svgs/tabler-icons"
[[mounts]]
source = "assets"
target = "assets"
## content
[[mounts]]
source = "portails/shared/content"
target = "content"
[[mounts]]
source = "portails/cremeaux.org/content"
target = "content"
## data
[[mounts]]
source = "node_modules/@hyas/doks-core/data"
target = "data"
[[mounts]]
source = "data"
target = "data"
[[mounts]]
source = "portails/shared/data"
target = "data"
[[mounts]]
source = "portails/cremeaux.org/data"
target = "data"
## i18n
[[mounts]]
source = "node_modules/@hyas/doks-core/i18n"
target = "i18n"
[[mounts]]
source = "i18n"
target = "i18n"
## layouts
[[mounts]]
source = "node_modules/@hyas/core/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/seo/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/images/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/doks-core/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/inline-svg/layouts"
target = "layouts"
[[mounts]]
source = "layouts"
target = "layouts"
[[mounts]]
source = "portails/shared/layouts"
target = "layouts"
[[mounts]]
source = "portails/cremeaux.org/layouts"
target = "layouts"
## static
[[mounts]]
source = "node_modules/@hyas/doks-core/static"
target = "static"
[[mounts]]
source = "static"
target = "static"

View File

@ -0,0 +1,17 @@
---
title : "Outils numériques libres de <a href='https://cremeaux.fr'>Cremeaux</a>"
description: ""
lead: "Ce site web vous met à disposition de multiples services utiles pour collaborer, partager et avoir une vie numérique plus <a href='/docs/introduction/vie-numérique/'>« saine »</a> sur la commune de <a href='https://cremeaux.fr'>Cremeaux</a>."
date: 2023-09-07T16:33:54+02:00
lastmod: 2023-09-07T16:33:54+02:00
draft: false
seo:
title: "Outils numériques libres de Cremeaux" # custom title (optional)
description: "Ce site web vous met à disposition de multiples services utiles pour collaborer, partager et avoir une vie numérique plus « saine » sur la commune de Cremeaux." # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---
L'association [RésiLien](https://resilien.fr) met à disposition des outils informatiques pour la commune de [Crémeaux](https://cremeaux.fr).
Certains sont gratuit {{< inline-svg src="currency-euro-off" stroke-width="1" stroke="#ee52b7" height="1rem" width="1rem" class="svg-inline-custom" >}} tandis que d'autres nécessitent une adhésion à l'association ou sont payants {{< inline-svg src="currency-euro" stroke-width="1" stroke="#ee52b7" height="1rem" width="1rem" class="svg-inline-custom" >}} en fonction de l'espace utilisé. Vous pouvez nous contacter pour la création d'un compte à [comptes@cremeaux.org](mailto:comptes@cremeaux.org).

View File

@ -0,0 +1,9 @@
- name: hedgedoc
- name: mobilizon
- name: signaturepdf
- name: nextcloud
subscription: true
- name: vikunja
subscription: true
- name: vaultwarden
subscription: true

View File

@ -0,0 +1,5 @@
{{ if (.subscription | default false) -}}
{{- partial "inline-svg" (dict "src" "currency-euro" "stroke-width" "1" "stroke" "#ee52b7" "height" "1rem" "width" "1rem" "class" "svg-inline-custom") }}
{{ else }}
{{- partial "inline-svg" (dict "src" "currency-euro-off" "stroke-width" "1" "stroke" "#ee52b7" "height" "1rem" "width" "1rem" "class" "svg-inline-custom") }}
{{ end }}

View File

@ -8,6 +8,8 @@ draft: false
weight: 600
toc: true
icon: messages
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -8,6 +8,8 @@ draft: false
weight: 500
toc: true
icon: pencil
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -8,6 +8,8 @@ draft: false
weight: 300
toc: true
icon: files
sidebar:
collapsed: true
seo:
title: "Gérer vos données" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -8,6 +8,8 @@ draft: false
weight: 900
toc: true
icon: shield-lock
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -8,6 +8,8 @@ draft: false
weight: 700
toc: true
icon: file-type-pdf
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -8,6 +8,8 @@ draft: false
weight: 700
toc: true
icon: list-details
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)

View File

@ -1,6 +1,6 @@
services:
directus:
tool:
tool:
name: Directus
link: https://directus.io/
title: Gestion de contenu
@ -9,7 +9,7 @@ services:
subdomain: admin
doc: /docs/nuage/gérer-vos-données/
element:
tool:
tool:
name: Element
link: https://element.io/
title: Discussion entre équipes
@ -18,7 +18,7 @@ services:
subdomain: chat
doc: /docs/chat/discussion-entre-%C3%A9quipes/
gitea:
tool:
tool:
name: Gitea
link: https://about.gitea.com/
title: Forge logicielle
@ -36,7 +36,7 @@ services:
subdomain: notes
doc: /docs/notes/prise-de-notes/
listmonk:
tool:
tool:
name: listmonk
link: https://listmonk.app/
title: Infolettre
@ -45,7 +45,7 @@ services:
subdomain: infolettre
doc: /docs/nuage/gérer-vos-données/
metabase:
tool:
tool:
name: Metabase
link: https://www.metabase.com/
title: Analyse de données
@ -53,8 +53,17 @@ services:
description: Solution d'informatique décisionnelle, mise en place de graphique de ses données pour piloter son activité.
subdomain: tableaudebord
doc: /docs/nuage/gérer-vos-données/
mobilizon:
tool:
name: Mobilizon
link: https://joinmobilizon.org/
title: Rassembler
icon: speakerphone
description: Un outil qui vous permet de trouver, créer et organiser des événements. Publiez une page pour votre groupe !
subdomain: mobilizon
doc: /docs/nuage/gérer-vos-données/
nextcloud:
tool:
tool:
name: Nextcloud
link: https://nextcloud.com/
title: Gérer vos données
@ -63,7 +72,7 @@ services:
subdomain: nuage
doc: /docs/nuage/gérer-vos-données/
outline:
tool:
tool:
name: Outline
link: https://www.getoutline.com/
title: Prise de notes
@ -72,7 +81,7 @@ services:
subdomain: docs
doc: /docs/notes/prise-de-notes/
signaturepdf:
tool:
tool:
name: PDF Signature
link: https://github.com/24eme/signaturepdf/
title: Gestion de PDF
@ -81,7 +90,7 @@ services:
subdomain: pdf
doc: /docs/pdf/gestion-de-pdf/
vaultwarden:
tool:
tool:
name: Vaultwarden
link: https://github.com/dani-garcia/vaultwarden/
title: Mots de passe
@ -90,7 +99,7 @@ services:
subdomain: pass
doc: /docs/pass/gestionnaire-de-mots-de-passe/
vikunja:
tool:
tool:
name: Vikunja
link: https://vikunja.io/
title: Gestion de projets

View File

@ -29,6 +29,7 @@
{{- $icon := $service.icon | default $defaultValues.icon -}}
{{- partial "inline-svg" $icon -}}&nbsp;
{{- $service.title | default $defaultValues.title -}}
{{- partial "service/title-after.html" $service -}}
</h2>
<p>{{ $service.description | default $defaultValues.description }}</p>
<div class="btn-group" role="group" aria-label="Basic outlined example">

View File

@ -0,0 +1 @@
<!-- Allow to add custom icon after title -->

View File

@ -0,0 +1,105 @@
{{- /*
Fichier original https://github.com/gethyas/doks-core/blob/main/layouts/partials/sidebar/render-section-menu.html
Based on: https://discourse.gohugo.io/t/automated-nested-menus/42835/2
Renders a recursive section menu starting from a page collection or menu.
As it walks the tree, this partial:
- Sets class="active" on the active list item
- Sets aria-current="page" on the active anchor
- Sets aria-current="true" on the ancestors of the active anchor
If you feed it a single page, you must wrap the page in a slice. See examples
below.
If you feed it a menu, menu entries defined in site configuration must use the
pageRef property, not the URL property. Everything must be a page.
By default, a home page reference in the page collection or menu will be
skipped. To override this behavior, set $skipHome to false below.
@param {page} currentPage The page currently being rendered.
@paran {slice} nodes A slice of top level pages or a menu.
@returns {template.HTML}
@examples
{{ with site.Menus.main }}
{{ partial "sidebar/render-section-menu.html" (dict "currentPage" $ "nodes" .) }}
{{ end }}
{{ with site.Sections }}
{{ partial "sidebar/render-section-menu.html" (dict "currentPage" $ "nodes" .) }}
{{ end }}
{{ with (.Site.GetPage "section" .Section).Sections }}
{{ partial "sidebar/render-section-menu.html" (dict "currentPage" $ "nodes" .) }}
{{ end }}
{{ with slice (site.GetPage "/introduction") }}
{{ partial "sidebar/render-section-menu.html" (dict "currentPage" $ "nodes" .) }}
{{ end }}
*/}}
{{- /* Configure. */}}
{{- $skipHome := true }}
{{- /* Get parameters. */}}
{{- $currentPage := .currentPage }}
{{- $nodes := .nodes }}
{{- /* Render. */}}
<nav class="section-nav docs-links">
<ul class="list-unstyled">
{{- range $nodes }}
{{- if and .Page.IsHome $skipHome }}
{{- continue }}
{{- end }}
{{- template "walk" (dict "node" . "currentPage" $currentPage) }}
{{- end }}
</ul>
</nav>
{{- /* Recurively render list items. */}}
{{- define "walk" }}
{{- $currentPage := .currentPage }}
{{- $node := .node }}
{{- $linkContent := $node.Page.LinkTitle }}
{{- with $node.Name }}
{{- $linkContent = . }}
{{- end }}
{{- $ariaCurrent := "" }}
{{- $liClass := "" }}
{{- if in $currentPage.Ancestors $node.Page }}
{{- $ariaCurrent = "true" }}
{{- end }}
{{- if $currentPage.Eq $node.Page }}
{{- $ariaCurrent = "page" }}
{{- $liClass = "active" }}
{{- end }}
<li {{- with $liClass }} class="{{ . }}" {{ end -}}>
{{- with $node.Page.Pages }}
<details{{- with $ariaCurrent }} open{{- end }}{{- if ne $node.Page.Params.sidebar.collapsed true }} open{{- end }}>
<summary>
{{ if $node.Page.Params.icon }}{{- partial "inline-svg" $node.Page.Params.icon -}}{{ end }}
{{ $linkContent }}
</summary>
<ul class="list-unstyled list-nested">
{{- range . }}
{{- template "walk" (dict "node" . "currentPage" $currentPage) }}
{{- end }}
</ul>
</details>
{{- else }}
<a {{- with $ariaCurrent }} aria-current="{{ . }}" {{- end }} href="{{- $node.Page.RelPermalink }}">{{ $linkContent }}</a>
{{- end }}
</li>
{{- end }}