From 2651cb12644c0b792c5b9690aa4d96f379be5483 Mon Sep 17 00:00:00 2001 From: Sebastian Hoffmann Date: Thu, 24 Oct 2024 15:31:15 +0200 Subject: [PATCH] doc: logo --- README.md | 3 +- ci_requirements.txt | 1 + doc/conf.py | 6 ++- misc/logo/dmlcloud_color.png | Bin 0 -> 15141 bytes misc/logo/dmlcloud_color.svg | 81 +++++++++++++++++++++++++++++++++++ misc/logo/dmlcloud_dark.png | Bin 0 -> 17485 bytes misc/logo/dmlcloud_dark.svg | 81 +++++++++++++++++++++++++++++++++++ misc/logo/dmlcloud_dark2.png | Bin 0 -> 17038 bytes misc/logo/dmlcloud_dark2.svg | 81 +++++++++++++++++++++++++++++++++++ misc/logo/dmlcloud_light.png | Bin 0 -> 15529 bytes misc/logo/dmlcloud_light.svg | 51 ++++++++++++++++++++++ 11 files changed, 302 insertions(+), 2 deletions(-) create mode 100644 misc/logo/dmlcloud_color.png create mode 100644 misc/logo/dmlcloud_color.svg create mode 100644 misc/logo/dmlcloud_dark.png create mode 100644 misc/logo/dmlcloud_dark.svg create mode 100644 misc/logo/dmlcloud_dark2.png create mode 100644 misc/logo/dmlcloud_dark2.svg create mode 100644 misc/logo/dmlcloud_light.png create mode 100644 misc/logo/dmlcloud_light.svg diff --git a/README.md b/README.md index f0e9db0..59825a0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# dmlcloud +![dmlcloud logo](./misc/logo/dmlcloud_color.svg) +--------------- [![](https://img.shields.io/pypi/v/dmlcloud)](https://pypi.org/project/dmlcloud/) [![](https://img.shields.io/github/actions/workflow/status/sehoffmann/dmlcloud/run_tests.yml?label=tests&logo=github)](https://github.com/sehoffmann/dmlcloud/actions/workflows/run_tests.yml) [![](https://img.shields.io/github/actions/workflow/status/sehoffmann/dmlcloud/run_linting.yml?label=lint&logo=github)](https://github.com/sehoffmann/dmlcloud/actions/workflows/run_linting.yml) diff --git a/ci_requirements.txt b/ci_requirements.txt index a3c7096..775d288 100644 --- a/ci_requirements.txt +++ b/ci_requirements.txt @@ -5,3 +5,4 @@ build pre-commit pytest sphinx +sphinx-rtd-theme diff --git a/doc/conf.py b/doc/conf.py index 3e44836..80dbc79 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -6,6 +6,8 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information +import dmlcloud + project = 'dmlcloud' copyright = '2024, Sebastian Hoffmann' author = 'Sebastian Hoffmann' @@ -18,6 +20,7 @@ 'sphinx.ext.duration', 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', + 'sphinx.ext.napoleon', ] templates_path = ['_templates'] @@ -28,5 +31,6 @@ # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = 'classic' +html_theme = 'sphinx_rtd_theme' html_static_path = ['_static'] +html_logo = '../misc/logo/dmlcloud_light.png' diff --git a/misc/logo/dmlcloud_color.png b/misc/logo/dmlcloud_color.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d2aef5f5d2eca5dbd8e9bfb5abab2e124605f5 GIT binary patch literal 15141 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 sr}Iro4)l}{bo5uSdEE^) + + + + + + + + + + dmlcloud + + + + + diff --git a/misc/logo/dmlcloud_dark.png b/misc/logo/dmlcloud_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4bc7ce82e87ab4856a1c08e87e5a4bdb0b496160 GIT binary patch literal 17485 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 literal 0 HcmV?d00001 diff --git a/misc/logo/dmlcloud_dark.svg b/misc/logo/dmlcloud_dark.svg new file mode 100644 index 0000000..e7f9e26 --- /dev/null +++ b/misc/logo/dmlcloud_dark.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + dmlcloud + + + + + diff --git a/misc/logo/dmlcloud_dark2.png b/misc/logo/dmlcloud_dark2.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c319e86f8d5f2e31fab7b34da936d20ee350f5 GIT binary patch literal 17038 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 + + + + + + + + + + dmlcloud + + + + + diff --git a/misc/logo/dmlcloud_light.png b/misc/logo/dmlcloud_light.png new file mode 100644 index 0000000000000000000000000000000000000000..526ee499735afa663c2fc27b34f96a8ab2042850 GIT binary patch literal 15529 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 Cen;p4 literal 0 HcmV?d00001 diff --git a/misc/logo/dmlcloud_light.svg b/misc/logo/dmlcloud_light.svg new file mode 100644 index 0000000..14d1dba --- /dev/null +++ b/misc/logo/dmlcloud_light.svg @@ -0,0 +1,51 @@ + + + + + + + + + + dmlcloud + + + + +