From 61cdb1b9f5b2169bf40b70463e7f203c190a9225 Mon Sep 17 00:00:00 2001 From: Ben C Date: Thu, 3 Mar 2022 17:08:06 -0800 Subject: [PATCH] Update Documentation Site (#54) * Add Bootstrap Extension * Rename main.yml * Artifact Upload * Fix Bootstrap Reference Error * BootstrapTreeProcessor * getiterator removed * keys function * Style Images * Update docs_build.yml * Added Meta Files * Template Get * Fix Page Ref * Update BASE_URL * Sort Schemas * Add Sitemaps * Add favicons, open-graph, and setup guide * Update Setup.md * Update .gitignore * Update Setup.md --- .github/workflows/docs_build.yml | 9 +++ .gitignore | 12 ++-- docs/Setup.md | 47 ++++++++++++++ docs/content/base/base.jinja2 | 15 +++-- docs/content/base/meta.jinja2 | 61 ++++++++++++++++++ docs/content/browserconfig.jinja2 | 11 ++++ docs/content/robots.jinja2 | 4 ++ docs/content/sitemap.jinja2 | 11 ++++ .../static/fav/android-icon-144x144.png | Bin 0 -> 17175 bytes .../static/fav/android-icon-192x192.png | Bin 0 -> 24739 bytes .../content/static/fav/android-icon-36x36.png | Bin 0 -> 2664 bytes .../content/static/fav/android-icon-48x48.png | Bin 0 -> 3784 bytes .../content/static/fav/android-icon-72x72.png | Bin 0 -> 6475 bytes .../content/static/fav/android-icon-96x96.png | Bin 0 -> 9754 bytes .../content/static/fav/apple-icon-114x114.png | Bin 0 -> 12219 bytes .../content/static/fav/apple-icon-120x120.png | Bin 0 -> 13268 bytes .../content/static/fav/apple-icon-144x144.png | Bin 0 -> 17175 bytes .../content/static/fav/apple-icon-152x152.png | Bin 0 -> 18414 bytes .../content/static/fav/apple-icon-180x180.png | Bin 0 -> 23413 bytes docs/content/static/fav/apple-icon-57x57.png | Bin 0 -> 4731 bytes docs/content/static/fav/apple-icon-60x60.png | Bin 0 -> 5044 bytes docs/content/static/fav/apple-icon-72x72.png | Bin 0 -> 6475 bytes docs/content/static/fav/apple-icon-76x76.png | Bin 0 -> 7028 bytes .../static/fav/apple-icon-precomposed.png | Bin 0 -> 25279 bytes docs/content/static/fav/apple-icon.png | Bin 0 -> 25279 bytes docs/content/static/fav/favicon-16x16.png | Bin 0 -> 1373 bytes docs/content/static/fav/favicon-32x32.png | Bin 0 -> 2340 bytes docs/content/static/fav/favicon-96x96.png | Bin 0 -> 9754 bytes docs/content/static/fav/favicon.ico | Bin 0 -> 1150 bytes docs/content/static/fav/manifest.json | 49 ++++++++++++++ docs/content/static/fav/ms-icon-144x144.png | Bin 0 -> 17175 bytes docs/content/static/fav/ms-icon-150x150.png | Bin 0 -> 18099 bytes docs/content/static/fav/ms-icon-310x310.png | Bin 0 -> 50022 bytes docs/content/static/fav/ms-icon-70x70.png | Bin 0 -> 6287 bytes docs/content/static/robots.txt | 2 - docs/generate.py | 37 ++++++++--- docs/lib/BootstrapExtension.py | 33 ++++++++++ docs/lib/Page.py | 4 +- docs/lib/Schema.py | 3 +- 39 files changed, 274 insertions(+), 24 deletions(-) create mode 100644 docs/Setup.md create mode 100644 docs/content/base/meta.jinja2 create mode 100644 docs/content/browserconfig.jinja2 create mode 100644 docs/content/robots.jinja2 create mode 100644 docs/content/sitemap.jinja2 create mode 100644 docs/content/static/fav/android-icon-144x144.png create mode 100644 docs/content/static/fav/android-icon-192x192.png create mode 100644 docs/content/static/fav/android-icon-36x36.png create mode 100644 docs/content/static/fav/android-icon-48x48.png create mode 100644 docs/content/static/fav/android-icon-72x72.png create mode 100644 docs/content/static/fav/android-icon-96x96.png create mode 100644 docs/content/static/fav/apple-icon-114x114.png create mode 100644 docs/content/static/fav/apple-icon-120x120.png create mode 100644 docs/content/static/fav/apple-icon-144x144.png create mode 100644 docs/content/static/fav/apple-icon-152x152.png create mode 100644 docs/content/static/fav/apple-icon-180x180.png create mode 100644 docs/content/static/fav/apple-icon-57x57.png create mode 100644 docs/content/static/fav/apple-icon-60x60.png create mode 100644 docs/content/static/fav/apple-icon-72x72.png create mode 100644 docs/content/static/fav/apple-icon-76x76.png create mode 100644 docs/content/static/fav/apple-icon-precomposed.png create mode 100644 docs/content/static/fav/apple-icon.png create mode 100644 docs/content/static/fav/favicon-16x16.png create mode 100644 docs/content/static/fav/favicon-32x32.png create mode 100644 docs/content/static/fav/favicon-96x96.png create mode 100644 docs/content/static/fav/favicon.ico create mode 100644 docs/content/static/fav/manifest.json create mode 100644 docs/content/static/fav/ms-icon-144x144.png create mode 100644 docs/content/static/fav/ms-icon-150x150.png create mode 100644 docs/content/static/fav/ms-icon-310x310.png create mode 100644 docs/content/static/fav/ms-icon-70x70.png delete mode 100644 docs/content/static/robots.txt create mode 100644 docs/lib/BootstrapExtension.py diff --git a/.github/workflows/docs_build.yml b/.github/workflows/docs_build.yml index 31014ecb..43caf7fa 100644 --- a/.github/workflows/docs_build.yml +++ b/.github/workflows/docs_build.yml @@ -8,6 +8,15 @@ on: - NewHorizons/*schema*.json workflow_dispatch: + inputs: + relative_path: + description: "Path to set for relative files, set to a blank string for local builds" + required: false + default: "/" + +env: + OUT_DIR: ${{ github.events.inputs.relative_path }} + BASE_URL: https://nh.outerwildsmods.com/ jobs: build: diff --git a/.gitignore b/.gitignore index 737cea76..126ed01f 100644 --- a/.gitignore +++ b/.gitignore @@ -396,7 +396,7 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml -.idea +.idea/ packages .vs @@ -405,9 +405,9 @@ obj zip *.zip -*/Build/* -.idea/ -docs/out/* -docs/schemas/* +*/Build/** +NewHorizons/Properties/** -NewHorizons/Properties/* \ No newline at end of file +# Docs +docs/out/** +docs/content/schemas/** diff --git a/docs/Setup.md b/docs/Setup.md new file mode 100644 index 00000000..74d81e77 --- /dev/null +++ b/docs/Setup.md @@ -0,0 +1,47 @@ +# Setup to build docs + +## Requirements +- Python 3.10 + +## Clone the repo +Clone the entire repo and navigate to the docs folder +```shell +git clone https://github.com/xen-42/outer-wilds-new-horizons +cd outer-wilds-new-horizons/docs +``` + +## Setup Pipenv +Install pipenv if you haven't already +```shell +pip install --user pipenv +``` +Install dependencies +```shell +pipenv install +``` + +## Environment Variables +- OUT_DIR: Path to put before all links and static files, see below for recommended values + - Production: "/" + - Local Build: "" (set as empty string) + - PyCharm Development Server: "/outer-wilds-new-horizons/docs/out/" +- BASE_URL: Base url of the website we're hosting on + - Local: Leave blank + - Local (but wanting to test open-graph/twitter): "https://nh.outerwildsmods.com/" + - Production: "https://nh.outerwildsmods.com/" + + +## Copy Schemas +Create a folder called `schemas` in the content folder and copy all schemas to generate into it, make sure not to add this folder to git. +Production build automatically copies over schemas. + +## Generating +Run `generate.py` with pipenv +```shell +pipenv run python generate.py +``` + +## Opening +- Production: Go to the site +- Local: Open `out/index.html` +- PyCharm Development Server: Right click `out/index.html` -> Open In -> Browser -> Default diff --git a/docs/content/base/base.jinja2 b/docs/content/base/base.jinja2 index a0866c28..12d603c2 100644 --- a/docs/content/base/base.jinja2 +++ b/docs/content/base/base.jinja2 @@ -7,10 +7,11 @@ - - - - New Horizons Documentation | {{ page.title|title }} + {% if dumb %} + {% include "meta.jinja2" %} + {% else %} + {% include "base/meta.jinja2" %} + {% endif %} @@ -24,8 +25,10 @@