first commit

This commit is contained in:
Simon C 2023-12-05 16:24:03 +01:00
commit 809fb57316
130 changed files with 8560 additions and 0 deletions

55
.drone.yml Normal file
View File

@ -0,0 +1,55 @@
---
# drone encrypt P4Pillon/avecsante.app $AWS_ACCESS_KEY_ID
kind: secret
name: AWS_ACCESS_KEY_ID
data: E8jzEjG64MRSoRO6g5CSQnNmpnP6Ck2EwIhPNwyVuGudzFGT88UbQ8gppUV9vF9vAoKQ/NNC
---
# drone encrypt P4Pillon/avecsante.app $AWS_SECRET_ACCESS_KEY
kind: secret
name: AWS_SECRET_ACCESS_KEY
data: 6Vvc4kHWpQlx+2MOd8V4MLFXjg5EhIwDijQoQIdkhjwXaoIHjUlQdfSqidkE1JYKHSoL7k3/m/NKT4l+oTXv6MVDWcm2mWX5pnIA08PDHifgMEVDNUdgdbm3qpo=
---
kind: pipeline
type: docker
name: prod
steps:
- name: install npm
image: node:current-alpine
volumes:
- name: node_modules
path: /drone/src/node_modules
- name: hugo-resources
path: /drone/src/resources
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
commands:
- npm i
- npm run build
- npm run deploy
# - name: notify
# image: plugins/matrix@sha256:f1affb31b0c86963c97c6f976fa0dcb3cc84272057fd8558d609d28b3064bd7f
# settings:
# homeserver: https://converser.eu
# roomid: "QwOITmkKxRJJyCSDOZ:converser.eu"
# userid: "resilien:converser.eu"
# accesstoken:
# from_secret: MATRIX_ACCESSTOKEN
# when:
# status: [ failure ]
volumes:
- name: node_modules
host:
path: /tmp/drone/cache/p4pillon/avecsante.app/node_modules
- name: hugo-resources
host:
path: /tmp/drone/cache/weko/avecsante.app/resources

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

2
.eslintignore Normal file
View File

@ -0,0 +1,2 @@
assets/js/vendor
node_modules

31
.eslintrc.json Normal file
View File

@ -0,0 +1,31 @@
{
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"no-console": 0,
"quotes": ["error", "single"],
"comma-dangle": [
"error",
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "ignore"
}
]
}
}

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
node_modules
hugo_stats.json
public
resources

0
.hugo_build.lock Normal file
View File

14
.markdownlint-cli2.jsonc Normal file
View File

@ -0,0 +1,14 @@
{
"config": {
"default": true,
"MD013": false,
"MD022": false,
"MD024": false,
"MD025": false,
"MD026": false,
"MD033": false,
"MD034": false,
"MD036": false
},
"ignores": ["node_modules", "CHANGELOG.md", "README.md"]
}

8
.npmignore Normal file
View File

@ -0,0 +1,8 @@
.eslintcache
.stylelintcache
.netlify
.hugo_build.lock
yarn-error.log
node_modules
public
resources

4
.npmrc Normal file
View File

@ -0,0 +1,4 @@
enable-pre-post-scripts = true
auto-install-peers = true
node-linker = hoisted
prefer-symlinked-executables = false

2
.stylelintignore Normal file
View File

@ -0,0 +1,2 @@
assets/scss/vendor
node_modules

37
.stylelintrc.json Normal file
View File

@ -0,0 +1,37 @@
{
"extends": "stylelint-config-standard-scss",
"rules": {
"no-empty-source": null,
"string-quotes": "double",
"scss/comment-no-empty": null,
"max-line-length": null,
"scss/at-extend-no-missing-placeholder": null,
"at-rule-no-unknown": [
true,
{
"ignoreAtRules": [
"extend",
"at-root",
"debug",
"warn",
"error",
"if",
"else",
"for",
"each",
"while",
"mixin",
"include",
"content",
"return",
"function",
"tailwind",
"apply",
"responsive",
"variants",
"screen"
]
}
]
}
}

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Hyas
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

10
README.md Normal file
View File

