1
0
forked from gee/bd-chapril
Bifurcation de GéGé, le Générateur de Grise Bouille proposé par Framasoft https://bd.chapril.org/
Go to file
2025-01-05 22:12:48 +01:00
.vscode VSC Workspace added 2024-12-29 23:40:46 +01:00
font Font directory cleaned 2024-12-31 12:12:14 +01:00
images Added key symboles 2025-01-03 20:33:55 +01:00
lib JQuery without version 2025-01-05 22:05:23 +01:00
sounds Sound files moved in directory 2024-12-24 14:11:37 +01:00
tools JQuery without version 2025-01-05 22:05:23 +01:00
toons Repository cleaned 2024-12-31 13:52:48 +01:00
.gitignore JQuery without version 2025-01-05 22:05:23 +01:00
.prettierignore Added Prettier as formatter 2025-01-05 06:15:58 +01:00
bdchapril.css Added key symboles 2025-01-03 20:33:55 +01:00
bdchapril.js Cleaned 2025-01-05 04:31:36 +01:00
COPYRIGHT.md JQuery upgraded 2024-12-31 17:16:13 +01:00
eslint.config.js JQuery without version 2025-01-05 22:05:23 +01:00
favicon.ico Favicon added 2024-12-24 13:52:45 +01:00
index.html All modular expected JQuery and RB 2025-01-05 16:57:21 +01:00
LICENCE.md GNU GPLv3 added 2024-12-22 09:13:42 +01:00
manifest.json PWA Manifest added 2024-12-22 17:58:00 +01:00
package.json Added Prettier as formatter 2025-01-05 06:17:36 +01:00
prettier.config.js Added Prettier as formatter 2025-01-05 06:17:36 +01:00
README.md dist/ directory ready to deploy 2025-01-05 22:12:48 +01:00
sw.js Cache list externalized from service worker 2024-12-31 20:20:31 +01:00

geektionnerd-generator

Un ancien générateur de BD qui a bien vieilli.

Contraintes

Le lecteur doit être averti que cette bifurcation du projet ComicGen est développé dans une distribution de GNU/Linux. Lenvironnement de travail nécessite linstallation du paquetage imagemagick dont dépend tools/mkmini.sh.

Installation

Une fois le dépôt téléchargé les données doivent être construites avant le déploiement. Pour se faire toutes les images doivent être placées dans toons/. Chaque image ${IMG}.png doit être associée à une miniature ${IMG}_mini.png de 60×60 pixels.

Les miniatures sont générées via cette commande :

( cd tools/; bash mkmini.sh )

Reste la création des fichiers de donnée par cette commande :

( cd tools/; bash mkdata.sh )

Une dernière étape consiste à copier la charge utile dans un répertoire dist/ à déployer pour un site Web statique :

( cd tools/; bash mkdist.sh )

Quand on change le contenu de toons/ ces deux commandes doivent être éxécutées.

Démonstration

Site : https://bd.chapril.org/

Paternité

Auteurs : Willian Carvalho (willianpc) et Gee.

Dépôts des projets :

Article : https://hacks.mozilla.org/2012/12/comic-gen-a-canvas-run-comic-generator/.

Gestion des caches

Initialement le cache était géré par lAPI Application Cache. Cette API ayant été dépréciée puis obsolète, un service worker (sw.js) a pris le relai.

Pour les curieux un article sur lApplication Cache : https://web.dev/articles/appcache-beginner

Développement

Déploiement local

Via Lite Server

Lenvironnement de développement comprend le paquet Node lite-server. Ainsi la partie Node du projet nest pas nécessaire au déploiement en production.

Loutil est installé comme suit :

( cd tools/ls/; npm install )

Pour essayer localement lapplication on passe par cette commande :

( cd tools/ls/; npm run serve )

Un onglet nouveau apparaît alors dans le navigateur Web par défaut.

Le fichier tools/ls/bs-config.json se charge de paramétrer le serveur local selon les options de BrowserSync.

Via Static Web Server

Une solution alternative est Static Web Server. Ce petit serveur de site statique de 8 Mio peut être installé comme suit.

cd tools/sws/
cargo install --root ./ static-web-server
mv bin/static-web-server ./
rmdir bin/
cd ../../

Linstallation de Rustup est recommandée pour compiler des applications en Rust.

Reste à lancer le serveur via ./tools/sws/static-web-server -w tools/sws/config.toml et à accéder à lapplication Web via lURL http://localhost:3000/index.html.

Déboguer avec JQuery

Pour ne pas alourdir le dépôt la forme développée de JQuery est à télécharger pour le déboguage. Pour ce faire deux fichiers peuvent être téléchargés dans lib/ pour une version VERSION donnée au format /\d\.\d\.\d/:

wget "https://code.jquery.com/jquery-${VERSION}.js" -o lib/jquery.js
wget "https://code.jquery.com/jquery-${VERSION}.min.js" -o lib/jquery.min.js
echo '//# sourceMappingURL=jquery.min.map' >> lib/jquery.min.js

Corriger avec ESLint et Prettier

À fin de corriger les fautes de syntaxe ESLint peut être installé via cette commande :

npm install --production=false

Pour vérifier le code de tous les fichiers on exécutera npx eslint. Pour cibler un fichier file.js spécifique ce sera npx eslint -- file.js.

Le formateur Prettier est inclus dans linstallation pour améliorer encore la visibilité du code. Il formate un fichier file.js ainsi :

npx prettier --write -- file.js