From cf6a434b78ead7984e24d9222fb660df6a490480 Mon Sep 17 00:00:00 2001 From: Jeremy Grifski Date: Wed, 4 Aug 2021 19:49:24 -0400 Subject: [PATCH] Setup Subete for ReadTheDocs Documentation (#2) * Mimicked SnakeMD setup.py * Added conf.py and index.rst for docs * Added logos * Updated index homepage * Setup automodule --- .gitignore | 4 +++ docs/_static/favicon.ico | Bin 0 -> 26194 bytes docs/_static/icon.png | Bin 0 -> 18396 bytes docs/conf.py | 59 +++++++++++++++++++++++++++++++++++++++ docs/index.rst | 18 ++++++++++++ docs/subete.rst | 20 +++++++++++++ setup.py | 37 ++++++++++++++++++++---- subete/repo.py | 17 ++++------- 8 files changed, 138 insertions(+), 17 deletions(-) create mode 100644 docs/_static/favicon.ico create mode 100644 docs/_static/icon.png create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 docs/subete.rst diff --git a/.gitignore b/.gitignore index 510c73d..8e00e64 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,7 @@ dmypy.json # Pyre type checker .pyre/ + +# Sphinx +dirhtml/ +doctrees/ diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8d0bdbc8b45c073c847067e96e8fee6473b7ecdc GIT binary patch literal 26194 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 M>UwHvDprC24_joB8vp*0z*nj-{bH5?pk-< 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 str: """ Generates as close to the proper language name as possible given a language - name in plain text separated by hyphens - EX: google-apps-script -> Google Apps Script - EX: c-sharp -> C# + name in plain text separated by hyphens. + + | Example: google-apps-script -> Google Apps Script + | Example: c-sharp -> C# + :return: a readable representation of the language name """ text_to_symbol = {