@ -0,0 +1,10 @@
# AVECsante.app
Tableau de bord pour les outils numériques de l'association AVECsanté
## Command
```
npm run build
npm run deploy
```

BIN
assets/cover.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
assets/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
assets/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

1
assets/favicon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M32.415 9.586l-9-9C23.054.225 22.553 0 22 0c-1.104 0-1.999.896-2 2 0 .552.224 1.053.586 1.415l-3.859 3.859 9 9 3.859-3.859c.362.361.862.585 1.414.585 1.104 0 2.001-.896 2-2 0-.552-.224-1.052-.585-1.414z"/><path fill="#CCD6DD" d="M22 0H7C4.791 0 3 1.791 3 4v28c0 2.209 1.791 4 4 4h22c2.209 0 4-1.791 4-4V11h-9c-1 0-2-1-2-2V0z"/><path fill="#99AAB5" d="M22 0h-2v9c0 2.209 1.791 4 4 4h9v-2h-9c-1 0-2-1-2-2V0zm-5 8c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm0 4c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm12 4c0 .552-.447 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h20c.553 0 1 .448 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1z"/></svg>

After

Width:  |  Height:  |  Size: 972 B

0
assets/images/.gitkeep Normal file
View File

1
assets/mask-icon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M32.415 9.586l-9-9C23.054.225 22.553 0 22 0c-1.104 0-1.999.896-2 2 0 .552.224 1.053.586 1.415l-3.859 3.859 9 9 3.859-3.859c.362.361.862.585 1.414.585 1.104 0 2.001-.896 2-2 0-.552-.224-1.052-.585-1.414z"/><path fill="#CCD6DD" d="M22 0H7C4.791 0 3 1.791 3 4v28c0 2.209 1.791 4 4 4h22c2.209 0 4-1.791 4-4V11h-9c-1 0-2-1-2-2V0z"/><path fill="#99AAB5" d="M22 0h-2v9c0 2.209 1.791 4 4 4h9v-2h-9c-1 0-2-1-2-2V0zm-5 8c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm0 4c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm12 4c0 .552-.447 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h20c.553 0 1 .448 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1z"/></svg>

After

Width:  |  Height:  |  Size: 972 B

View File

@ -0,0 +1,5 @@
// Put your custom SCSS code here
#sidebar-default h3 > svg {
margin-bottom: .5rem
}

View File

@ -0,0 +1 @@
// Put your custom SCSS variables here

89
config/_default/hugo.toml Normal file
View File

@ -0,0 +1,89 @@
title = "AVECsanté.app"
baseurl = "/"
canonifyURLs = false
disableAliases = true
disableHugoGeneratorInject = true
# disableKinds = ["taxonomy", "term"]
enableEmoji = true
enableGitInfo = false
enableRobotsTXT = true
languageCode = "fr-FR"
paginate = 10
rssLimit = 10
summarylength = 20 # 70 (default)
# Multilingual
defaultContentLanguage = "fr"
disableLanguages = ["de", "nl", "en"]
defaultContentLanguageInSubdir = false
copyRight = "Copyright (c) 2023 P4Pillon"
[build.buildStats]
enable = true
#[social]
# twitter = "getdoks"
[outputs]
home = ["HTML", "RSS", "searchIndex"]
section = ["HTML", "RSS", "SITEMAP"]
[outputFormats.searchIndex]
mediaType = "application/json"
baseName = "search-index"
isPlainText = true
notAlternative = true
# Add output format for section sitemap.xml
[outputFormats.SITEMAP]
mediaType = "application/xml"
baseName = "sitemap"
isHTML = false
isPlainText = true
noUgly = true
rel = "sitemap"
[sitemap]
changefreq = "monthly"
filename = "sitemap.xml"
priority = 0.5
[caches]
[caches.getjson]
dir = ":cacheDir/:project"
maxAge = "30m"
[taxonomies]
contributor = "contributors"
category = "categories"
tag = "tags"
[permalinks]
blog = "/blog/:slug/"
docs = "/docs/:sections[1:]/:slug/"
# docs = "/docs/1.0/:sections[1:]/:slug/"
[minify.tdewolff.html]
keepWhitespace = false
[related]
threshold = 80
includeNewer = true
toLower = false
[[related.indices]]
name = "categories"
weight = 100
[[related.indices]]
name = "tags"
weight = 80
[[related.indices]]
name = "date"
weight = 10
[imaging]
anchor = "Smart"
bgColor = "#ffffff"
hint = "photo"
quality = 75
resampleFilter = "Box"

