diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..1733222 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,24 @@ +on: + workflow_dispatch: + push: + branches: [main] + +name: Quarto Publish + +jobs: + build-deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Check out repository + uses: actions/checkout@v6 + + - name: Set up Quarto + uses: quarto-dev/quarto-actions/setup@v2 + - name: Render Quarto Project + uses: quarto-dev/quarto-actions/render@v2 + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: _site/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index a108b47..41d9ad3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,248 +1,253 @@ -# History files -.Rhistory -.Rapp.history - -# Session Data files -.RData -.RDataTmp - -# User-specific files -.Ruserdata - -# Example code in package build process -*-Ex.R - -# Output files from R CMD build -/*.tar.gz - -# Output files from R CMD check -/*.Rcheck/ - -# RStudio files -.Rproj.user/ - -# produced vignettes -vignettes/*.html -vignettes/*.pdf - -# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 -.httr-oauth - -# knitr and R markdown default cache directories -*_cache/ -/cache/ - -# Temporary files created by R markdown -*.utf8.md -*.knit.md - -# R Environment Variables -.Renviron - -# pkgdown site -docs/ - -# translation temp files -po/*~ - -# RStudio Connect folder -rsconnect/ - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# Created by https://www.toptal.com/developers/gitignore/api/python -# Edit at https://www.toptal.com/developers/gitignore?templates=python - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -### Python Patch ### -# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration -poetry.toml - -# ruff -.ruff_cache/ - -# LSP config files -pyrightconfig.json - -# End of https://www.toptal.com/developers/gitignore/api/python +# History files +.Rhistory +.Rapp.history + +# Session Data files +.RData +.RDataTmp + +# User-specific files +.Ruserdata + +# Example code in package build process +*-Ex.R + +# Output files from R CMD build +/*.tar.gz + +# Output files from R CMD check +/*.Rcheck/ + +# RStudio files +.Rproj.user/ + +# produced vignettes +vignettes/*.html +vignettes/*.pdf + +# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 +.httr-oauth + +# knitr and R markdown default cache directories +*_cache/ +/cache/ + +# Temporary files created by R markdown +*.utf8.md +*.knit.md + +# R Environment Variables +.Renviron + +# pkgdown site +docs/ + +# translation temp files +po/*~ + +# RStudio Connect folder +rsconnect/ + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# Created by https://www.toptal.com/developers/gitignore/api/python +# Edit at https://www.toptal.com/developers/gitignore?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +# End of https://www.toptal.com/developers/gitignore/api/python + +/.quarto/ +**/*.quarto_ipynb + +_site/ \ No newline at end of file diff --git a/CODEOWNERS b/CODEOWNERS index 77d3262..702f2e8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -2,4 +2,4 @@ # the repo. Unless a later match takes precedence, # @primary-owner and @secondary-owner will be requested for # review when someone opens a pull request. -* @primary-owner @secondary-owner \ No newline at end of file +* @morganle-48 @yiwen-h \ No newline at end of file diff --git a/README.md b/README.md index 24710e8..f0dffcb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,23 @@ -# template-repository -A template for repositories with standard Strategy Unit files +# ReModel Documentation + +[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) + +A website to host documentation relating to the ReModel: Read, Run, Reuse Open Simulation Models project. + +## How to contribute + +1. Ensure that you have [Quarto](https://quarto.org/docs/get-started/) installed on your machine +1. [Clone this repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) to your local machine +1. Checkout the main branch and ensure it is up to date with `git checkout main && git pull` in the terminal +1. Checkout a new branch `git checkout -b your-branch-name` +1. Make your edits in your branch and save your file. For the sessions, you will need to create new folders for each session, with an index.qmd within it. It's probably easiest to copy and paste from a previous session. +1. Preview your changes with `quarto preview .` in the terminal - your browser should open showing you what your changes will look like +1. When you're happy, add and commit your changes with `git add files/to/add` and `git commit -m "message about your commit"` +1. Push your changes to your branch on GitHub with `git push origin your-branch-name` +1. Make a pull request and wait for your changes to be approved. +1. When your pull request is approved, merge it into the `main` branch. + +## Publishing + +The website will automatically be updated via GitHub actions whenever changes are merged into the `main` branch. + diff --git a/_SUBrand.StyleSheet.css b/_SUBrand.StyleSheet.css new file mode 100644 index 0000000..266a351 --- /dev/null +++ b/_SUBrand.StyleSheet.css @@ -0,0 +1,182 @@ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Roboto+Slab:wght@300;700&display=swap"); + +body { + font-family: "Open Sans", Arial, sans-serif; + font-weight: 400; +} + +h1, h2, h3, h4, h5, h6, +.home h1, .home h2, .home h3 { + font-family: "Roboto Slab", "Open Sans", Arial, sans-serif; + font-weight: 700; + text-align: left; +} + +:root { + --gap: 24px; + --content-gap: 20px; + --nav-width: 1024px; + --main-width: 720px; + --header-height: 60px; + --footer-height: 60px; + --radius: 8px; + + /* SU Brand Palette */ + --su-dark-grey: #959595; + --su-charcoal: #2c2825; + --su-yellow: #f9bd07; + --su-white: #f5f4f3; + --su-blue: #5881c1; + + /* Light mode colors */ + --color-foreground: var(--su-charcoal); + --color-background: var(--su-white); + --color-primary: var(--su-yellow); + --color-secondary: var(--su-dark-grey); + --color-info: var(--su-blue); + + --link-color: var(--color-info); +} + +.dark { + /* Dark mode overrides */ + --color-foreground: var(--su-white); + --color-background: var(--su-charcoal); + --color-primary: var(--su-yellow); + --color-secondary: var(--su-white); + --color-info: var(--su-blue); + + --link-color: var(--color-primary); +} + +body, +.content, +.markdown, +.main-content { + color: var(--color-foreground) !important; + background: var(--color-background) !important; +} + +.list { + background: var(--color-background); +} + +.center { + text-align: left; +} + +/* SU brand link and text colors */ +.content a, +.markdown a, +.main-content a, +a { + color: var(--su-blue) !important; + text-decoration: underline; + transition: color 0.2s; +} + +.content a:hover, +.markdown a:hover, +.main-content a:hover, +a:hover { + color: var(--su-yellow) !important; +} + +/* Navbar styles */ +.navbar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + height: var(--header-height); + background: var(--color-primary); + border-bottom: 1px solid var(--color-secondary); +} +.dark .navbar { + background: var(--su-charcoal); + border-bottom: 1px solid var(--color-primary); +} + +.navbar-buttons { + display: flex; + gap: 12px; + align-items: center; +} +.nav-btn { + padding: 4px 10px; + border-radius: 3px; + border: none; + background: var(--color-primary); + color: var(--color-foreground); + font-weight: 400; + font-size: 0.95rem; + cursor: pointer; + text-decoration: none; + transition: background 0.2s; +} +.nav-btn:hover { + background: var(--color-secondary); +} + +.github-icon { + background: none; + padding: 0 6px; + color: var(--color-foreground); + display: flex; + align-items: center; + border: none; +} +.github-icon:hover { + color: var(--color-info); + background: none; +} + +.logo { + display: flex; + align-items: center; + height: var(--header-height); +} + +.logo-image { + height: 38px; + width: auto; + display: block; + margin-right: 12px; +} + +/* TOC styles */ +.toc, .TableOfContents { + background: var(--su-white); + border-radius: 8px; + padding: 1em; + border: 1px solid var(--su-blue); +} + +.toc a, .TableOfContents a { + color: var(--su-blue); + font-weight: 500; + text-decoration: underline; + transition: color 0.2s; +} + +.toc a:hover, .TableOfContents a:hover { + color: var(--su-yellow); + text-decoration: underline; +} + +/* Dark mode overrides for TOC */ +.dark .toc, +.dark .TableOfContents { + background: var(--su-charcoal); + border-color: var(--su-yellow); +} + +.dark .toc a, +.dark .TableOfContents a { + color: var(--su-yellow); +} + +.dark .toc a:hover, +.dark .TableOfContents a:hover { + color: var(--su-blue); +} \ No newline at end of file diff --git a/_brand.yml b/_brand.yml new file mode 100644 index 0000000..6de589e --- /dev/null +++ b/_brand.yml @@ -0,0 +1,50 @@ +meta: + name: + full: The Strategy Unit + link: + home: https://www.strategyunitwm.nhs.uk/ + github: https://github.com/The-Strategy-Unit + +# adjust these paths if logos are placed elsewhere +logo: + small: images/logo_black_favicon.png + medium: + light: images/logo_black_medium.png + dark: images/logo_yellow_medium.png + large: + light: images/logo_black.svg + dark: images/logo_yellow.svg + +color: + palette: + dark-grey: "#959595" + su-charcoal: "#2c2825" + su-yellow: "#f9bd07" + su-white: "#f5f4f3" + su-blue: "#5881c1" + foreground: su-charcoal + background: su-white + primary: su-yellow + secondary: dark-grey + info: su-blue + +typography: + fonts: + - family: "Roboto Slab" + weight: [300, 700] + source: google + - family: "Open Sans" + weight: [400, 600, 700] + source: google + + base: + family: "Open Sans" + weight: 400 + + headings: + family: "Roboto Slab" + weight: 700 + + link: + color: info + diff --git a/_quarto.yml b/_quarto.yml new file mode 100644 index 0000000..941fe63 --- /dev/null +++ b/_quarto.yml @@ -0,0 +1,42 @@ +project: + type: website + +website: + description: "A website to support ReModel: Read, Run, Reuse Open Simulation Models" + site-url: https://the-strategy-unit.github.io/ReModel-docs/ # you must change this appropriately for RSS feeds to work properly + title: "ReModel: Read, Run, Reuse Open Simulation Models" + navbar: + left: + - text: About + file: about.qmd + - text: Join us + file: join-us/index.qmd + - href: sessions/index.qmd + text: Sessions + right: + - icon: rss + href: sessions/index.xml + - icon: github + href: https://github.com/The-Strategy-Unit + - icon: bluesky + href: https://bsky.app/profile/strategyunit.bsky.social + sidebar: + - id: default + title: "" + + - id: join-us + title: "Join ReModel" + style: "docked" + background: light + contents: + - join-us/index.qmd + - join-us/how-remodel-works.qmd + - join-us/code-of-conduct.qmd +format: + html: + theme: + - brand + css: _SUBrand.StyleSheet.css + +execute: + freeze: auto diff --git a/about.qmd b/about.qmd new file mode 100644 index 0000000..7c5d64a --- /dev/null +++ b/about.qmd @@ -0,0 +1,29 @@ +--- +title: "About ReModel" +image: images/logo_yellow.svg +format: + html: + toc: true +--- + +## ReModel aims + +Aims go here. The below, in nicer words. Something about wider analytical context + +Help people within the NHS: + +- run open source simulation models on their own machines +- critique/assess/evaluate simulation models with their pros and cons + +## How does ReModel work? + +[See our "How ReModel Works" page](join-us/how-remodel-works.qmd) for further details on how sessions will run. All sessions are free for NHS participants. + +## How do I join? + +[Register for ReModel on our website](join-us/index.qmd). + +## How we are funded + +Info about SCIC? + diff --git a/images/logo_black.svg b/images/logo_black.svg new file mode 100644 index 0000000..83a59f3 --- /dev/null +++ b/images/logo_black.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/logo_black_favicon.png b/images/logo_black_favicon.png new file mode 100644 index 0000000..e7e3b4a Binary files /dev/null and b/images/logo_black_favicon.png differ diff --git a/images/logo_black_medium.png b/images/logo_black_medium.png new file mode 100644 index 0000000..bc28a6c Binary files /dev/null and b/images/logo_black_medium.png differ diff --git a/images/logo_yellow.svg b/images/logo_yellow.svg new file mode 100644 index 0000000..8793c50 --- /dev/null +++ b/images/logo_yellow.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/logo_yellow_medium.png b/images/logo_yellow_medium.png new file mode 100644 index 0000000..d4c6b9e Binary files /dev/null and b/images/logo_yellow_medium.png differ diff --git a/index.qmd b/index.qmd new file mode 100644 index 0000000..0d8efdc --- /dev/null +++ b/index.qmd @@ -0,0 +1,15 @@ +--- +title: "ReModel" +subtitle: "Read, Run, Reuse Open Simulation Models" +format: + html: + toc: true +--- + +This is the website for ReModel: Read, Run, Reuse Open Simulation Models, hosted by the Strategy Unit. + +Information about this project will be hosted here. + +NOTE: THIS IS STILL DRAFT AND A WORK IN PROGRESS + +Find out more about [taking part](join-us/index.qmd) and take a look at [previous and upcoming sessions](sessions/index.qmd). \ No newline at end of file diff --git a/join-us/code-of-conduct.qmd b/join-us/code-of-conduct.qmd new file mode 100644 index 0000000..cfe0237 --- /dev/null +++ b/join-us/code-of-conduct.qmd @@ -0,0 +1,8 @@ +--- +title: "Code of Conduct" +format: + html: + toc: true +--- + +Code of conduct goes here \ No newline at end of file diff --git a/join-us/how-remodel-works.qmd b/join-us/how-remodel-works.qmd new file mode 100644 index 0000000..883e7d6 --- /dev/null +++ b/join-us/how-remodel-works.qmd @@ -0,0 +1,12 @@ +--- +title: "How ReModel Works" +format: + html: + toc: true +--- + +How the sessions will run - each model exploration will run for two months, with one session per month. How long are the sessions? What technical requirements? + +One technical session, one exploratory session + +Cost \ No newline at end of file diff --git a/join-us/index.qmd b/join-us/index.qmd new file mode 100644 index 0000000..106d559 --- /dev/null +++ b/join-us/index.qmd @@ -0,0 +1,8 @@ +--- +title: "Register for ReModel" +format: + html: + toc: true +--- + +Links to registration pages for each of the ReModel sessions goes here \ No newline at end of file diff --git a/sessions/1_nonelective-flow/index.qmd b/sessions/1_nonelective-flow/index.qmd new file mode 100644 index 0000000..d09f5aa --- /dev/null +++ b/sessions/1_nonelective-flow/index.qmd @@ -0,0 +1,18 @@ +--- +title: "Nonelective Flow DES Model" +subtitle: "Session 1 [DATEHERE]: Technical Setup" +author: Dr Lucy Morgan +date: "2026-06-26" +categories: [DES] +toc: true +--- + +# Session 1: DATE GOES HERE + +Lorem ipsum + +## Session objectives and outline + +## Actions for participants before the session + +## Additional resources diff --git a/sessions/_metadata.yml b/sessions/_metadata.yml new file mode 100644 index 0000000..3e9dd01 --- /dev/null +++ b/sessions/_metadata.yml @@ -0,0 +1,8 @@ +# options specified here will apply to all posts in this folder + +# freeze computational output +# (see https://quarto.org/docs/projects/code-execution.html#freeze) +freeze: true + +# Enable banner style title blocks +title-block-banner: true diff --git a/sessions/index.qmd b/sessions/index.qmd new file mode 100644 index 0000000..d612a07 --- /dev/null +++ b/sessions/index.qmd @@ -0,0 +1,11 @@ +--- +title: "ReModel sessions" +listing: + sort: "date desc" + type: default + categories: true + sort-ui: false + filter-ui: false + feed: true +page-layout: full +--- \ No newline at end of file