feat: Import portails architecture
This commit is contained in:
parent
9f433902c2
commit
ea53e8a936
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
# drone encrypt ResiLien/portails $AWS_ACCESS_KEY_ID
|
||||
kind: secret
|
||||
name: P4PILLON_AWS_ACCESS_KEY_ID
|
||||
data: XY87aSNvLDeNNSMT1xHmVUTWXSpXJORM/P8RCRmsVWtByyefTbXX1cF0A4EuokVbOJs0DJZs
|
||||
|
||||
---
|
||||
# drone encrypt ResiLien/portails $AWS_SECRET_ACCESS_KEY
|
||||
kind: secret
|
||||
name: P4PILLON_AWS_SECRET_ACCESS_KEY
|
||||
data: 58Boc2Ux7MKwvh1nHh2xmY4JEje5CyX0/H/z6tM/ehLD1m4WQKblvc/+PX0DcaFqX86JPG8osLRsglkP9pyW7iH5WwuMQcXR/NzOAJioO+xgrh/14qUCYe+N5Yc=
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: P4Pillon
|
||||
|
||||
steps:
|
||||
- name: Installation des dépendances & construction du site
|
||||
image: hugomods/hugo:exts-0.123.8
|
||||
environment:
|
||||
AWS_ACCESS_KEY_ID:
|
||||
from_secret: P4PILLON_AWS_ACCESS_KEY_ID
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
from_secret: P4PILLON_AWS_SECRET_ACCESS_KEY
|
||||
commands:
|
||||
- npm install --ignore-scripts
|
||||
- hugo --minify --environment apps.p4pillon.org
|
||||
- hugo --minify --environment apps.p4pillon.org
|
||||
- hugo deploy --environment apps.p4pillon.org
|
|
@ -0,0 +1,22 @@
|
|||
baseURL = "https://apps.p4pillon.org/"
|
||||
title = "P4Pillon"
|
||||
languageCode = "fr-FR"
|
||||
defaultContentLanguage = "fr"
|
||||
disableLanguages = ["de", "nl", "en"]
|
||||
|
||||
[Params]
|
||||
url = "apps.p4pillon.org"
|
||||
domain = "p4pillon.org"
|
||||
poweredBy = true
|
||||
|
||||
[Params.doks]
|
||||
[Params.doks.menu]
|
||||
[Params.doks.menu.section]
|
||||
collapsibleSidebar = false
|
||||
|
||||
[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://apps.p4pillon.org?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true®ion=garage"
|
|
@ -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.p4pillon.org/"
|
||||
weight = 30
|
|
@ -0,0 +1,104 @@
|
|||
# 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/apps.p4pillon.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/apps.p4pillon.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"
|
||||
|
||||
## static
|
||||
[[mounts]]
|
||||
source = "node_modules/@hyas/doks-core/static"
|
||||
target = "static"
|
||||
|
||||
[[mounts]]
|
||||
source = "static"
|
||||
target = "static"
|
|
@ -0,0 +1,27 @@
|
|||
# Les portails de services de RésiLien
|
||||
|
||||
Ce projet permet de créer des portails de services, une page avec des liens vers les services que RésiLien met à disposition accompagnée d'une documentation mutualisée entre les différents portails.
|
||||
|
||||
## Explication technique
|
||||
|
||||
Dans Hugo, il est possible de créer des environnements spécifiques en général on l'utilise pour différencier des environnements de test, pord ou local. Nous l'utiliserons ici pour mettre en place un portail par environnement.
|
||||
|
||||
Lorsque l'on spécifie `export HUGO_ENVIRONEMENT=apps.p4pillon.org` et qu'on lance `npm run dev` qui n'est rien d'autre que la commande `hugo serve` avec des paramètres en plus alors il charge le dossier `config/apps.p4pillon.org`.
|
||||
|
||||
Dans ce dossier, on retrouve des fichiers de configuration dont le fichier `module.toml` qui permet de dire à Hugo quels dossiers sont pris en compte, ce qui nous permet d'avoir une configuration partagée dans le dossier `portails/shared` mais aussi de pouvoir surcharger facilement pour un besoin spécifique dans le dossier `portails/apps.p4pillon.org` par exemple.
|
||||
|
||||
Dans le dossier `portails/shared` nous allons avoir l'ensemble des templates (`layout`) que l'on surcharge de Doks, un catalogue de services dans le fichier `data/portails.yml` et l'ensemble de la documentation pour l'utilisation d'un service lui permettant de comprendre à l'utiliser.
|
||||
|
||||
Dans le dossier `portails/apps.p4pillon.org` nous aurons le dossier `content` permettant d'avoir du contenu spécifique mais aussi le fichier `data/services.yml` permettant de paramétrer les services.
|
||||
|
||||
## Déploiement
|
||||
|
||||
Un déploiement automatique a été mis en place `.drone.yml` pour que Drone déploie automatiquement l'ensemble des sites sur notre cluster S3.
|
||||
|
||||
## Mise à jour
|
||||
|
||||
Nous pouvons mettre à jour notre documentation générale ou les services proposés en ajoutant ou modifiant le contenu dans `portails/shared/` un dossier qui n'est pas référencé dans Doks ce qui simplifira les montés de version.
|
||||
|
||||
Pour mettre à jour Doks, il suffit d'ajouter le dépôt Git du projet original `git remote add doks git@github.com:gethyas/doks.git`, de rappatrier les nouveaux changements `git pull doks --rebase` et ainsi ne pas avoir de conflit. Seul le fichier `hugo_stats.json` qui récolte toutes les propriétés CSS du framework Tailwindcss utilisé dans les templates. C'est pourquoi un des premiers commit est la mise dans `.gitignore`.
|
||||
|
||||
Lors de la mise à jour de Doks, il faut vérifier s'il faut mettre à jour la version de Hugo dans `.drone.yml`. Je n'ai pas réussi à ce que l'image utilise le Drone importé par _npm_.
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title : "Outils numériques libres de <a href='https://p4pillon.org'>P4Pillon</a>"
|
||||
description: ""
|
||||
lead: "Ce site web 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> pour <a href='https://p4pillon.org'>P4Pillon</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 P4Pillon" # custom title (optional)
|
||||
description: "Ce site web met à disposition de multiples services utiles pour collaborer, partager et avoir une vie numérique plus « saine » pour P4Pillon." # 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.
|
||||
|
||||
Ses outils sont disponibles pour les acteurs travaillant sur le projet P4Pillon. Pour la création d'un compte vous pouvez faire la demande sur [compte@p4pillon.org](mailto:compte@p4pillon.org).
|
|
@ -0,0 +1,11 @@
|
|||
- name: nextcloud
|
||||
- name: outline
|
||||
- name: element
|
||||
link: https://matrix.to/#/#p4pillon-sante:converser.eu
|
||||
- name: vikunja
|
||||
- name: vaultwarden
|
||||
- name: directus
|
||||
subdomain: formulaire
|
||||
- name: gitea
|
||||
- name: listmonk
|
||||
- name: metabase
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: "Centre de documentation"
|
||||
description: ""
|
||||
summary: ""
|
||||
date: 2023-09-07T16:12:03+02:00
|
||||
lastmod: 2023-09-07T16:12:03+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "docs-9602b15bad02600f3883f55e2ade6b81"
|
||||
weight: 19
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Discussion entre équipes"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6azbe4373e933280d78ea5e6158"
|
||||
weight: 600
|
||||
toc: true
|
||||
icon: messages
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
title: "Discussion entre équipes"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
# menu:
|
||||
# docs:
|
||||
# parent: ""
|
||||
# identifier: "example-zbe4373e933280d78ea5e6158"
|
||||
weight: 610
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://matrix.to/#/#p4pillon-sante:converser.eu/](https://matrix.to/#/#p4pillon-sante:converser.eu/)
|
||||
{{< /callout >}}
|
||||
|
||||
## Créer un compte
|
||||
|
||||
- Il faut se créer un compte depuis [cette adresse](https://element.interhop.org/#/register).
|
||||
|
||||
## Projet EIMIS
|
||||
|
||||
> Faciliter et sécuriser les communications des professionnels de santé
|
||||
>
|
||||
> [Lien](https://beta.gouv.fr/startups/eimis.html)
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: "Introduction"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78"
|
||||
weight: 100
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: "👋 Bienvenue !"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be437933280d78"
|
||||
weight: 110
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
Vous découvrez la suite collaborative de {{< title >}} ? Pas de panique ☺️
|
||||
|
||||
## Où suis-je ?
|
||||
|
||||
Vous voici actuellement dans le centre de documentation de la suite collaborative proposée et hébergée par [RésiLien](https://resilien.fr). Vous y retrouverez la documentation des différents outils proposés.
|
||||
|
||||
Nous utilisons le « concept » de la Gare Centrale dont voici les ressources pour vous permettre de bien comprendre son fonctionnement :
|
||||
- [article de blog](https://lesecolohumanistes.fr/gare-centrale/)
|
||||
- [vidéo](https://tube.koweb.fr/w/6Wry1kQKEnnABiHz11ezY1)
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
title: "☝️ Demander de l'aide"
|
||||
slug: "demander-de-laide"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a6be437933280d78"
|
||||
weight: 120
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
Dans le cas où ce centre de documentation ne suffirait pas
|
||||
|
||||
Vous ne trouvez pas ce que vous cherchez ? Voici les moyens à disposition pour demander de l’aide.
|
||||
|
||||
## Le canal #LaMelio sur Matrix
|
||||
|
||||
Un espace de discussion dédié à l’entraide entre collègues est à votre disposition dans la messagerie instantanée Matrix.
|
||||
|
||||
À retrouver [ici](https://matrix.to/#/#LaMelio-Entraide:matrix.interhop.org) !
|
||||
|
||||
Que vous soyez de celles et ceux qui ont des questions ou plutôt de celles et ceux qui maitrisent l’outil, c’est l’endroit parfait pour vous retrouver et échanger vos connaissances.
|
||||
|
||||
## Support
|
||||
|
||||
Vous pouvez nous contacter par email en écrivant à [support@{{< domain >}}](mailt:support@{{< domain >}}).
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
title: "⚡ Vie numérique"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: ""
|
||||
weight: 130
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
Le numérique est partout, mais nous prenons peu de recul sur cet outil. Rappelons qu'il doit nous faciliter notre collaboration et ainsi permettre d'être plus efficace dans notre travail.
|
||||
|
||||
Vu les révolution sans précédente que nous vivons (extinction massive, changement climatique...), il faut le rappeler que l'informatique reste un outil non soutenable sur du long terme. Si vous voulez plus d'information, lisez ou écoutez l'épisode « [Incompatibilités des transitions numérique et écologique](https://techologie.net/episodes/86-transitions-numerique-et-ecologique-incompatibles/) » de [Techologie](https://techologie.net/).
|
||||
|
||||
## Hébergement
|
||||
|
||||
[RésiLien](https://resilien.fr) est un hébergeur de logiciel numérique libre, nous faisons partie du Collectif des Hébergeurs Alternatifs appelé [CHATONS](https://chatons.org) 🐈 propulsé par l'association [Framasoft](https://framasoft.org).
|
||||
|
||||
> Accompagner les organisations qui ont une conscience sociétale vers la réappropriation de leurs outils numériques.
|
||||
|
||||
Nous proposons des outils Open Source permettant de se libérer des GAFAMs. Ils sont hébergés directement en France sur des micro-serveurs à faible impact énergétique.
|
||||
|
||||
Nous devons reprendre le contrôle de nos logiciels mais aussi de nos données, c'est tout l'enjeu de cette plateforme !
|
||||
|
||||
## Sauvegarde
|
||||
|
||||
Tous les outils sont sauvegardés automatiquement toutes les nuits. Ses sauvegardes sont chiffrées et envoyées sur plusieurs serveurs.
|
||||
|
||||
Mais vous êtes les garants de vos données et nous vous conseillons d'avoir une procédure régulière de sauvegarde sur un disque dur.
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Prise de notes"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6azbe4373e933280d78ea53de6158"
|
||||
weight: 500
|
||||
toc: true
|
||||
icon: pencil
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Prise de notes"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6373e933280d78ea5"
|
||||
weight: 510
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://notes.{{< domain >}}](https://notes.{{< domain >}})
|
||||
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/76/status?style=flat-square" />
|
||||
{{< /callout >}}
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Gérer vos données"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78ea53de"
|
||||
weight: 300
|
||||
toc: true
|
||||
icon: files
|
||||
seo:
|
||||
title: "Gérer vos données" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
title: "Gérer vos données"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78ea5"
|
||||
weight: 310
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://nuage.{{< domain >}}](https://nuage.{{< domain >}})
|
||||
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/75/status?style=flat-square" />
|
||||
{{< /callout >}}
|
||||
|
||||
Vous êtes sur la documentation de l'outil permettant de gérer des fichiers, contacts et agendas et de collaborer avec une suite office en ligne.
|
||||
|
||||
Les outils utilisés sont :
|
||||
- Nextcloud pour la gestion des fichiers, contacts et agendas
|
||||
- Onlyoffice qui est intégré directement dans Nextcloud et permettant d'éditer à plusieurs des documents (traitement de texte, tableurs...)
|
||||
|
||||
## Nextcloud
|
||||
|
||||
Nextcloud est un logiciel open source de partage et de synchronisation de fichier dont le spectre d’utilisation va du particulier exploitant un serveur Nextcloud à la maison à la grande entreprise ou l’hébergeur qui a souscrit au support via Nexcloud Entreprise Subscription. Nextcloud propose un système de synchronisation et de partage de fichiers sûr, sécurisé et efficace, que vous pouvez gérer sur vos propres serveurs.
|
||||
|
||||
Vous pouvez partager un ou plusieurs fichiers sur votre ordinateur et les synchroniser avec votre serveur Nextcloud. Pour cela, il suffit de déposer les fichiers dans vos répertoires locaux partagés et ils sont immédiatement synchronisés avec le serveur et les autres périphériques via le client de synchronisation de bureau, l’application Android ou l’application iOS. Pour en apprendre plus à propos du client de synchronisation de bureau, veuillez vous référez à :
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Mots de passe"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78ea53d"
|
||||
weight: 900
|
||||
toc: true
|
||||
icon: shield-lock
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Gestionnaire de mots de passe"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a4373e933280d78ea5"
|
||||
weight: 910
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://pass.{{< domain >}}](https://pass.{{< domain >}})
|
||||
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/78/status?style=flat-square" />
|
||||
{{< /callout >}}
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Gestion de PDF"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78ea53de615"
|
||||
weight: 700
|
||||
toc: true
|
||||
icon: file-type-pdf
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Gestion de PDF"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e9332ea5"
|
||||
weight: 710
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://pdf.{{< domain >}}](https://pdf.{{< domain >}})
|
||||
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/81/status?style=flat-square" />
|
||||
{{< /callout >}}
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Gestion de projets"
|
||||
description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e933280d78ea53de615"
|
||||
weight: 700
|
||||
toc: true
|
||||
icon: list-details
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Gestion de projets"
|
||||
description: "Bienvenue dans Nextcloud : Un espace sécurisé pour toutes vos données."
|
||||
summary: ""
|
||||
date: 2023-09-07T16:04:48+02:00
|
||||
lastmod: 2023-09-07T16:04:48+02:00
|
||||
draft: false
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "example-6a1a6be4373e9332ea5"
|
||||
weight: 710
|
||||
toc: true
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
{{< callout context="tip" title="Information" icon="info-circle" >}}
|
||||
- Lien du service : [https://projets.{{< domain >}}](https://projets.{{< domain >}})
|
||||
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/77/status?style=flat-square" />
|
||||
{{< /callout >}}
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: "Mentions légales"
|
||||
description: ""
|
||||
summary: ""
|
||||
date: 2023-09-07T17:19:07+02:00
|
||||
lastmod: 2023-09-07T17:19:07+02:00
|
||||
draft: false
|
||||
type: "legal"
|
||||
seo:
|
||||
title: "" # custom title (optional)
|
||||
description: "" # custom description (recommended)
|
||||
canonical: "" # custom canonical URL (optional)
|
||||
noindex: false # false (default) or true
|
||||
---
|
||||
|
||||
## Éditeur
|
||||
|
||||
Le site web [https://apps.p4pillon.org](https://apps.p4pillon.org) est édité par l'association [RésiLien](https://resilien.fr).
|
||||
|
||||
> SIRET : XXXXXXXXXXXXXX
|
||||
> Adresse : 315 impasse de la Meliora 42260 Crémeaux
|
||||
|
||||
## Directeur de publication
|
||||
|
||||
Simon Constans
|
||||
|
||||
## Hébergement
|
||||
|
||||
Le site web [https://apps.p4pillon.org](https://apps.p4pillon.org) est hébergé avec sobriété par l'association [RésiLien](https://resilien.fr).
|
||||
|
||||
> SIRET: XXXXXXXXXXXXXX
|
||||
> Adresse : 315 impasse de la Meliora 42260 Crémeaux
|
||||
|
||||
## Développement et Maintenance
|
||||
|
||||
Le site web [https://apps.p4pillon.org](https://apps.p4pillon.org) a été réalisé de façon éco-responsable par [RésiLien](https://resilien.fr).
|
||||
|
||||
## Liens hypertextes
|
||||
|
||||
Les liens hypertextes mis en œuvre en direction d’autres sites WEB ne sauraient engager la responsabilité de Jarnat, car nous n’exerçons aucun contrôle sur le contenu des sites auxquels ces liens renvoient.
|
||||
|
||||
## Cookie
|
||||
|
||||
Ce site n’installe aucun cookie, c’est pourquoi il n’y a aucun bandeau spécifique. Nous respectons la vie privée de nos visiteurs.
|
|
@ -0,0 +1,91 @@
|
|||
services:
|
||||
directus:
|
||||
tool:
|
||||
name: Directus
|
||||
link: https://directus.io/
|
||||
title: Gestion de contenu
|
||||
icon: route-2
|
||||
description: Directus est un logiciel de gestion de contenu qui permet de stocker et d'accéder au contenu via une API.
|
||||
subdomain: admin
|
||||
doc: /docs/nuage/gérer-vos-données/
|
||||
element:
|
||||
tool:
|
||||
name: Element
|
||||
link: https://element.io/
|
||||
title: Discussion entre équipes
|
||||
icon: messages
|
||||
description: Échanger ensemble avec une messagerie instantanée sécurisée et décentralisée sur différents sujets.
|
||||
subdomain: chat
|
||||
doc: /docs/chat/discussion-entre-%C3%A9quipes/
|
||||
gitea:
|
||||
tool:
|
||||
name: Gitea
|
||||
link: https://about.gitea.com/
|
||||
title: Forge logicielle
|
||||
icon: brand-git
|
||||
description: Gitea est une forge logicielle libre pour l'hébergement de développement logiciel et la gestion du code source
|
||||
subdomain: forge
|
||||
doc: /docs/nuage/gérer-vos-données/
|
||||
listmonk:
|
||||
tool:
|
||||
name: listmonk
|
||||
link: https://listmonk.app/
|
||||
title: Infolettre
|
||||
icon: mail-fast
|
||||
description: Gestionnaire de listes de diffusion et d'infolettre avec envoie possible par mail ou SMS.
|
||||
subdomain: infolettre
|
||||
doc: /docs/nuage/gérer-vos-données/
|
||||
metabase:
|
||||
tool:
|
||||
name: Metabase
|
||||
link: https://www.metabase.com/
|
||||
title: Analyse de données
|
||||
icon: chart-dots-2
|
||||
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/
|
||||
nextcloud:
|
||||
tool:
|
||||
name: Nextcloud
|
||||
link: https://nextcloud.com/
|
||||
title: Gérer vos données
|
||||
icon: files
|
||||
description: Gérer en collaboration vos fichiers, contacts et agendas pour permettre une bonne organisation.
|
||||
subdomain: nuage
|
||||
doc: /docs/nuage/gérer-vos-données/
|
||||
outline:
|
||||
tool:
|
||||
name: Outline
|
||||
link: https://www.getoutline.com/
|
||||
title: Prise de notes
|
||||
icon: pencil
|
||||
description: Collaborer sur une documentation en ligne pour mettre en lumière les connaissances de votre équipe.
|
||||
subdomain: docs
|
||||
doc: /docs/notes/prise-de-notes/
|
||||
signaturepdf:
|
||||
tool:
|
||||
name: PDF Signature
|
||||
link: https://github.com/24eme/signaturepdf/
|
||||
title: Gestion de PDF
|
||||
icon: file-type-pdf
|
||||
description: Signer, parapher, modifier, réorganiser, compresser vos fichiers PDF directement en ligne.
|
||||
subdomain: pdf
|
||||
doc: /docs/pdf/gestion-de-pdf/
|
||||
vaultwarden:
|
||||
tool:
|
||||
name: Vaultwarden
|
||||
link: https://github.com/dani-garcia/vaultwarden/
|
||||
title: Mots de passe
|
||||
icon: shield-lock
|
||||
description: Facilitez-vous la gestion et le partage de vos mots de passe, vous avez besoin d'en retenir qu'un !
|
||||
subdomain: pass
|
||||
doc: /docs/pass/gestionnaire-de-mots-de-passe/
|
||||
vikunja:
|
||||
tool:
|
||||
name: Vikunja
|
||||
link: https://vikunja.io/
|
||||
title: Gestion de projets
|
||||
icon: list-details
|
||||
description: Organiser vous autour de listes de tâches et rendre visible l'avancement de vos projets avec votre équipe.
|
||||
subdomain: projets
|
||||
doc: /docs/nuage/gérer-vos-données/
|
|
@ -0,0 +1,73 @@
|
|||
{{ define "main" }}
|
||||
<section class="section container-fluid mt-n3 pb-3">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-12 text-center">
|
||||
<h1>{{ .Title | safeHTML }}</h1>
|
||||
</div>
|
||||
<div class="col-lg-9 col-xl-8 text-center">
|
||||
<p class="lead">{{ .Params.lead | safeHTML }}</p>
|
||||
{{/* <a class="btn btn-primary btn-cta rounded-pill btn-lg my-3" href="/docs/{{ if site.Params.doks.docsVersioning }}{{ site.Params.doks.docsVersion }}/{{ end }}guides/example-guide/" role="button">{{ i18n "get_started" }}</a> */}}
|
||||
{{/* {{ .Content }} */}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ define "sidebar-prefooter" }}
|
||||
{{ if site.Params.doks.backgroundDots -}}
|
||||
<div class="d-flex justify-content-start">
|
||||
<div class="bg-dots"></div>
|
||||
</div>
|
||||
{{ end -}}
|
||||
<section class="section section-md section-features">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center text-center">
|
||||
{{ range $service := index site.Data.services }}
|
||||
{{ $defaultValues := index site.Data.portails.services $service.name }}
|
||||
<div class="col-lg-5">
|
||||
<h2 class="h4">
|
||||
{{- $icon := $service.icon | default $defaultValues.icon -}}
|
||||
{{- partial "inline-svg" $icon -}}
|
||||
{{- $service.title | default $defaultValues.title -}}
|
||||
</h2>
|
||||
<p>{{ $service.description | default $defaultValues.description }}</p>
|
||||
<div class="btn-group" role="group" aria-label="Basic outlined example">
|
||||
<a href="{{ $service.doc | default $defaultValues.doc }}" class="btn btn-outline-primary">Guide</a>
|
||||
{{ if $service.subdomain }}
|
||||
<a href="https://{{ print $service.subdomain "." site.Params.domain }}/" class="btn btn-primary">Accéder au service</a>
|
||||
{{ else if $service.link }}
|
||||
<a href="{{ $service.link }}/" class="btn btn-primary">Accéder au service</a>
|
||||
{{ else }}
|
||||
<a href="https://{{ print $defaultValues.subdomain "." site.Params.domain }}/" class="btn btn-primary">Accéder au service</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ if site.Params.poweredBy }}
|
||||
<p class="text-muted"><small>Propulsé par <a href="{{ $defaultValues.tool.link }}">{{ $defaultValues.tool.name }}</a></small></p>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
<section class="section container-fluid mt-n3 pb-3">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-9 col-xl-8 text-center">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ define "sidebar-footer" }}
|
||||
{{ if site.Params.doks.sectionFooter -}}
|
||||
<section class="section section-md container-fluid bg-light">
|
||||
<div class="row justify-content-center text-center">
|
||||
<div class="col-lg-7">
|
||||
<h2 class="mt-2">Start building with Doks today</h2>
|
||||
<a class="btn btn-primary rounded-pill px-4 my-2" href="/docs/{{ if site.Params.doks.docsVersioning }}{{ site.Params.doks.docsVersion }}/{{ end }}prologue/introduction/" role="button">{{ i18n "get-started" }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end -}}
|
||||
{{ end }}
|
|
@ -0,0 +1,19 @@
|
|||
<hr class="mt-1 mb-1"/>
|
||||
<ul id="socialMenu" class="nav mx-auto flex-row order-lg-4">
|
||||
{{ range $service := site.Data.services }}
|
||||
{{ $defaultValues := index site.Data.portails.services $service.name }}
|
||||
{{ $icon := $service.icon | default $defaultValues.icon }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link social-link" title="{{ $service.title | default $defaultValues.title }}" href="{{- if $service.subdomain -}}
|
||||
{{- print "https://" $service.subdomain "." site.Params.domain -}}
|
||||
{{- else if $service.link -}}
|
||||
{{- $service.link -}}
|
||||
{{- else -}}
|
||||
{{- print "https://" $defaultValues.subdomain "." site.Params.domain -}}
|
||||
{{- end -}}">
|
||||
{{- partial "inline-svg" $icon }}
|
||||
<small class="ms-2 visually-hidden">{{ $service.title | default $defaultValues.title }}</small>
|
||||
</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
|
@ -0,0 +1,284 @@
|
|||
{{/*
|
||||
Ce fichier provient de https://github.com/gethyas/doks-core/blob/main/layouts/partials/header/header.html
|
||||
pour ajouter nos services automatiquements au niveau du menu en haut à droite depuis notre configuration
|
||||
dans le dossier data.
|
||||
|
||||
Une PR est en cours pour n'avoir que le template `header-menu-social.html` à garder et ainsi supprimer
|
||||
ce fichier https://github.com/gethyas/doks-core/pull/96
|
||||
*/}}
|
||||
{{ if site.Params.doks.alert -}}
|
||||
{{ partial "header/alert.html" . }}
|
||||
{{ end -}}
|
||||
|
||||
{{ if site.Params.doks.navbarSticky -}}
|
||||
<div class="sticky-top">
|
||||
{{ end -}}
|
||||
|
||||
{{ if site.Params.doks.headerBar -}}
|
||||
<div class="header-bar"></div>
|
||||
{{ end -}}
|
||||
|
||||
<header class="navbar navbar-expand-lg">
|
||||
{{ with site.Params.doks.containerBreakpoint -}}
|
||||
<div class="container-{{ . }}">
|
||||
{{ else -}}
|
||||
<div class="container">
|
||||
{{ end -}}
|
||||
|
||||
<!-- Site title -->
|
||||
<a class="navbar-brand me-auto me-lg-3" href="{{ relLangURL "" }}">{{ .Site.Title }}</a>
|
||||
|
||||
<!-- FlexSearch mobile -->
|
||||
{{ partial "main/showFlexSearch" . }}
|
||||
{{ $showFlexSearch := .Scratch.Get "showFlexSearch" -}}
|
||||
{{ if $showFlexSearch -}}
|
||||
<button type="button" id="searchToggleMobile" class="btn btn-link nav-link mx-2 d-lg-none" aria-label="Search website">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<circle cx="10" cy="10" r="7"></circle>
|
||||
<line x1="21" y1="21" x2="15" y2="15"></line>
|
||||
</svg>
|
||||
</button>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Section navigation -->
|
||||
{{ if (in site.Params.doks.sectionNav .Section) -}}
|
||||
<button class="btn btn-link d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavSection" aria-controls="offcanvasNavSection" aria-label="Open section navigation menu">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-dots-vertical" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path>
|
||||
<path d="M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path>
|
||||
<path d="M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path>
|
||||
</svg>
|
||||
</button>
|
||||
<div class="offcanvas offcanvas-start d-lg-none" tabindex="-1" id="offcanvasNavSection" aria-labelledby="offcanvasNavSectionLabel">
|
||||
{{ if site.Params.doks.headerBar -}}
|
||||
<div class="header-bar"></div>
|
||||
{{ end -}}
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="offcanvasNavSectionLabel">{{ .Section | humanize }}</h5>
|
||||
<button type="button" class="btn btn-link nav-link p-0" data-bs-dismiss="offcanvas" aria-label="Close">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M18 6l-12 12"></path>
|
||||
<path d="M6 6l12 12"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<aside class="doks-sidebar mt-n3">
|
||||
<nav id="doks-docs-nav" aria-label="Tertiary navigation">
|
||||
{{ partial "sidebar/docs-menu.html" . }}
|
||||
</nav>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Main navigation button -->
|
||||
<button class="btn btn-link nav-link mx-2 order-3 d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavMain" aria-controls="offcanvasNavMain" aria-label="Open main navigation menu">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-menu" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<line x1="4" y1="8" x2="20" y2="8"></line>
|
||||
<line x1="4" y1="16" x2="20" y2="16"></line>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- Main navigation -->
|
||||
<div class="offcanvas offcanvas-end h-auto" tabindex="-1" id="offcanvasNavMain" aria-labelledby="offcanvasNavMainLabel">
|
||||
{{ if site.Params.doks.headerBar -}}
|
||||
<div class="header-bar d-lg-none"></div>
|
||||
{{ end -}}
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="offcanvasNavMainLabel">{{ site.Title }}</h5>
|
||||
<button type="button" class="btn btn-link nav-link p-0" data-bs-dismiss="offcanvas" aria-label="Close">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M18 6l-12 12"></path>
|
||||
<path d="M6 6l12 12"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<!--
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title fw-bold" id="offcanvasNavMainLabel">{{ .Site.Params.Title }}</h5>
|
||||
<button class="btn btn-link nav-link ms-auto" type="button" data-bs-dismiss="offcanvas" aria-label="Close menu">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M18 6l-12 12"></path>
|
||||
<path d="M6 6l12 12"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
-->
|
||||
<div class="offcanvas-body d-flex flex-column flex-lg-row justify-content-between">
|
||||
<ul class="navbar-nav flex-grow-1">
|
||||
{{- $current := . -}}
|
||||
{{- $section := $current.Section -}}
|
||||
{{ range .Site.Menus.main -}}
|
||||
{{- $active := or ($current.IsMenuCurrent "main" .) ($current.HasMenuCurrent "main" .) -}}
|
||||
{{- $active = or $active (eq .Name $current.Title) -}}
|
||||
{{- $active = or $active (and (eq .Name ($section | humanize)) (eq $current.Section $section)) -}}
|
||||
{{- $active = or $active (and (eq .Name "Blog") (eq $current.Section "blog" "authors")) -}}
|
||||
{{ if .HasChildren -}}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ .Name -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-down" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M6 9l6 6l6 -6"></path>
|
||||
</svg>
|
||||
</a>
|
||||
<ul class="dropdown-menu shadow rounded border-0">
|
||||
{{ range .Children -}}
|
||||
{{- $active = eq .Name $current.Title -}}
|
||||
<li><a class="dropdown-item{{ if $active }} active{{ end }}" href="{{ .URL | absURL }}"{{ if $active }} aria-current="true"{{ end }}>{{ .Name }}</a></li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</li>
|
||||
{{ else -}}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link{{ if $active }} active{{ end }}" href="{{ .URL | absURL }}"{{ if $active }} aria-current="true"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
</ul>
|
||||
|
||||
<!-- FlexSearch desktop -->
|
||||
{{ partial "main/showFlexSearch" . }}
|
||||
{{ $showFlexSearch := .Scratch.Get "showFlexSearch" -}}
|
||||
{{ if $showFlexSearch -}}
|
||||
<button type="button" id="searchToggleDesktop" class="btn btn-link nav-link p-2 d-none d-lg-block" aria-label="Search website">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<circle cx="10" cy="10" r="7"></circle>
|
||||
<line x1="21" y1="21" x2="15" y2="15"></line>
|
||||
</svg>
|
||||
</button>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Language dropdown -->
|
||||
{{ if eq site.Params.doks.multilingualMode true -}}
|
||||
|
||||
<div class="dropdown mt-1 order-lg-2">
|
||||
<button class="btn btn-dropdown dropdown-toggle" id="doks-languages" data-bs-toggle="dropdown" aria-expanded="false" data-bs-display="static">
|
||||
<span class="dropdown-caret">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-language" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M4 5h7"></path>
|
||||
<path d="M9 3v2c0 4.418 -2.239 8 -5 8"></path>
|
||||
<path d="M5 9c0 2.144 2.952 3.908 6.7 4"></path>
|
||||
<path d="M12 20l4 -9l4 9"></path>
|
||||
<path d="M19.1 18h-6.2"></path>
|
||||
</svg>
|
||||
<span id="doks-language-current">{{ .Site.Language.LanguageName }}</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-down" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M6 9l6 6l6 -6"></path>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-lg-end me-lg-2 shadow rounded border-0" aria-labelledby="doks-languages">
|
||||
|
||||
<li><span class="dropdown-item current" aria-current="true">{{ .Site.Language.LanguageName }}</span></li>
|
||||
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
|
||||
{{ if site.Params.doks.showMissingLanguages -}}
|
||||
{{ $translatedLangs := slice -}}
|
||||
{{ range .Translations -}}
|
||||
{{ $translatedLangs = $translatedLangs | append .Lang }}
|
||||
{{- end }}
|
||||
{{ range site.Languages -}}
|
||||
{{ if and (ne $.Lang .Lang) (not (in $.Params.skipTranslations .Lang)) -}}
|
||||
{{ $isTranslated := in $translatedLangs .Lang -}}
|
||||
<li><a class="dropdown-item {{ if not $isTranslated }}untranslated{{ end }}" rel="alternate" href="{{ if $isTranslated }}{{ (index (where $.Translations "Lang" .Lang) 0).RelPermalink }}{{ else }}{{ .Lang | relURL }}{{ end }}" hreflang="{{ .Lang }}" lang="{{ .Lang }}">{{ .LanguageName }}</a></li>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{ else -}}
|
||||
{{ range .Translations -}}
|
||||
<li><a class="dropdown-item" rel="alternate" href="{{ .RelPermalink }}" hreflang="{{ .Lang }}" lang="{{ .Lang }}">{{ .Language.LanguageName }}</a></li>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
<!--
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="/docs/contributing/how-to-contribute/">Help Translate</a></li>
|
||||
-->
|
||||
</ul>
|
||||
</div>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Versioning dropdown -->
|
||||
{{ if eq site.Params.doks.docsVersioning true -}}
|
||||
|
||||
<div class="dropdown mt-1 order-lg-3">
|
||||
<button class="btn btn-dropdown dropdown-toggle" id="doks-versions" data-bs-toggle="dropdown" aria-expanded="false" data-bs-display="static" aria-label="Toggle version menu">
|
||||
<span class="d-none">Doks</span> v{{ site.Params.doks.docsVersion }}
|
||||
<span class="dropdown-caret">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-down" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M6 9l6 6l6 -6"></path>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-lg-end me-lg-2 shadow rounded border-0" aria-labelledby="doks-versions">
|
||||
<li><a class="dropdown-item current" aria-current="true" href="/docs/{{ site.Params.doks.docsVersion }}/prologue/introduction/">Latest ({{ site.Params.doks.docsVersion }}.x)</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="/docs/0.2/prologue/introduction/">v0.2.x</a></li>
|
||||
<li><a class="dropdown-item" href="/docs/0.1/prologue/introduction/">v0.1.x</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="/docs/versions/">All versions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Color mode toggler -->
|
||||
{{ if and (eq site.Params.doks.colorMode "auto") site.Params.doks.colorModeToggler -}}
|
||||
<button id="buttonColorMode" class="btn btn-link mx-auto nav-link p-0 ms-lg-2 me-lg-1" type="button" aria-label="Toggle theme">
|
||||
<svg data-bs-theme-value="dark" xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-moon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
|
||||
</svg>
|
||||
<svg data-bs-theme-value="light" xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-sun" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0m-5 0h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7"></path>
|
||||
</svg>
|
||||
</button>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Social menu -->
|
||||
{{ if .Site.Menus.social -}}
|
||||
<ul id="socialMenu" class="nav mx-auto flex-row order-lg-4">
|
||||
{{ range .Site.Menus.social -}}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link social-link" href="{{ .URL | relURL }}">{{ .Pre | safeHTML }}<small class="ms-2 visually-hidden">{{ .Name | safeHTML }}</small></a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
{{ end -}}
|
||||
{{ partial "header/header-menu-social.html" . }}
|
||||
|
||||
|
||||
<!-- Navbar button mobile -->
|
||||
{{ if site.Params.doks.navBarButton -}}
|
||||
<a class="btn btn-primary rounded-pill mt-2 btn-block d-lg-none" href="{{ site.Params.doks.navBarButtonUrl | absURL }}" role="button">{{ site.Params.doks.navBarButtonText }}</a>
|
||||
{{ end -}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Navbar button desktop -->
|
||||
{{ if site.Params.doks.navBarButton -}}
|
||||
<a class="btn btn-primary rounded-pill ms-3 me-2 px-4 order-lg-3 d-none d-lg-block" href="{{ site.Params.doks.navBarButtonUrl | absURL }}" role="button">{{ site.Params.doks.navBarButtonText }}</a>
|
||||
{{ end -}}
|
||||
|
||||
</div>
|
||||
</header>
|
||||
{{ if site.Params.doks.navbarSticky -}}
|
||||
</div>
|
||||
{{ end -}}
|
||||
|
||||
<!-- Search modal -->
|
||||
{{ if site.Params.doks.flexSearch -}}
|
||||
{{ partial "header/search-modal" . }}
|
||||
{{ end -}}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{{ site.Params.domain }}
|
|
@ -0,0 +1 @@
|
|||
{{ site.Title }}
|
Loading…
Reference in New Issue