-
Notifications
You must be signed in to change notification settings - Fork 110
/
export
executable file
·61 lines (50 loc) · 1.81 KB
/
export
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
set -e
function usage(){
echo "Usage:
Exporte un repertoire asciidoc en un paquet de PDF ou de pages HTML (avec les diagrammes inclus dans les PDF et pages HTML)
Pré-requis: une installation de docker
Ceci est un script a minima, ne pas hésiter à le faire évoluer en fonction de vos besoins
--pdf : pour une archive PDF
--adoc : pour une archive sans html ni pdf
--odt : pour une archive avec des documents Open Document Text
--html : pour une archive HTML statique
"
}
if [[ $# != 1 ]]; then
usage
exit 1
fi
OUT=/tmp/dossier-architecture
ARCHIVE=/tmp/dossier-architecture-$(date +%Y%m%d).zip
rm -rf $OUT > /dev/null 2>&1 || true
mkdir $OUT
rm $ARCHIVE > /dev/null 2>&1 || true
cp -rp *.adoc diagrammes $OUT/
cd $OUT
for doc in $(find . -name '*.adoc' -print); do
if [[ $1 =~ '--adoc' ]]; then
continue
fi
# -a pour permette de lire offline avec les images embedded
docker run --rm -v $OUT:/data asciidoctor/docker-asciidoctor asciidoctor -a data-uri -a allow-uri-read -b html5 /data/$doc
doc_without_extension=${doc%.adoc}
if [[ $1 =~ '--pdf' ]]; then
docker run --rm -v $OUT:/data madnight/docker-alpine-wkhtmltopdf --footer-center [page]/[topage] /data/$doc_without_extension.html /data/$doc_without_extension.pdf
elif [[ $1 =~ '--odt' ]]; then
docker run --rm \
-v "$OUT:/data" \
--user $(id -u):$(id -g) \
pandoc/core /data/$doc_without_extension.html -o /data/$doc_without_extension.odt
fi
done
# Corrige les hyperliens entre documents
find . -name '*.html' -exec sed -i 's/.adoc/.html/g' {} \;
if [[ $1 =~ '--html' ]]; then
find . -name '*.adoc' -exec rm {} \;
rm -rf .git > /dev/null 2>&1 || true
fi
# Création archive finale
cd /tmp
zip -r $ARCHIVE $(basename $OUT)
echo "Archive produite avec succès : $ARCHIVE"