diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index de0c122a..00000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,46 +0,0 @@ -# This file was created automatically with `myst init --gh-pages` πŸͺ„ πŸ’š - -name: MyST GitHub Pages Deploy -on: - push: - # Runs on pushes targeting the default branch - branches: [main] -env: - # `BASE_URL` determines the website is served from, including CSS & JS assets - # You may need to change this to `BASE_URL: ''` - BASE_URL: /${{ github.event.repository.name }} - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: 'pages' - cancel-in-progress: false -jobs: - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v3 - - uses: actions/setup-node@v4 - with: - node-version: 18.x - - name: Install MyST Markdown - run: npm install -g mystmd - - name: Build HTML Assets - run: myst build --html - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 - with: - path: './_build/html' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 diff --git a/.github/workflows/nightly-build.yaml b/.github/workflows/nightly-build.yaml new file mode 100644 index 00000000..990e7eba --- /dev/null +++ b/.github/workflows/nightly-build.yaml @@ -0,0 +1,19 @@ +name: nightly-build + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" # Daily β€œAt 00:00” + +jobs: + build: + if: ${{ github.repository_owner == 'ProjectPythia' }} + uses: ProjectPythia/cookbook-actions/.github/workflows/build-book.yaml@main + + deploy: + needs: build + uses: ProjectPythia/cookbook-actions/.github/workflows/deploy-book.yaml@main + + link-check: + if: ${{ github.repository_owner == 'ProjectPythia' }} + uses: ProjectPythia/cookbook-actions/.github/workflows/link-checker.yaml@main diff --git a/.github/workflows/publish-book.yaml b/.github/workflows/publish-book.yaml new file mode 100644 index 00000000..4e7fd1ee --- /dev/null +++ b/.github/workflows/publish-book.yaml @@ -0,0 +1,16 @@ +name: publish-book + +on: + # Trigger the workflow on push to main branch + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + uses: ProjectPythia/cookbook-actions/.github/workflows/build-book.yaml@main + + deploy: + needs: build + uses: ProjectPythia/cookbook-actions/.github/workflows/deploy-book.yaml@main diff --git a/.github/workflows/trigger-book-build.yaml b/.github/workflows/trigger-book-build.yaml new file mode 100644 index 00000000..c2b08f34 --- /dev/null +++ b/.github/workflows/trigger-book-build.yaml @@ -0,0 +1,11 @@ +name: trigger-book-build +on: + pull_request: + +jobs: + build: + uses: ProjectPythia/cookbook-actions/.github/workflows/build-book.yaml@main + with: + artifact_name: book-zip-${{ github.event.number }} + base_url: '/${{ github.event.repository.name }}/_preview/${{ github.event.number }}' + # Other input options are possible, see ProjectPythia/cookbook-actions/.github/workflows/build-book.yaml diff --git a/.github/workflows/trigger-delete-preview.yaml b/.github/workflows/trigger-delete-preview.yaml new file mode 100644 index 00000000..06e13e5c --- /dev/null +++ b/.github/workflows/trigger-delete-preview.yaml @@ -0,0 +1,9 @@ +name: trigger-delete-preview + +on: + pull_request_target: + types: closed + +jobs: + delete: + uses: ProjectPythia/cookbook-actions/.github/workflows/delete-preview.yaml@main diff --git a/.github/workflows/trigger-link-check.yaml b/.github/workflows/trigger-link-check.yaml new file mode 100644 index 00000000..e2402ddc --- /dev/null +++ b/.github/workflows/trigger-link-check.yaml @@ -0,0 +1,7 @@ +name: trigger-link-check +on: + pull_request: + +jobs: + link-check: + uses: ProjectPythia/cookbook-actions/.github/workflows/link-checker.yaml@main diff --git a/.github/workflows/trigger-preview.yaml b/.github/workflows/trigger-preview.yaml new file mode 100644 index 00000000..049b5d0b --- /dev/null +++ b/.github/workflows/trigger-preview.yaml @@ -0,0 +1,27 @@ +name: trigger-preview +on: + workflow_run: + workflows: + - trigger-book-build + types: + - requested + - completed + +jobs: + find-pull-request: + uses: ProjectPythia/cookbook-actions/.github/workflows/find-pull-request.yaml@main + deploy-preview: + needs: find-pull-request + if: github.event.workflow_run.conclusion == 'success' + uses: ProjectPythia/cookbook-actions/.github/workflows/deploy-book.yaml@main + with: + artifact_name: book-zip-${{ needs.find-pull-request.outputs.number }} + destination_dir: _preview/${{ needs.find-pull-request.outputs.number }} # deploy to subdirectory labeled with PR number + is_preview: "true" + + preview-comment: + needs: find-pull-request + uses: ProjectPythia/cookbook-actions/.github/workflows/preview-comment.yaml@main + with: + pull_request_number: ${{ needs.find-pull-request.outputs.number }} + sha: ${{ needs.find-pull-request.outputs.sha }} diff --git a/.github/workflows/trigger-replace-links.yaml b/.github/workflows/trigger-replace-links.yaml new file mode 100644 index 00000000..1d1e8547 --- /dev/null +++ b/.github/workflows/trigger-replace-links.yaml @@ -0,0 +1,31 @@ +name: trigger-replace-links + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v3 + - name: Find and Replace Repository Name + uses: jacobtomlinson/gha-find-replace@v3 + with: + find: "ProjectPythia/cookbook-template" + replace: "${{ github.repository_owner }}/${{ github.event.repository.name }}" + regex: false + exclude: ".github/workflows/trigger-replace-links.yaml" + + - name: Find and Replace Repository ID + uses: jacobtomlinson/gha-find-replace@v3 + with: + find: "475509405" + replace: "${{ github.repository_id}}" + regex: false + exclude: ".github/workflows/trigger-replace-links.yml" + + - name: Push changes + uses: stefanzweifel/git-auto-commit-action@v4 diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index 0fc010f7..00000000 --- a/.isort.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[settings] -known_third_party = diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index fe5f4559..00000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,52 +0,0 @@ -repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 - hooks: - - id: trailing-whitespace - - id: end-of-file-fixer - - id: check-docstring-first - - id: check-json - - id: check-yaml - - id: double-quote-string-fixer - - - repo: https://github.com/psf/black - rev: 23.7.0 - hooks: - - id: black - - - repo: https://github.com/keewis/blackdoc - rev: v0.3.8 - hooks: - - id: blackdoc - - - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 - hooks: - - id: flake8 - - - repo: https://github.com/asottile/seed-isort-config - rev: v2.2.0 - hooks: - - id: seed-isort-config - - - repo: https://github.com/PyCQA/isort - rev: 5.12.0 - hooks: - - id: isort - - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.0 - hooks: - - id: prettier - additional_dependencies: [prettier@v2.7.1] - - - repo: https://github.com/nbQA-dev/nbQA - rev: 1.7.0 - hooks: - - id: nbqa-black - additional_dependencies: [black] - - id: nbqa-pyupgrade - additional_dependencies: [pyupgrade] - exclude: foundations/quickstart.ipynb - - id: nbqa-isort - additional_dependencies: [isort] diff --git a/README.md b/README.md index 2be392ab..f43d5ea4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -thumbnail - # Advanced Visualization Cookbook - MyST Demo +thumbnail + [![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/advanced-viz-cookbook.git/main?labpath=notebooks) [![DOI](https://zenodo.org/badge/671205314.svg)](https://zenodo.org/badge/latestdoi/671205314) diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 66eb54cb..00000000 --- a/_config.yml +++ /dev/null @@ -1,81 +0,0 @@ -# Book settings -# Learn more at https://jupyterbook.org/customize/config.html - -title: Advanced Visualization Cookbook -description: Advanced visualization techniques building upon and combining various Python packages. -author: the Project Pythia Community -logo: notebooks/images/logos/pythia_logo-white-rtext.svg -copyright: "2024" - -execute: - # To execute notebooks via a Binder instead, replace 'cache' with 'binder' - execute_notebooks: cache - timeout: 600 - allow_errors: False # cells with expected failures must set the `raises-exception` cell tag - -# Add a few extensions to help with parsing content -parse: - myst_enable_extensions: # default extensions to enable in the myst parser. See https://myst-parser.readthedocs.io/en/latest/using/syntax-optional.html - - amsmath - - colon_fence - - deflist - - dollarmath - - html_admonition - - html_image - - replacements - - smartquotes - - substitution - -sphinx: - config: - linkcheck_ignore: ["https://doi.org/*", "https://www.noaa.gov/*", "https://weather.uwyo.edu/*"] # don't run link checker on DOI links since they are immutable - nb_execution_raise_on_error: true # raise exception in build if there are notebook errors (this flag is ignored if building on binder) - html_favicon: notebooks/images/icons/favicon.ico - html_last_updated_fmt: "%-d %B %Y" - html_theme: sphinx_pythia_theme - html_permalinks_icon: '' - html_theme_options: - home_page_in_toc: true - repository_url: https://github.com/ProjectPythia/advanced-viz-cookbook/ # Online location of your book - repository_branch: main # Which branch of the repository should be used when creating links (optional) - use_issues_button: true - use_repository_button: true - use_edit_page_button: true - use_fullscreen_button: true - analytics: - google_analytics_id: G-T52X8HNYE8 - github_url: https://github.com/ProjectPythia - twitter_url: https://twitter.com/project_pythia - icon_links: - - name: YouTube - url: https://www.youtube.com/channel/UCoZPBqJal5uKpO8ZiwzavCw - icon: fab fa-youtube-square - type: fontawesome - launch_buttons: - binderhub_url: https://binder.projectpythia.org - notebook_interface: jupyterlab - logo: - link: https://projectpythia.org - navbar_start: - - navbar-logo - navbar_end: - - navbar-icon-links - navbar_links: - - name: Home - url: https://projectpythia.org - - name: Foundations - url: https://foundations.projectpythia.org - - name: Cookbooks - url: https://cookbooks.projectpythia.org - - name: Resources - url: https://projectpythia.org/resource-gallery.html - - name: Community - url: https://projectpythia.org/index.html#join-us - footer_logos: - NCAR: notebooks/images/logos/NSF-NCAR_Lockup-UCAR-Dark_102523.svg - Unidata: notebooks/images/logos/Unidata_logo_horizontal_1200x300.svg - UAlbany: notebooks/images/logos/UAlbany-A2-logo-purple-gold.svg - footer_start: - - footer-logos - - footer-info - - footer-extra diff --git a/_static/custom.css b/_static/custom.css deleted file mode 100644 index 0c9948bd..00000000 --- a/_static/custom.css +++ /dev/null @@ -1,6 +0,0 @@ -.bd-main .bd-content .bd-article-container { - max-width: 100%; /* default is 60em */ - } - .bd-page-width { - max-width: 100%; /* default is 88rem */ - } diff --git a/_static/footer-logo-nsf.png b/_static/footer-logo-nsf.png deleted file mode 100644 index 11c788f2..00000000 Binary files a/_static/footer-logo-nsf.png and /dev/null differ diff --git a/_templates/footer-extra.html b/_templates/footer-extra.html deleted file mode 100644 index 27cb915d..00000000 --- a/_templates/footer-extra.html +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/_toc.yml b/_toc.yml deleted file mode 100644 index 70c721a7..00000000 --- a/_toc.yml +++ /dev/null @@ -1,24 +0,0 @@ -format: jb-book -root: README -parts: - - caption: Preamble - chapters: - - file: notebooks/how-to-cite - - caption: Basics of Geoscience Visualization - chapters: - - file: notebooks/1-comparison - - file: notebooks/2-good-viz - - file: notebooks/3-plot-elements - - caption: Specialty Plots - chapters: - - file: notebooks/4-taylor-diagrams - - file: notebooks/5-skewt - - caption: Visualization of Structured Grids - chapters: - - file: notebooks/6-spaghetti - - caption: Animation - chapters: - - file: notebooks/7-animation - - caption: Interactivity - chapters: - - file: notebooks/8-interactive-holoviz-mpas