@@ -43,6 +43,21 @@ Then just run the `./autogen.sh` to generate the added or updated node classes. | |||||
[black]: https://pypi.org/project/black | [black]: https://pypi.org/project/black | ||||
[inkscape]: https://inkscape.org/ko/release | [inkscape]: https://inkscape.org/ko/release | ||||
### Add new provider | |||||
To add a new provider to Diagrams, please follow the steps below in addition to the image intructions above: | |||||
- in `autogen.sh` add in the `providers` variable the new provider code | |||||
- in `config.py`: | |||||
- in the `providers` variable, add the new provider code | |||||
- in the `FILE_PREFIXES` variable, add a new entry with your new provider code. And eventually a file prefix | |||||
- Optionnaly, update the `UPPER_WORDS` variable to a new entry with your new provider code. | |||||
- in the `ALIASES` variable, add a new entry with your new provider code. See below on how to add new aliases. | |||||
- in `scripts/resource.py`: | |||||
- add a function `cleaner_XXX` (replace XXX by your provider name). For the implementation look at the existing functions | |||||
- in the `cleaners` variable, add an entry with your new provider code and the function defined above | |||||
- in `sidebars.json`, update the `Nodes` array to add the reference of the new provider | |||||
- in the `diagrams` folder, add a new file `__init__.py` for the new provider. For the content look at the existing providers | |||||
### Update Aliases | ### Update Aliases | ||||
Some node classes have alias. For example, `aws.compute.ECS` class is an alias | Some node classes have alias. For example, `aws.compute.ECS` class is an alias | ||||
@@ -20,6 +20,7 @@ providers=( | |||||
"generic" | "generic" | ||||
"openstack" | "openstack" | ||||
"outscale" | "outscale" | ||||
"gis" | |||||
) | ) | ||||
if ! [ -x "$(command -v round)" ]; then | if ! [ -x "$(command -v round)" ]; then | ||||
@@ -29,6 +29,7 @@ PROVIDERS = ( | |||||
"generic", | "generic", | ||||
"openstack", | "openstack", | ||||
"outscale", | "outscale", | ||||
"gis" | |||||
) | ) | ||||
######################### | ######################### | ||||
@@ -59,6 +60,7 @@ FILE_PREFIXES = { | |||||
"outscale": (), | "outscale": (), | ||||
"generic": (), | "generic": (), | ||||
"openstack": (), | "openstack": (), | ||||
"gis": (), | |||||
} | } | ||||
######################### | ######################### | ||||
@@ -89,6 +91,7 @@ UPPER_WORDS = { | |||||
"openstack": ("rpm", "loci", "nfv", "ec2api"), | "openstack": ("rpm", "loci", "nfv", "ec2api"), | ||||
"pve": ("pve"), | "pve": ("pve"), | ||||
"ibm": ("ibm"), | "ibm": ("ibm"), | ||||
"gis": ("gis","ban","ign","ogc","qgis","wfs","wms"), | |||||
} | } | ||||
TITLE_WORDS = { | TITLE_WORDS = { | ||||
@@ -408,6 +411,7 @@ ALIASES = { | |||||
} | } | ||||
}, | }, | ||||
"digitalocean": {}, | "digitalocean": {}, | ||||
"gis": {}, | |||||
"oci": { | "oci": { | ||||
"compute": { | "compute": { | ||||
"VM": "VirtualMachine", | "VM": "VirtualMachine", | ||||
@@ -0,0 +1,12 @@ | |||||
""" | |||||
GIS provides a set of services for Geographic Information Systems provider. | |||||
""" | |||||
from diagrams import Node | |||||
class _GIS(Node): | |||||
_provider = "gis" | |||||
_icon_dir = "resources/gis" | |||||
fontcolor = "#2d3436" |
@@ -0,0 +1,19 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Cli(_GIS): | |||||
_type = "cli" | |||||
_icon_dir = "resources/gis/cli" | |||||
class Gdal(_Cli): | |||||
_icon = "gdal.png" | |||||
class Lastools(_Cli): | |||||
_icon = "lastools.png" | |||||
# Aliases |
@@ -0,0 +1,15 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Cplusplus(_GIS): | |||||
_type = "cplusplus" | |||||
_icon_dir = "resources/gis/cplusplus" | |||||
class Mapnik(_Cplusplus): | |||||
_icon = "mapnik.png" | |||||
# Aliases |
@@ -0,0 +1,23 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Data(_GIS): | |||||
_type = "data" | |||||
_icon_dir = "resources/gis/data" | |||||
class BAN(_Data): | |||||
_icon = "ban.png" | |||||
class IGN(_Data): | |||||
_icon = "ign.png" | |||||
class Openstreetmap(_Data): | |||||
_icon = "openstreetmap.png" | |||||
# Aliases |
@@ -0,0 +1,15 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Database(_GIS): | |||||
_type = "database" | |||||
_icon_dir = "resources/gis/database" | |||||
class Postgis(_Database): | |||||
_icon = "postgis.png" | |||||
# Aliases |
@@ -0,0 +1,15 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Desktop(_GIS): | |||||
_type = "desktop" | |||||
_icon_dir = "resources/gis/desktop" | |||||
class QGIS(_Desktop): | |||||
_icon = "qgis.png" | |||||
# Aliases |
@@ -0,0 +1,19 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Format(_GIS): | |||||
_type = "format" | |||||
_icon_dir = "resources/gis/format" | |||||
class Geopackage(_Format): | |||||
_icon = "geopackage.png" | |||||
class Geoparquet(_Format): | |||||
_icon = "geoparquet.png" | |||||
# Aliases |
@@ -0,0 +1,23 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Geocoding(_GIS): | |||||
_type = "geocoding" | |||||
_icon_dir = "resources/gis/geocoding" | |||||
class Addok(_Geocoding): | |||||
_icon = "addok.png" | |||||
class Gisgraphy(_Geocoding): | |||||
_icon = "gisgraphy.png" | |||||
class Nominatim(_Geocoding): | |||||
_icon = "nominatim.png" | |||||
# Aliases |
@@ -0,0 +1,15 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Java(_GIS): | |||||
_type = "java" | |||||
_icon_dir = "resources/gis/java" | |||||
class Geotools(_Java): | |||||
_icon = "geotools.png" | |||||
# Aliases |
@@ -0,0 +1,43 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Javascript(_GIS): | |||||
_type = "javascript" | |||||
_icon_dir = "resources/gis/javascript" | |||||
class Cesium(_Javascript): | |||||
_icon = "cesium.png" | |||||
class Geostyler(_Javascript): | |||||
_icon = "geostyler.png" | |||||
class Keplerjs(_Javascript): | |||||
_icon = "keplerjs.png" | |||||
class Leaflet(_Javascript): | |||||
_icon = "leaflet.png" | |||||
class Maplibre(_Javascript): | |||||
_icon = "maplibre.png" | |||||
class OlExt(_Javascript): | |||||
_icon = "ol-ext.png" | |||||
class Openlayers(_Javascript): | |||||
_icon = "openlayers.png" | |||||
class Turfjs(_Javascript): | |||||
_icon = "turfjs.png" | |||||
# Aliases |
@@ -0,0 +1,19 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Mobile(_GIS): | |||||
_type = "mobile" | |||||
_icon_dir = "resources/gis/mobile" | |||||
class Mergin(_Mobile): | |||||
_icon = "mergin.png" | |||||
class Qfield(_Mobile): | |||||
_icon = "qfield.png" | |||||
# Aliases |
@@ -0,0 +1,23 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _OGC(_GIS): | |||||
_type = "ogc" | |||||
_icon_dir = "resources/gis/ogc" | |||||
class OGC(_OGC): | |||||
_icon = "ogc.png" | |||||
class WFS(_OGC): | |||||
_icon = "wfs.png" | |||||
class WMS(_OGC): | |||||
_icon = "wms.png" | |||||
# Aliases |
@@ -0,0 +1,15 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Organization(_GIS): | |||||
_type = "organization" | |||||
_icon_dir = "resources/gis/organization" | |||||
class Osgeo(_Organization): | |||||
_icon = "osgeo.png" | |||||
# Aliases |
@@ -0,0 +1,19 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Python(_GIS): | |||||
_type = "python" | |||||
_icon_dir = "resources/gis/python" | |||||
class Geopandas(_Python): | |||||
_icon = "geopandas.png" | |||||
class Pysal(_Python): | |||||
_icon = "pysal.png" | |||||
# Aliases |
@@ -0,0 +1,27 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Routing(_GIS): | |||||
_type = "routing" | |||||
_icon_dir = "resources/gis/routing" | |||||
class Graphhopper(_Routing): | |||||
_icon = "graphhopper.png" | |||||
class Osmr(_Routing): | |||||
_icon = "osmr.png" | |||||
class Pgrouting(_Routing): | |||||
_icon = "pgrouting.png" | |||||
class Valhalla(_Routing): | |||||
_icon = "valhalla.png" | |||||
# Aliases |
@@ -0,0 +1,87 @@ | |||||
# This module is automatically generated by autogen.sh. DO NOT EDIT. | |||||
from . import _GIS | |||||
class _Server(_GIS): | |||||
_type = "server" | |||||
_icon_dir = "resources/gis/server" | |||||
class Actinia(_Server): | |||||
_icon = "actinia.png" | |||||
class Baremaps(_Server): | |||||
_icon = "baremaps.png" | |||||
class Deegree(_Server): | |||||
_icon = "deegree.png" | |||||
class G3WSuite(_Server): | |||||
_icon = "g3w-suite.png" | |||||
class Geohealthcheck(_Server): | |||||
_icon = "geohealthcheck.png" | |||||
class Geomapfish(_Server): | |||||
_icon = "geomapfish.png" | |||||
class Geomesa(_Server): | |||||
_icon = "geomesa.png" | |||||
class Geonetwork(_Server): | |||||
_icon = "geonetwork.png" | |||||
class Geonode(_Server): | |||||
_icon = "geonode.png" | |||||
class Georchestra(_Server): | |||||
_icon = "georchestra.png" | |||||
class Geoserver(_Server): | |||||
_icon = "geoserver.png" | |||||
class Geowebcache(_Server): | |||||
_icon = "geowebcache.png" | |||||
class Mapproxy(_Server): | |||||
_icon = "mapproxy.png" | |||||
class Mapserver(_Server): | |||||
_icon = "mapserver.png" | |||||
class Mapstore(_Server): | |||||
_icon = "mapstore.png" | |||||
class Pycsw(_Server): | |||||
_icon = "pycsw.png" | |||||
class Pygeoapi(_Server): | |||||
_icon = "pygeoapi.png" | |||||
class QGISServer(_Server): | |||||
_icon = "qgis-server.png" | |||||
class Zooproject(_Server): | |||||
_icon = "zooproject.png" | |||||
# Aliases |
@@ -0,0 +1,210 @@ | |||||
--- | |||||
id: gis | |||||
title: GIS | |||||
--- | |||||
Node classes list of gis provider. | |||||
## gis.cli | |||||
<img width="30" src="/img/resources/gis/cli/gdal.png" alt="Gdal" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.cli.Gdal** | |||||
<img width="30" src="/img/resources/gis/cli/lastools.png" alt="Lastools" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.cli.Lastools** | |||||
## gis.cplusplus | |||||
<img width="30" src="/img/resources/gis/cplusplus/mapnik.png" alt="Mapnik" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.cplusplus.Mapnik** | |||||
## gis.data | |||||
<img width="30" src="/img/resources/gis/data/ban.png" alt="BAN" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.data.BAN** | |||||
<img width="30" src="/img/resources/gis/data/ign.png" alt="IGN" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.data.IGN** | |||||
<img width="30" src="/img/resources/gis/data/openstreetmap.png" alt="Openstreetmap" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.data.Openstreetmap** | |||||
## gis.database | |||||
<img width="30" src="/img/resources/gis/database/postgis.png" alt="Postgis" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.database.Postgis** | |||||
## gis.desktop | |||||
<img width="30" src="/img/resources/gis/desktop/qgis.png" alt="QGIS" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.desktop.QGIS** | |||||
## gis.format | |||||
<img width="30" src="/img/resources/gis/format/geopackage.png" alt="Geopackage" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.format.Geopackage** | |||||
<img width="30" src="/img/resources/gis/format/geoparquet.png" alt="Geoparquet" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.format.Geoparquet** | |||||
## gis.geocoding | |||||
<img width="30" src="/img/resources/gis/geocoding/addok.png" alt="Addok" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.geocoding.Addok** | |||||
<img width="30" src="/img/resources/gis/geocoding/gisgraphy.png" alt="Gisgraphy" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.geocoding.Gisgraphy** | |||||
<img width="30" src="/img/resources/gis/geocoding/nominatim.png" alt="Nominatim" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.geocoding.Nominatim** | |||||
## gis.java | |||||
<img width="30" src="/img/resources/gis/java/geotools.png" alt="Geotools" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.java.Geotools** | |||||
## gis.javascript | |||||
<img width="30" src="/img/resources/gis/javascript/cesium.png" alt="Cesium" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Cesium** | |||||
<img width="30" src="/img/resources/gis/javascript/geostyler.png" alt="Geostyler" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Geostyler** | |||||
<img width="30" src="/img/resources/gis/javascript/keplerjs.png" alt="Keplerjs" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Keplerjs** | |||||
<img width="30" src="/img/resources/gis/javascript/leaflet.png" alt="Leaflet" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Leaflet** | |||||
<img width="30" src="/img/resources/gis/javascript/maplibre.png" alt="Maplibre" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Maplibre** | |||||
<img width="30" src="/img/resources/gis/javascript/ol-ext.png" alt="OlExt" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.OlExt** | |||||
<img width="30" src="/img/resources/gis/javascript/openlayers.png" alt="Openlayers" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Openlayers** | |||||
<img width="30" src="/img/resources/gis/javascript/turfjs.png" alt="Turfjs" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.javascript.Turfjs** | |||||
## gis.mobile | |||||
<img width="30" src="/img/resources/gis/mobile/mergin.png" alt="Mergin" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.mobile.Mergin** | |||||
<img width="30" src="/img/resources/gis/mobile/qfield.png" alt="Qfield" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.mobile.Qfield** | |||||
## gis.ogc | |||||
<img width="30" src="/img/resources/gis/ogc/ogc.png" alt="OGC" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.ogc.OGC** | |||||
<img width="30" src="/img/resources/gis/ogc/wfs.png" alt="WFS" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.ogc.WFS** | |||||
<img width="30" src="/img/resources/gis/ogc/wms.png" alt="WMS" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.ogc.WMS** | |||||
## gis.organization | |||||
<img width="30" src="/img/resources/gis/organization/osgeo.png" alt="Osgeo" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.organization.Osgeo** | |||||
## gis.python | |||||
<img width="30" src="/img/resources/gis/python/geopandas.png" alt="Geopandas" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.python.Geopandas** | |||||
<img width="30" src="/img/resources/gis/python/pysal.png" alt="Pysal" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.python.Pysal** | |||||
## gis.routing | |||||
<img width="30" src="/img/resources/gis/routing/graphhopper.png" alt="Graphhopper" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.routing.Graphhopper** | |||||
<img width="30" src="/img/resources/gis/routing/osmr.png" alt="Osmr" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.routing.Osmr** | |||||
<img width="30" src="/img/resources/gis/routing/pgrouting.png" alt="Pgrouting" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.routing.Pgrouting** | |||||
<img width="30" src="/img/resources/gis/routing/valhalla.png" alt="Valhalla" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.routing.Valhalla** | |||||
## gis.server | |||||
<img width="30" src="/img/resources/gis/server/actinia.png" alt="Actinia" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Actinia** | |||||
<img width="30" src="/img/resources/gis/server/baremaps.png" alt="Baremaps" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Baremaps** | |||||
<img width="30" src="/img/resources/gis/server/deegree.png" alt="Deegree" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Deegree** | |||||
<img width="30" src="/img/resources/gis/server/g3w-suite.png" alt="G3WSuite" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.G3WSuite** | |||||
<img width="30" src="/img/resources/gis/server/geohealthcheck.png" alt="Geohealthcheck" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geohealthcheck** | |||||
<img width="30" src="/img/resources/gis/server/geomapfish.png" alt="Geomapfish" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geomapfish** | |||||
<img width="30" src="/img/resources/gis/server/geomesa.png" alt="Geomesa" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geomesa** | |||||
<img width="30" src="/img/resources/gis/server/geonetwork.png" alt="Geonetwork" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geonetwork** | |||||
<img width="30" src="/img/resources/gis/server/geonode.png" alt="Geonode" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geonode** | |||||
<img width="30" src="/img/resources/gis/server/georchestra.png" alt="Georchestra" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Georchestra** | |||||
<img width="30" src="/img/resources/gis/server/geoserver.png" alt="Geoserver" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geoserver** | |||||
<img width="30" src="/img/resources/gis/server/geowebcache.png" alt="Geowebcache" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Geowebcache** | |||||
<img width="30" src="/img/resources/gis/server/mapproxy.png" alt="Mapproxy" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Mapproxy** | |||||
<img width="30" src="/img/resources/gis/server/mapserver.png" alt="Mapserver" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Mapserver** | |||||
<img width="30" src="/img/resources/gis/server/mapstore.png" alt="Mapstore" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Mapstore** | |||||
<img width="30" src="/img/resources/gis/server/pycsw.png" alt="Pycsw" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Pycsw** | |||||
<img width="30" src="/img/resources/gis/server/pygeoapi.png" alt="Pygeoapi" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Pygeoapi** | |||||
<img width="30" src="/img/resources/gis/server/qgis-server.png" alt="QGISServer" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.QGISServer** | |||||
<img width="30" src="/img/resources/gis/server/zooproject.png" alt="Zooproject" style="float: left; padding-right: 5px;" > | |||||
**diagrams.gis.server.Zooproject** |
@@ -134,6 +134,9 @@ def cleaner_outscale(f): | |||||
def cleaner_openstack(f): | def cleaner_openstack(f): | ||||
return f.lower() | return f.lower() | ||||
def cleaner_gis(f): | |||||
return f.lower() | |||||
cleaners = { | cleaners = { | ||||
"onprem": cleaner_onprem, | "onprem": cleaner_onprem, | ||||
@@ -152,6 +155,7 @@ cleaners = { | |||||
"outscale": cleaner_outscale, | "outscale": cleaner_outscale, | ||||
"generic": cleaner_generic, | "generic": cleaner_generic, | ||||
"openstack": cleaner_openstack, | "openstack": cleaner_openstack, | ||||
"gis": cleaner_gis, | |||||
} | } | ||||
@@ -53,6 +53,9 @@ | |||||
"nodes/generic": { | "nodes/generic": { | ||||
"title": "Generic" | "title": "Generic" | ||||
}, | }, | ||||
"nodes/gis": { | |||||
"title": "GIS" | |||||
}, | |||||
"nodes/ibm": { | "nodes/ibm": { | ||||
"title": "IBM" | "title": "IBM" | ||||
}, | }, | ||||
@@ -28,7 +28,8 @@ | |||||
"nodes/programming", | "nodes/programming", | ||||
"nodes/saas", | "nodes/saas", | ||||
"nodes/c4", | "nodes/c4", | ||||
"nodes/custom" | |||||
"nodes/custom", | |||||
"nodes/gis" | |||||
] | ] | ||||
} | } | ||||
} | } |