diff --git a/src/doc/cfood-schema.yml b/src/doc/cfood-schema.yml new file mode 120000 index 0000000000000000000000000000000000000000..c34280ed44cdd07eccb20e314e08a60c899dfe8a --- /dev/null +++ b/src/doc/cfood-schema.yml @@ -0,0 +1 @@ +../caoscrawler/cfood-schema.yml \ No newline at end of file diff --git a/src/doc/cfood-specification.rst b/src/doc/cfood-specification.rst new file mode 100644 index 0000000000000000000000000000000000000000..89588b2da9e4bb828eba05cc353dedb3abd6c821 --- /dev/null +++ b/src/doc/cfood-specification.rst @@ -0,0 +1,10 @@ +CFood-Specification +((((((((((((((((((( + + +CFoods are defined using a YAML find that has to abide by the following +specification. The specifiacition is defined using a JSON schema (see +`src/caoscrawler/cfood-schema.yml`). A CFood is basically composed of converter +definitions. A converter definition must have the following structure: + +.. jsonschema:: cfood-schema.yml#/cfood/$defs/converter diff --git a/src/doc/conf.py b/src/doc/conf.py index 6583364e3e108cf6c5d14566d91cf7ff9bd289b3..2a783dec27a700f9d350a2b46cdd647ff0fccf2f 100644 --- a/src/doc/conf.py +++ b/src/doc/conf.py @@ -56,6 +56,8 @@ extensions = [ "sphinx.ext.todo", "recommonmark", # For markdown files. "sphinx_rtd_theme", + 'sphinx.ext.autodoc', + 'sphinx-jsonschema', ] # Add any paths that contain templates here, relative to this directory. diff --git a/src/doc/index.rst b/src/doc/index.rst index a72389b1f4b94430b2c5ff2bfee9757193327ed7..fdb99d4d9a6cb8bf6972d7ee22489f362436bb90 100644 --- a/src/doc/index.rst +++ b/src/doc/index.rst @@ -12,6 +12,7 @@ CaosDB-Crawler Documentation Concepts<concepts> Converters<converters/index> CFoods (Crawler Definitions)<cfood> + CFood-Specification<cfood-specification> Macros<macros> How to upgrade<how-to-upgrade> API documentation<_apidoc/modules>