-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gestion de Leaflet en package par modules #344
base: develop
Are you sure you want to change the base?
Conversation
BUG
|
Beau travail :) Pour le CSS, pour moi ce n'est pas rédhibitoire qu'il n'y en ait qu'un : il suffit d'avoir un lien statiques (cdnjs, raw.github) et de documenter que peu importe le widget, il faut linker le CSS dans le après le CSS leaflet et avant le CSS custom. J'essaie de regarder le souci sur isochrone |
RaF / Questions
|
Mon avis sur les questions (aidé par https://github.com/Leaflet/Leaflet/blob/main/PLUGIN-GUIDE.md) :
Oui
Les plugins Leaflet sont plutôt préfixés par
Les 2 alternatives sont bien. Inclus dans chaque module permet de ne pas avoir à le linker à chaque fois, donc mon cœur penche plutôt pour cette solution.
Oui, mais extrait à partir d'une sous-partie du readme du projet (exemple, ne prendre que le paragraphe https://github.com/IGNF/geoportal-extensions/blob/develop/doc/README-leaflet.md#profil-altim%C3%A9trique-le-long-dun-tra%C3%A7%C3%A9 pour le profil alti)
Oui
Oui (cf Turf.js) |
@lowzonenose @azarz Petit point à prévoir sur le sujet pour expliciter le reste à faire, et le kifékoi |
PLUGINS LEAFLET
Split en modules
taille des modules
FIXME
carte des dépendances
./node_modules/.bin/webpack --config build/webpack/webpack.config.leaflet.modules --mode=none --profile --json > map-leaflet-modules.json
(nettoyer les 1ere lignes inutiles)
Utilisation des modules dans une page web
Il existe 2 modes pour intégrer les modules : Factory ou Classes
Exécution de la page de test
Demo
cf. https://ignf.github.io/geoportal-extensions/
intégrer les démos des modules sur la github pages en statique.
INFO
TODO
Publication
préparation
$ cd build/scripts/release/ $ ./build-pack.sh -L
Les répertoires sont prêts pour la publication (+ tgz) :
$ cd build/scripts/release/ $ tree geoportail-extensions-leaflet-modules/ geoportal-extensions-leaflet-modules/ ├── ElevationPath ├── ignf-geoportal-plugin-leaflet-elevationpath-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-isocurve-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-layers-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-layerswitcher-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-mouseposition-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-reversegeocode-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-route-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-searchengine-2.2.7.tgz ├── Isocurve ├── Layers ├── LayerSwitcher ├── MousePosition ├── ReverseGeocode ├── Route └── SearchEngine $ tree -L 2 geoportal-extensions-leaflet-modules/ElevationPath/ geoportal-extensions-leaflet-modules/ElevationPath/ ├── dist │ ├── ElevationPath.css │ ├── ElevationPath.js │ ├── ElevationPath-map.css │ ├── ElevationPath-map.js │ ├── ElevationPath-src.css │ └── ElevationPath-src.js ├── LICENCE.md ├── package.json ├── README.md └── src ├── Common │ ├── Controls │ │ ├── ElevationPathDOM.js │ │ └── ProfileElevationPathDOM.js │ └── Utils │ ├── AutoLoadConfig.js │ ├── CheckRightManagement.js │ ├── LoggerByDefault.js │ └── SelectorID.js └── Leaflet ├── Controls │ ├── ElevationPath.js │ └── Utils │ ├── IconDefault.js │ └── PositionFormater.js └── CSS └── Controls └── ElevationPath └── GPelevationPathLeaflet.css
FIXME
trouver un namespace avec les infos : ignf / geoportal / plugin / leaflet
ex. @ignf-geoportal/plugin-leaflet-elevationpath
TODO
publication via npm
Le script nous fournit les répertoire de publication par widget.
Il nous reste donc à mettre en place ou modifier le job de publication des github actions.
TODO
Guide d’intégration dans le dépôt Leaflet
cf. https://github.com/Leaflet/Leaflet/blob/main/PLUGIN-GUIDE.md
TODO