Compare commits
8 Commits
add-featur
...
39064633ed
Author | SHA1 | Date | |
---|---|---|---|
39064633ed
|
|||
e769a9dd70
|
|||
96a7cbe954
|
|||
9fcc601730
|
|||
5e009e19c8
|
|||
f531de0351 | |||
f556e446fa | |||
6c748eb1fe |
94
.gitea/workflows/build-and-push-mkdocs-docker-image.yml
Normal file
94
.gitea/workflows/build-and-push-mkdocs-docker-image.yml
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
name: Build and Push MkDocs Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- 'Dockerfile'
|
||||||
|
- 'user/**'
|
||||||
|
- 'admin/**'
|
||||||
|
- '.gitea/workflows/**'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: cth-ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: ${{ vars.REGISTRY }}
|
||||||
|
IMAGE: ${{ vars.IMAGE }}
|
||||||
|
IMAGE_NAME: ${{ env.REGISTRY }}/${{ IMAGE }}:${{ github.sha }}
|
||||||
|
KUBE_CA: ${{ vars.KUBE_CA }}
|
||||||
|
KUBE_SERVER: ${{ vars.KUBE_SERVER }}
|
||||||
|
REGISTRY_USERNAME: ${{ vars.REGISTRY_USERNAME }}
|
||||||
|
NAMESPACE: ${{ vars.NAMESPACE }}
|
||||||
|
DEPLOYMENT_NAME: ${{ vars.DEPLOYMENT_NAME }}
|
||||||
|
CONTAINER: ${{ vars.CONTAINER }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: https://github.com/actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: https://github.com/docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Log in to Docker registry
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
username: ${{ env.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
id: build-push
|
||||||
|
uses: https://github.com/docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: documentation.Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: '${{ env.IMAGE_NAME }}'
|
||||||
|
|
||||||
|
- name: Install kubectl
|
||||||
|
run: |
|
||||||
|
curl -LO "https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl"
|
||||||
|
chmod +x ./kubectl
|
||||||
|
sudo mv ./kubectl /usr/local/bin/kubectl
|
||||||
|
|
||||||
|
- name: Set up kubeconfig
|
||||||
|
env:
|
||||||
|
KUBE_SERVER: ${{ env.KUBE_SERVER }} # e.g. https://<API_ENDPOINT>
|
||||||
|
KUBE_CA: ${{ env.KUBE_CA }} # base64 encoded, or fetched via kubectl config view
|
||||||
|
KUBE_TOKEN: ${{ secrets.KUBE_TOKEN }} # Token generated via 'kubectl create token'
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.kube
|
||||||
|
cat <<EOF > ~/.kube/config
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Config
|
||||||
|
clusters:
|
||||||
|
- name: default-cluster
|
||||||
|
cluster:
|
||||||
|
server: "$KUBE_SERVER"
|
||||||
|
certificate-authority-data: "$KUBE_CA"
|
||||||
|
contexts:
|
||||||
|
- name: default-context
|
||||||
|
context:
|
||||||
|
cluster: default-cluster
|
||||||
|
user: gitea-actions
|
||||||
|
current-context: default-context
|
||||||
|
users:
|
||||||
|
- name: gitea-actions
|
||||||
|
user:
|
||||||
|
token: "$KUBE_TOKEN"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- name: Patch Deployment Image
|
||||||
|
env:
|
||||||
|
NAMESPACE: ${{ env.NAMESPACE }}
|
||||||
|
DEPLOYMENT: ${{ env.DEPLOYMENT_NAME }}
|
||||||
|
CONTAINER: ${{ env.CONTAINER }}
|
||||||
|
run: |
|
||||||
|
echo "deploy new tag: $TAG_IMAGE"
|
||||||
|
env
|
||||||
|
kubectl -n ${NAMESPACE} set image deployment/${DEPLOYMENT} ${CONTAINER}=${IMAGE_NAME}
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
build/*
|
build/*
|
||||||
*-manual.pdf
|
*-manual.pdf
|
||||||
|
.venv/
|
||||||
|
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
17
.idea/manuals.iml
generated
Normal file
17
.idea/manuals.iml
generated
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="Python 3.10 (manuals)" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="TemplatesService">
|
||||||
|
<option name="TEMPLATE_FOLDERS">
|
||||||
|
<list>
|
||||||
|
<option value="$MODULE_DIR$/pandoc/cl/templates" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</module>
|
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Black">
|
||||||
|
<option name="sdkName" value="Python 3.10 (manuals)" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/manuals.iml" filepath="$PROJECT_DIR$/.idea/manuals.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
9
.idea/vcs.xml
generated
Normal file
9
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/pandoc/cl" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/pandoc/template" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
23
Dockerfile
Normal file
23
Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# -------- Stage 1: Build the documentation using mkdocs --------
|
||||||
|
FROM python:3.13-slim AS builder
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY requirements.txt .
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
COPY user/ user/
|
||||||
|
COPY admin/ admin/
|
||||||
|
|
||||||
|
RUN ls
|
||||||
|
RUN cd user && mkdocs build --clean && cd ..
|
||||||
|
RUN cd admin && mkdocs build --clean && cd ..
|
||||||
|
|
||||||
|
# -------- Stage 2: Serve the built documentation with nginx --------
|
||||||
|
FROM nginx:alpine
|
||||||
|
|
||||||
|
# Copy the built site from the builder stage
|
||||||
|
COPY --from=builder /build/admin/site /usr/share/nginx/html/admin
|
||||||
|
COPY --from=builder /build/user/site /usr/share/nginx/html/user
|
||||||
|
|
1
admin/.gitignore
vendored
Normal file
1
admin/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
site/*
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# Génération de documents
|
# Génération de documents
|
||||||
|
|
||||||
L'administrateur fonctionnel prépare la génération des documents.
|
L'administrateur fonctionnel prépare la génération des documents.
|
||||||
@@ -141,7 +140,7 @@ Par exemple, pour un courrier généré dans un contexte "parcours", l'utilisate
|
|||||||
|
|
||||||
## Variables par contexte
|
## Variables par contexte
|
||||||
|
|
||||||
### Pour tous les contextes { #sec:gendoc:champs-documents }
|
### Pour tous les contextes { #sec:gendoc-champs-documents }
|
||||||
|
|
||||||
#### Variables
|
#### Variables
|
||||||
|
|
||||||
@@ -470,6 +469,12 @@ Seul le champ `comment` est donc disponible.
|
|||||||
* `id` (texte): identifiant
|
* `id` (texte): identifiant
|
||||||
* `title` (texte): le titre du résultat
|
* `title` (texte): le titre du résultat
|
||||||
|
|
||||||
|
### GenderEntity (Genre)
|
||||||
|
|
||||||
|
* `label` (texte): label du genre;
|
||||||
|
* `id` (int): identifiant (utile pour des comparaisons);
|
||||||
|
* `genderTranslation` (texte): utilisation grammaticale;
|
||||||
|
|
||||||
### Household (Ménage)
|
### Household (Ménage)
|
||||||
|
|
||||||
|
|
||||||
@@ -538,7 +543,7 @@ La composition du ménage entre deux dates. Cette entité associe une `Household
|
|||||||
* `birthdate` (Date)
|
* `birthdate` (Date)
|
||||||
* `age`: (int) age de la personne;
|
* `age`: (int) age de la personne;
|
||||||
* `deathdate` (Date)
|
* `deathdate` (Date)
|
||||||
* `gender` (texte): genre (texte traduit);
|
* `genderEntity` (GenderEntity): Genre;
|
||||||
* `maritalStatus` (texte): représentation textuelle de l'état civil;
|
* `maritalStatus` (texte): représentation textuelle de l'état civil;
|
||||||
* `maritalStatusDate` (Date): date à la quelle le statut de l'état civil a été mis à jour;
|
* `maritalStatusDate` (Date): date à la quelle le statut de l'état civil a été mis à jour;
|
||||||
* `maritalStatusComment` (Comment): Commentaire sur l'état civil (avec la date de la dernière mise à jour)
|
* `maritalStatusComment` (Comment): Commentaire sur l'état civil (avec la date de la dernière mise à jour)
|
||||||
@@ -553,6 +558,9 @@ La composition du ménage entre deux dates. Cette entité associe une `Household
|
|||||||
* `address` (Adresse): l'adresse actuelle
|
* `address` (Adresse): l'adresse actuelle
|
||||||
* `resources` (PersonResource): les personnes ressources, ajoutées depuis le dossier de l'usager.
|
* `resources` (PersonResource): les personnes ressources, ajoutées depuis le dossier de l'usager.
|
||||||
|
|
||||||
|
|
||||||
|
**Note**: La clé `gender` est dépréciée. Merci d'utiliser `GenderEntity`.
|
||||||
|
|
||||||
#### variant `household`
|
#### variant `household`
|
||||||
|
|
||||||
* `household` (Household): le ménage actuel de l'usager;
|
* `household` (Household): le ménage actuel de l'usager;
|
3
admin/docs/index.md
Normal file
3
admin/docs/index.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Documentation administrateur
|
||||||
|
|
||||||
|
En construction.
|
43
admin/mkdocs.yml
Normal file
43
admin/mkdocs.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
site_name: "Manuel admnistrateur Chill"
|
||||||
|
site_url: https://manuel.chill.social/admin
|
||||||
|
repo_url: https://gitea.champs-libres.be/Chill-project/manuals
|
||||||
|
repo_name: Chill-project/manuals
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
features:
|
||||||
|
- content.code.copy
|
||||||
|
- content.code.select
|
||||||
|
- content.code.annotate
|
||||||
|
nav:
|
||||||
|
- Accueil: index.md
|
||||||
|
- Génération de document: generation-documents.md
|
||||||
|
markdown_extensions:
|
||||||
|
- markdown_include.include
|
||||||
|
# code layout
|
||||||
|
- pymdownx.highlight:
|
||||||
|
anchor_linenums: true
|
||||||
|
line_spans: __span
|
||||||
|
pygments_lang_class: true
|
||||||
|
use_pygments: true
|
||||||
|
linenums: true
|
||||||
|
- pymdownx.inlinehilite
|
||||||
|
- pymdownx.snippets
|
||||||
|
- pymdownx.superfences
|
||||||
|
# admonition
|
||||||
|
- admonition
|
||||||
|
- pymdownx.details
|
||||||
|
- pymdownx.superfences
|
||||||
|
# use emojis
|
||||||
|
- attr_list
|
||||||
|
- pymdownx.emoji:
|
||||||
|
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
||||||
|
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
||||||
|
# footnotes
|
||||||
|
- footnotes
|
||||||
|
# https://squidfunk.github.io/mkdocs-material/reference/formatting/?h=key#adding-keyboard-keys
|
||||||
|
- pymdownx.critic
|
||||||
|
- pymdownx.caret
|
||||||
|
- pymdownx.keys
|
||||||
|
- pymdownx.mark
|
||||||
|
- pymdownx.tilde
|
@@ -4,7 +4,8 @@ set -e
|
|||||||
|
|
||||||
# enter the current directory
|
# enter the current directory
|
||||||
cd "$(dirname $0)"
|
cd "$(dirname $0)"
|
||||||
export PANDOC_DIR="/pandoc/cl"
|
export PANDOC_DIR="$(pwd)/pandoc/cl"
|
||||||
|
export OUTPUT_DIR="$(pwd)"
|
||||||
|
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
if [ -z $1 ]; then
|
||||||
@@ -59,23 +60,22 @@ else
|
|||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $kind
|
export PDF_TEMPLATE="$(pwd)/eisvogel.latex"
|
||||||
|
|
||||||
|
cd $kind/docs
|
||||||
|
|
||||||
export ARGS="
|
export ARGS="
|
||||||
--from markdown
|
--from markdown
|
||||||
--number-sections
|
--number-sections
|
||||||
--resource-path ./.
|
--resource-path ./.
|
||||||
--metadata-file ./metadata.yaml
|
--metadata-file ./metadata.yaml
|
||||||
`#--lua-filter "../${PANDOC_DIR}/format-link.lua`
|
|
||||||
"
|
"
|
||||||
export PDF_TEMPLATE="./../pandoc/template/eisvogel.tex"
|
|
||||||
export LATEX_ARGS="
|
export LATEX_ARGS="
|
||||||
--metadata=footer-left:$(date +%d-%m-%Y)
|
--metadata=footer-left:$(date +%d-%m-%Y)
|
||||||
--template "${PDF_TEMPLATE}"
|
--template ${PDF_TEMPLATE}
|
||||||
--lua-filter "../${PANDOC_DIR}/boxes.lua"
|
--lua-filter "${PANDOC_DIR}/boxes.lua"
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
if [ $target = "latex" ]; then
|
if [ $target = "latex" ]; then
|
||||||
pandoc $ARGS $LATEX_ARGS \
|
pandoc $ARGS $LATEX_ARGS \
|
||||||
--to latex \
|
--to latex \
|
||||||
@@ -84,18 +84,7 @@ elif [ $target = "pdf" ]; then
|
|||||||
pandoc $ARGS $LATEX_ARGS \
|
pandoc $ARGS $LATEX_ARGS \
|
||||||
--to pdf \
|
--to pdf \
|
||||||
--pdf-engine xelatex \
|
--pdf-engine xelatex \
|
||||||
-o "./../$kind-manual.pdf" \
|
-o "${OUTPUT_DIR}/$kind-manual.pdf" \
|
||||||
$files
|
$files
|
||||||
elif [ $target = "html" ]; then
|
|
||||||
# check target directory exists
|
|
||||||
if [ ! -d "./../build/html" ]; then
|
|
||||||
echo "create build/html directory"
|
|
||||||
mkdir -p "./../build/html"
|
|
||||||
fi
|
|
||||||
|
|
||||||
pandoc $ARGS \
|
|
||||||
--to html \
|
|
||||||
-o ./../build/html/index.html \
|
|
||||||
$files
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
1037
eisvogel.latex
Normal file
1037
eisvogel.latex
Normal file
File diff suppressed because it is too large
Load Diff
Submodule pandoc/template updated: 04e329698d...62377f36a0
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
mkdocs
|
||||||
|
markdown-include
|
||||||
|
mkdocs-material
|
2
user/.gitignore
vendored
Normal file
2
user/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
site/*
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user