View File

@ -0,0 +1,12 @@
[fr]
languageName = "Français"
contentDir = "content/fr"
weight = 5
[fr.params]
languageISO = "FR"
languageTag = "fr-FR"
titleHome = "Doks thema"
titleAddition = "Modern documentatie-thema"
description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard."
footer = 'Mise en place par <a class="text-muted" href="https://p4pillon.org/">P4Pillon</a><br>Hébergé avec sobriété par <a class="text-muted" href="https://resilien.fr/">RésiLien</a>'
alertText = '<a class="alert-link stretched-link fw-normal" href="/blog/example-post/">Doks version 1.0 just shipped!</a>'

View File

@ -0,0 +1,33 @@
defaultMarkdownHandler = "goldmark"
[goldmark]
[goldmark.extensions]
linkify = false
[goldmark.parser]
autoHeadingID = true
autoHeadingIDType = "github"
[goldmark.parser.attribute]
block = true
title = true
[goldmark.renderer]
unsafe = true
[highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = false
lineNumbersInTable = false
noClasses = false
noHl = false
style = 'github-dark'
tabWidth = 4
[tableOfContents]
endLevel = 3
ordered = false
startLevel = 2

View File

@ -0,0 +1,14 @@
[[main]]
name = "GitHub"
url = "https://github.com/h-enk/hyas"
weight = 10
[[social]]
name = "LinkedIn"
url = "https://www.linkedin.com/in/henkverlinde/"
weight = 20
[[social]]
name = "Twitter"
url = "https://twitter.com/henkverlinde"
weight = 30

View File

@ -0,0 +1,48 @@
[[main]]
name = "Guides"
url = "/docs/introduction/bienvenue/"
weight = 10
# [[main]]
# name = "Blog"
# url = "/blog/"
# weight = 20
[[social]]
name = "Gérer vos données"
pre = '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-files" 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 d="M15 3v4a1 1 0 0 0 1 1h4" /><path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z" /><path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2" /></svg>'
url = "https://nuage.avecsante.app/"
weight = 10
[[social]]
name = "Prise de notes"
pre = '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-pencil" 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 d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /><path d="M13.5 6.5l4 4" /></svg>'
url = "https://notes.avecsante.app/"
weight = 20
[[social]]
name = "Gestion de projets"
pre = '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-list-details" 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 d="M13 5h8" /><path d="M13 9h5" /><path d="M13 15h8" /><path d="M13 19h5" /><path d="M3 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M3 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /></svg>'
url = "https://projets.avecsante.app/"
weight = 30
[[social]]
name = "Gestionnaire de mots de passe"
pre = '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-lock" 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 d="M19 18a3.5 3.5 0 0 0 0 -7h-1c.397 -1.768 -.285 -3.593 -1.788 -4.787c-1.503 -1.193 -3.6 -1.575 -5.5 -1s-3.315 2.019 -3.712 3.787c-2.199 -.088 -4.155 1.326 -4.666 3.373c-.512 2.047 .564 4.154 2.566 5.027" /><path d="M8 15m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v3a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" /><path d="M10 15v-2a2 2 0 1 1 4 0v2" /></svg>'
url = "https://pass.avecsante.app/"
weight = 40
[[footer]]
name = "Mentions légales"
url = "/mentions-legales/"
weight = 10
[[footer]]
name = "Sources du site"
url = "https://forge.p4pillon.org/P4Pillon/avecsante.app"
weight = 20
[[footer]]
name = "Statuts des services"
url = "https://status.avecsante.app/"
weight = 30

105
config/_default/module.toml Normal file
View File

@ -0,0 +1,105 @@
# 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"
excludeFiles = ["scss/common/_variables-custom.scss", "scss/common/_custom.scss"]
[[mounts]]
source = "node_modules/flexsearch"
target = "assets/js/vendor/flexsearch"
[[mounts]]
source = "node_modules/katex"
target = "assets/js/vendor/katex"
[[mounts]]
source = "node_modules/mermaid"
target = "assets/js/vendor/mermaid"
[[mounts]]
source = "node_modules/@tabler/icons/icons"
target = "assets/svgs/tabler-icons"
[[mounts]]
source = "assets"
target = "assets"
## content
[[mounts]]
source = "content"
target = "content"
## data
[[mounts]]
source = "node_modules/@hyas/doks-core/data"
target = "data"
[[mounts]]
source = "config/_default/hyas"
target = "data"
[[mounts]]
source = "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"
## static
[[mounts]]
source = "node_modules/@hyas/doks-core/static"
target = "static"
[[mounts]]
source = "static"
target = "static"

135
config/_default/params.toml Normal file
View File

@ -0,0 +1,135 @@
# Hugo
title = "AVECsanté"
description = "Congrats on setting up a new Doks project!"
images = ["cover.png"]
# Doks (@hyas/doks-core)
[doks]
# Color mode
colorMode = "auto" # auto (default), light or dark
colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto)
# Navbar
navbarSticky = true # true (default) or false
containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid"
## Button
navBarButton = false # false (default) or true
navBarButtonUrl = "/docs/prologue/introduction/"
navBarButtonText = "Get started"
# FlexSearch
flexSearch = true # true (default) or false
searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] )
searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"])
showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"])
indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time
## Search results
showDate = false # false (default) or true
showSummary = true # true (default) or false
searchLimit = 99 # 0 (no limit, default) or natural number
# Global alert
alert = false # false (default) or true
alertDismissable = true # true (default) or false
# Bootstrap
bootstrapJavascript = false # false (default) or true
# Nav
sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
toTopButton = false # false (default) or true
breadcrumbTrail = false # false (default) or true
headlineHash = true # true (default) or false
scrollSpy = true # true (default) or false
# Multilingual
multilingualMode = false # false (default) or true
showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false
# Versioning
docsVersioning = false # false (default) or true
docsVersion = "1.0"
# UX
headerBar = false # true (default) or false
backgroundDots = true # true (default) or false
# Homepage
sectionFooter = false # false (default) or true
# Blog
relatedPosts = false # false (default) or true
imageList = true # true (default) or false
imageSingle = true # true (default) or false
# KaTex
katex = false
# Repository
editPage = false # false (default) or true
lastMod = false # false (default) or true
repoHost = "Gitea" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer
docsRepo = "https://forge.p4pillon.org/P4Pillon/avecsante.app"
docsRepoBranch = "main" # main (default), master, or <branch name>
docsRepoSubPath = "" # "" (none, default) or <sub path>
# SCSS colors
# backGround = "yellowgreen"
## Dark theme
# textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color
# accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color
## Light theme
# textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color
# accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color
[doks.menu]
[doks.menu.section]
auto = true # true (default) or false
collapsibleSidebar = false # true (default) or false
# Debug
[render_hooks.image]
errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
[render_hooks.link]
errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
highlightBroken = false # true or false (default)
# Images (@hyas/images)
[hyas_images]
[hyas_images.landscape]
normalize = "1360x765" # "1600x900" (default)
lqip = "16x9" # "16x9" (default)
widths = [480, 640, 800, 1024]
[hyas_images.portrait]
normalize = "765x1360" # "900x1600" (default)
lqip = "9x16" # "9x16" (default)
widths = [480, 640, 800, 1024]
# Inline SVG (@hyas/inline-svg)
[inline_svg]
iconSetDir = "tabler-icons" # "tabler-icons" (default)
# SEO (@hyas/seo)
[seo]
[seo.title]
separator = " | "
suffix = ""
[seo.favicons]
sizes = []
icon = "favicon.png" # favicon.png (default)
svgIcon = "favicon.svg" # favicon.svg (default)
maskIcon = "mask-icon.svg" # mask-icon.svg (default)
maskIconColor = "white" # white (default)
[seo.schemas]
type = "Organization" # Organization (default) or Person
logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default)
name = "AVECsanté" # Name of Organization or Person
sameAs = [] # E.g. ["https://github.com/gethyas/hyas", "https://fosstodon.org/@hyas"]
images = ["cover.png"] # ["cover.png"] (default)
article = [] # Article sections
newsArticle = [] # NewsArticle sections
blogPosting = ["blog"] # BlogPosting sections
product = [] # Product sections

