Publier la documentation de Chill en ligne après chaque mise à jour (#14)
Reviewed-on: #14 Co-authored-by: Julien Fastré <julien.fastre@champs-libres.coop> Co-committed-by: Julien Fastré <julien.fastre@champs-libres.coop>
This commit is contained in:
parent
f531de0351
commit
4c330d7b87
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: ${{ vars.REGISTRY }}/${{ vars.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: 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>
|
1
CODEOWNERS
Normal file
1
CODEOWNERS
Normal file
@ -0,0 +1 @@
|
|||||||
|
.gitea/workflows/.* @julienfastre @juminet @LenaertsJ
|
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/*
|
@ -140,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
|
||||||
|
|
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
@ -1 +1 @@
|
|||||||
Subproject commit 04e329698d01c3a25aa72ad81d98483284669316
|
Subproject commit 62377f36a0ce5b48281e5ee51cb4eef364162037
|
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
Loading…
x
Reference in New Issue
Block a user