This repository houses the documentation and files necessary to build the SceneryStack website.
SceneryStack is an HTML5 development framework for creating multimodal, accessible web interactives. The PhET Project uses many or all of these libraries when creating an educational interactive simulation. SceneryStack offers libraries suitable for general web interactive development, as well as those specifically tailored to STEM interactive simulations.
See below for instructions on editing or contributing to the SceneryStack documentation:
The documentation uses Mkdocs and is statically deployed with a pre-configured plugin (mkdocs-gh-deploy) for Mkdocs to GitHub Pages.
The built website is created on the gh-pages
branch.
mkdocs.yml
is a required file and sets up the navigation tree, plugins, and theme for the website.
This build makes heavy use of the MkDocs theme, Material for MkDocs. Use the "Setup" and "Reference" pages to add customized content. Many thanks to squidfunk for creating and offering up so much of the theme for all to use!
Commiting to the docs branch will kick off GitHub Pages to run a deploy Action, automatically build, and push to the gh-pages branch. (see workflow)
Make changes directly through GitHub with direct edits (maintainers) or fork the repo, make changes and submit a pull request (new contributors).
(See Contributing Guidelines)
Here are some steps for using Mkdocs in your local dev environment. NOTE: if you are not a maintainer, you will need to make a pull request and wait for review before it can be deployed.
To edit (and optionally deploy) to the documentation website from a local machine (same steps GitHub Actions does):
- Install Python (3.13 last supported at deploy)
- (install
pip
andvenv
if not already installed)
- (install
- Create a new virtual environment
- e.g.,
python -m venv ss_env
- e.g.,
- From the
../community
, install module requirements usingpip install -r requirements.txt
. - run
mkdocs serve
to locally host the directory and preview changes in real-time in your browser (command will provide a local server link to open). - Commit and push changes to
docs
branchgit add .
git commit -m "your commit message"
git push origin docs
- If deploying from your local machine: run
mkdocs gh-deploy
and it will automatically build and push to thegh-pages
branch and kick off a workflow for GitHub Pages to run a deploy Action.
The libraries contained within SceneryStack are licensed through the MIT License and freely available for use/reuse by anyone, including the scenerystack/community
repository.