17
config/babel.config.js Normal file
View File

@ -0,0 +1,17 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
browsers: [
// Best practice: https://github.com/babel/babel/issues/7789
'>=1%',
'not ie 11',
'not op_mini all',
],
},
},
],
],
};

1
config/next/hugo.toml Normal file
View File

@ -0,0 +1 @@
# Overrides for next environment

54
config/postcss.config.js Normal file
View File

@ -0,0 +1,54 @@
const autoprefixer = require('autoprefixer');
const purgecss = require('@fullhuman/postcss-purgecss');
const whitelister = require('purgecss-whitelister');
module.exports = {
plugins: [
autoprefixer(),
purgecss({
content: [ './hugo_stats.json' ],
extractors: [
{
extractor: (content) => {
const els = JSON.parse(content).htmlElements;
return els.tags.concat(els.classes, els.ids);
},
extensions: ['json'],
},
],
dynamicAttributes: [
'aria-expanded',
'data-bs-popper',
'data-bs-target',
'data-bs-theme',
'data-dark-mode',
'data-global-alert',
'data-pane', // tabs.js
'data-popper-placement',
'data-sizes',
'data-toggle-tab', // tabs.js
'id',
'size',
'type',
],
safelist: [
'active',
'btn-clipboard', // clipboards.js
'clipboard', // clipboards.js
'disabled',
'hidden',
'modal-backdrop', // search-modal.js
'selected', // search-modal.js
'show',
'img-fluid',
'blur-up',
'lazyloaded',
...whitelister([
'./assets/scss/**/*.css',
'./assets/scss/**/*.scss',
'./node_modules/katex/dist/katex.css',
]),
],
}),
],
}

View File

@ -0,0 +1,8 @@
# Overrides for production environment
baseURL: https://avecsante.app/
deployment:
targets:
- name: production
URL: >-
s3://avecsante.app?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true&region=garage

0
content/.keep Normal file
View File

13
content/_index.md Normal file
View File

@ -0,0 +1,13 @@
---
title : "Outils numériques libres de <a href='https://avecsante.fr'>AVECsanté</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> au sein de l'association <a href='https://avecsante.fr'>AVECsanté</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 l'association AVECsanté" # custom title (optional)
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---

19
content/blog/_index.md Normal file
View File

@ -0,0 +1,19 @@
---
title: "Blog"
description: ""
summary: ""
date: 2023-09-07T16:21:44+02:00
lastmod: 2023-09-07T16:21:44+02:00
draft: true
weight: 50
categories: []
tags: []
contributors: []
pinned: false
homepage: false
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---

View File

@ -0,0 +1,19 @@
---
title: "Example Post"
description: "Just an example post."
summary: ""
date: 2023-09-07T16:27:22+02:00
lastmod: 2023-09-07T16:27:22+02:00
draft: true
weight: 50
categories: []
tags: []
contributors: []
pinned: false
homepage: false
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---

19
content/docs/_index.md Normal file
View File

@ -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
---

View File

@ -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
---

View File

@ -0,0 +1,25 @@
---
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 AVECsanté ? Pas de panique ☺️
## Où suis-je ?
Vous voici actuellement dans le centre de documentation de la suite collaborative AVECsanté proposée par P4Pillon et hébergé avec RésiLien. Vous y retrouverez la documentation des différents outils proposés.

View File

@ -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 laide.
## Le canal #AVECsante sur Matrix
Un espace de discussion dédié à lentraide entre collègues est à votre disposition dans la messagerie instantanée Matrix.
À retrouver [ici](https://matrix.to/#/#AVECsante-Entraide:matrix.interhop.org) !
Que vous soyez de celles et ceux qui ont des questions ou plutôt de celles et ceux qui maitrisent loutil, cest lendroit parfait pour vous retrouver et échanger vos connaissances.
## Support
Vous pouvez nous contacter par email en écrivant à [support@avecsante.app](mailt:support@avecsante.app).

View File

@ -0,0 +1,37 @@
---
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.
## 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.

View File

@ -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
---

View File

@ -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.avecsante.app](https://notes.avecsante.app)
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/76/status?style=flat-square" />
{{< /callout >}}

View File

@ -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
---

View File

@ -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.avecsante.app](https://nuage.avecsante.app)
- 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 dutilisation va du particulier exploitant un serveur Nextcloud à la maison à la grande entreprise ou lhé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, lapplication Android ou lapplication iOS. Pour en apprendre plus à propos du client de synchronisation de bureau, veuillez vous référez à :

View File

@ -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: cloud-lock
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---

View File

@ -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.avecsante.app](https://pass.avecsante.app)
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/78/status?style=flat-square" />
{{< /callout >}}

View File

@ -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
---

View File

@ -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.avecsante.app](https://projets.avecsante.app)
- Statut du service : <img src="https://statuts.resilien.fr/api/badge/77/status?style=flat-square" />
{{< /callout >}}

View File

@ -0,0 +1,46 @@
---
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://avecsante.app](https://avecsante.app) est édité par l'association P4Pillon.
> Site web : https://p4pillon.org
> SIRET : 90870523900014
> Adresse : 5 Chaumeil 19170 Pérols-sur-Vézère
## Directeur de publication
Antoine PRIOUX
## Hébergement
Le site web [https://avecsante.app](https://avecsante.app) est hébergé avec sobriété par [RésiLien](https://resilien.fr) une marque de la Coopérative dActivité et dEmploi CAP Services.
> Site web : https://cap-service.coop
> SIRET: 40263675700039
> Adresse : 11 rue Duphot 69003 Lyon
## Développement et Maintenance
Le site WEB [https://avecsante.app](https://avecsante.app) a été réalisé de façon éco-responsable par P4Pillon, pour un numérique responsable de proximité.
## Liens hypertextes
Les liens hypertextes mis en œuvre en direction dautres sites WEB ne sauraient engager la responsabilité de Jarnat, car nous nexerçons aucun contrôle sur le contenu des sites auxquels ces liens renvoient.
## Cookie
Ce site ninstalle aucun cookie, cest pourquoi il ny a aucun bandeau spécifique. Nous respectons la vie privée de nos visiteurs.

0
data/.keep Normal file
View File

51
i18n/fr.toml Normal file
View File

@ -0,0 +1,51 @@
[404_text]
other = "La page que vous demandez n'a pas l'air d'exister ou a changé d'adresse."
[404_title]
other = "Page non trouvée :("
[browse]
other = "Browse"
[chapter_next]
other = "Suivant"
[chapter_previous]
other = "Précédent"
[edit_page]
other = "Éditer cette page sur"
[get_started]
other = "Example Guide"
[last_updated]
other = "Last updated on"
[minute]
one = "minute"
other = "minutes"
[on_this_page]
other = "Sur cette page"
[reading_time]
other = "Temps de lecture estimé"
[search_loading]
other = "Chargement de l'index de recherche…"
[search_no_recent]
other = "Aucune recherche effectué"
[search_no_results]
other = "Aucun résultat pour"
[search_placeholder]
other = "Recherche"
[search_title]
other = "Rechercher"
[video_unsupported]
other = "Your browser doesn't support embedded videos, but don't worry, you can <a href=\"{{ .RelPermalink }}\">download it</a> and watch it with your favorite video player!"

89
layouts/index.html Normal file
View File

@ -0,0 +1,89 @@
{{ 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 -}}
{{ if eq $.Site.Language.LanguageName "Français" }}
<section class="section section-md section-features">
<div class="container">
<div class="row justify-content-center text-center">
<div class="col-lg-6">
<h2 class="h4">
{{- partial "inline-svg" "files" }}&nbsp;
Gérer vos données
</h2>
<p>Gérer en collaboration vos fichiers, contacts et agendas pour permettre une bonne organisation.</p>
{{/* <p class="text-muted"><small>Propulsé par Nextcloud et Onlyoffice</small></p> */}}
<div class="btn-group" role="group" aria-label="Basic outlined example">
<a href="/docs/nuage/introduction/" class="btn btn-outline-primary">Guide</a>
<a href="https://nuage.avecsante.app/" class="btn btn-primary">Accéder au service</a>
</div>
</div>
<div class="col-lg-6">
<h2 class="h4">
{{- partial "inline-svg" "pencil" }}&nbsp;
Prise de notes
</h2>
<p>Collaborer sur une documentation en ligne pour mettre en lumière les connaissances de vos équipes.</p>
{{/* <p class="text-muted"><small>Propulsé par Outline</small></p> */}}
<div class="btn-group" role="group" aria-label="Basic outlined example">
<a href="/docs/notes/introduction/" class="btn btn-outline-primary">Guide</a>
<a href="https://notes.avecsante.app/" class="btn btn-primary">Accéder au service</a>
</div>
</div>
<div class="col-lg-6">
<h2 class="h4">
{{- partial "inline-svg" "list-details" }}&nbsp;
Gestion de projets
</h2>
<p>Organiser vous autour de listes de tâches et rendre visible l'avancement de vos projets.</p>
<div class="btn-group" role="group" aria-label="Basic outlined example">
<a href="/docs/projets/introduction/" class="btn btn-outline-primary">Guide</a>
<a href="https://projets.avecsante.app/" class="btn btn-primary">Accéder au service</a>
</div>
</div>
<div class="col-lg-6">
<h2 class="h4">
{{- partial "inline-svg" "cloud-lock" }}&nbsp;
Gestionnaire de mots de passe
</h2>
<p>Facilitez-vous la gestion et le partage de vos mots de passe, vous avez besoin d'en retenir qu'un !</p>
<div class="btn-group" role="group" aria-label="Basic outlined example">
<a href="/docs/pass/gestionnaire-de-mots-de-passe/" class="btn btn-outline-primary">Guide</a>
<a href="https://pass.avecsante.app/" class="btn btn-primary">Accéder au service</a>
</div>
</div>
</div>
</div>
</section>
{{ end }}
{{ 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 }}

View File

@ -0,0 +1,46 @@
<!-- Auto default section menu -->
{{ $currentPage := . -}}
{{ $section := $currentPage.Section -}}
{{ range (where .Site.Sections "Section" "in" $section) }}
{{ range .Sections }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<h3 class="h6 text-uppercase mb-2">
{{ if .Params.icon }}{{- partial "inline-svg" .Params.icon -}}{{ end }}
{{ .Title }}
</h3>
<ul class="list-unstyled">
{{ range .Pages }}
{{ if .IsNode }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<h4 class="h6 text-uppercase ms-3 mt-3 mb-2">{{ .Title }}</h4>
<ul class="list-unstyled ms-3">
{{ range .Pages }}
{{ if .IsNode }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<h5 class="h6 text-uppercase mt-2 mb-2">{{ .Title }}</h5>
<ul class="list-unstyled ms-3">
{{ range .Pages }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<li><a class="docs-link{{ if $active }} active{{ end }}" href="{{ .Permalink }}">{{ .Name }}</a></li>
{{ end }}
</ul>
{{ else }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<li><a class="docs-link{{ if $active }} active{{ end }}" href="{{ .Permalink }}">{{ .Name }}</a></li>
{{ end }}
{{ end }}
</ul>
{{ else }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
<li><a class="docs-link{{ if $active }} active{{ end }}" href="{{ .Permalink }}">{{ .Name }}</a></li>
{{ end }}
{{ end }}
</ul>
{{ end }}
{{ range .RegularPages -}}
{{ $active := in $currentPage.RelPermalink .RelPermalink -}}
<ul class="list-unstyled">
<li><a class="docs-link{{ if $active }} active{{ end }}" href="{{ .Permalink }}">{{ .Name }}</a></li>
</ul>
{{- end }}
{{ end }}

7132
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

36
package.json Normal file
View File

@ -0,0 +1,36 @@
{
"name": "avecsante.app",
"version": "1.0.0",
"description": "Tableau de bord pour les outils de l'association AVECsanté",
"author": "P4Pillon",
"license": "MIT",
"scripts": {
"dev": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost --noHTTPCache",
"dev:drafts": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost --noHTTPCache --buildDrafts",
"create": "exec-bin node_modules/.bin/hugo/hugo new",
"lint": "npm run lint:markdown",
"lint:scripts": "eslint --cache themes/doks/assets/js",
"lint:styles": "stylelint --cache \"themes/doks/assets/scss/**/*.{css,sass,scss}\"",
"lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\"",
"test": "echo \"Error: no test specified\" && exit 1",
"build": "exec-bin node_modules/.bin/hugo/hugo --cleanDestinationDir --minify --environment production",
"deploy": "exec-bin node_modules/.bin/hugo/hugo deploy --environment production",
"preview": "http-server --gzip --brotli --ext=html --cors",
"clean": "npm run clean:build && npm run clean:lint && npm run clean:install",
"clean:build": "shx rm -rf public resources .hugo_build.lock",
"clean:install": "shx rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml",
"clean:lint": "shx rm -rf .eslintcache .stylelintcache",
"preinfo": "npm version",
"info": "npm list",
"postinfo": "exec-bin node_modules/.bin/hugo/hugo version",
"postinstall": "shx rm -rf node_modules/.bin/hugo && shx mkdir node_modules/.bin/hugo && shx cp node_modules/gethyas/node_modules/.bin/hugo/* node_modules/.bin/hugo"
},
"dependencies": {
"@hyas/doks-core": "^1.1.1"
},
"engines": {
"node": ">=16.12.0",
"pnpm": ">=8.6.2"
},
"packageManager": "pnpm@8.6.2"
}

50
static/admin/config.yml Normal file
View File

@ -0,0 +1,50 @@
locale: 'fr'
backend:
name: gitea
repo: p4pillon/avecsante.app # Path to your Gitea repository
app_id: 15f9538f-2258-416a-8827-3035e8adc4df
api_root: https://forge.p4pillon.org/api/v1 # API URL of your Gitea instance
base_url: https://forge.p4pillon.org # Root URL of your Gitea instance
branch: main
media_folder: static/img
public_folder: /img
collections:
- name: 'docs'
label: 'Docs'
folder: 'content/docs'
nested: { depth: 5 }
create: true
slug: '{{slug}}'
editor:
preview: false
fields:
- { label: 'Titre', name: 'title', widget: 'string' }
- { label: 'Description', name: 'description', widget: 'string' }
- { label: 'Résumé', name: 'summary', widget: 'string' }
- { label: 'Date de publication', name: 'date', widget: 'datetime' }
- { label: 'Date de mise à jour', name: 'lastmod', widget: 'datetime' }
- { label: 'Brouillon', name: 'draft', widget: 'boolean', default: true }
- {
label: 'Menu', name: 'menu', widget: 'object', required: false, collapsed: true,
fields: [
{
label: 'docs', name: 'docs', widget: 'object', required: false, collapsed: true,
fields: [
{ label: 'Parent', name: 'parent', widget: 'string' },
{ label: 'Identifiant', name: 'identifier', widget: 'string' }
]
}
]
}
- { label: 'Poid', name: 'weight', widget: 'number', value_type: 'integer' }
- { label: 'toc', name: 'toc', widget: 'boolean', default: true }
- {
label: 'SEO', name: 'seo', widget: 'object', required: false, collapsed: true,
fields: [
{ label: 'Titre', name: 'title', widget: 'string' },
{ label: 'Description', name: 'description', widget: 'string' },
{ label: 'Canonical', name: 'canonical', widget: 'string' },
{ label: 'noindex', name: 'noindex', widget: 'boolean', default: false }
]
}
- { label: 'Body', name: 'body', widget: 'markdown' }

12
static/admin/index.html Normal file
View File

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Content Manager</title>
</head>
<body>
<!-- Include the script that builds the page and powers Decap CMS -->
<script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More