diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b7fe3c02..c9629c60 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,45 +1,48 @@ -name: deploy +# This file was created automatically with `myst init --gh-pages` 🪄 💚 +name: MyST GitHub Pages Deploy on: - # Trigger the workflow on push to main branch push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: + # 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 }} -# This job installs dependencies, build the book, and pushes it to `gh-pages` +# 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: - build-and-deploy-book: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - python-version: [3.14] + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - # Install dependencies - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade "pip>=26.2.2" "certifi>=2026.10.19" - pip install -r doc-requirements.txt - # Build the book - - name: Build the book - run: | - jupyter-book build . - # Deploy the book's HTML to gh-pages branch - - name: GitHub Pages action - uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 - if: github.ref == 'refs/heads/main' - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: _build/html + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - name: Setup Pages + uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 + - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 + with: + node-version: 22.23.4 + - 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@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 + with: + path: './_build/html' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1 diff --git a/.gitignore b/.gitignore index 742b8373..cc51d343 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ _build/ # Jupyter Notebook .ipynb_checkpoints + +# MyST build outputs +_build diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e4312cf..a33d505f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -113,7 +113,7 @@ command line tool for collaborative software version control, while GitHub is an online, web-accessible service that greatly simplifies using the powerful, yet often complex, Git. -```{Note} +```{note} GitHub operates entirely within a web browser. You do not need to install anything, but you will need to set up a free GitHub account. Git is a command line tool that is most likely already @@ -283,7 +283,7 @@ on this later. For further information see the [GitHub docs on forking a repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo). -```{Note} +```{note} At this point you should have a local copy of the repository in your current working directory. You can safely make changes to any of the contents. Once you are ready to contribute your changes @@ -347,7 +347,7 @@ $ git commit PATH_TO_NEW_FILE Which will prompt you for a log message. Please provide something informative. If you make lots of changes, it is best to make multiple commits, broken up into related chunks. E.g. “fixed x”, “added documentation”, “added testing”. -```{Note} +```{note} When executing `git commit` after `git add PATH_TO_NEW_FILE`, specifying the path to the new file isn't stricly necessary. However, in other instances the file path argument is required. We include it diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 28cc9df1..00000000 --- a/_config.yml +++ /dev/null @@ -1,16 +0,0 @@ -title: ARM Tutorials -author: ARM Development Team -logo: images/arm_logo.png -execute: - execute_notebooks: "off" -parse: - myst_enable_extensions: - - html_image -repository: - url: "https://github.com/ARM-Development/ARM-Notebooks" # Online location of your book - branch: main # Which branch of the repository should be used when creating links (optional) - path_to_book: ~/ARM-Notebooks/ -launch_buttons: - jupyterhub_url: "https://jupyterhub.arm.gov" - notebook_interface: "jupyterlab" -exclude_patterns: ["VAPs/quicklook/*"] # exclude ipynb files to build diff --git a/_toc.yml b/_toc.yml deleted file mode 100644 index 0fdb6dff..00000000 --- a/_toc.yml +++ /dev/null @@ -1,84 +0,0 @@ -format: jb-book -root: README.md -parts: - - caption: Getting Started - chapters: - - file: getting-started.md - - caption: How to Contribute - chapters: - - file: CONTRIBUTING.md - - file: Templates/notebook-template - - file: Templates/tutorial-schedule - - caption: Intro Tutorials - chapters: - - file: Tutorials/ACT-Python-Tutorial/1-jupyter_intro.ipynb - - file: Tutorials/ACT-Python-Tutorial/2-Python-Basics.ipynb - - file: Tutorials/ACT-Python-Tutorial/2a-scientific_libraries_numpy.ipynb - - file: Tutorials/ACT-Python-Tutorial/2b-scientific_libraries_pandas.ipynb - - file: Tutorials/ACT-Python-Tutorial/2c-scientific_libraries_xarray.ipynb - - file: Tutorials/ACT-Python-Tutorial/3-ACT-Basics.ipynb - - file: Tutorials/ACT-Python-Tutorial/3-ACT-Basics-BNF.ipynb - - file: Tutorials/ACT-Python-Tutorial/3a-ACT-TRACER-Dust.ipynb - - caption: Conference Tutorials - chapters: - - file: Tutorials/README-conf.md - sections: - - file: Tutorials/AAAR-2026-ACT-Tutorial/README.md - sections: - - file: Tutorials/AAAR-2026-ACT-Tutorial/ACT-Basics-DUSTIEAIM.ipynb - - file: Tutorials/AAAR-2026-ACT-Tutorial/PySP2_raw_SP2b_tutorial.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/README.md - sections: - - file: Tutorials/arm-asr-pi-meeting-2023/python_basics_tutorial/python-basics.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/pandas_xarray_tutorial/Pandas_Xarray_intro.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/ACT_tutorial/ACT_Tutorial_TRACER.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/pyart_tutorial/pyart-basics.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/pyart_tutorial/pyart-gridding.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/PySP2_tutorial/PySP2_tutorial.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/EMC2_tutorial/EMC2_ARM_ASR_2023_Tutorial.ipynb - - file: Tutorials/arm-asr-pi-meeting-2023/Presentations/README.md - - file: Tutorials/UPR-ACT-2023/README.md - sections: - - file: Tutorials/UPR-ACT-2023/2-jupyter_intro.ipynb - - file: Tutorials/UPR-ACT-2023/3-Python-Basics.ipynb - - file: Tutorials/UPR-ACT-2023/3a-scientific_libraries_numpy.ipynb - - file: Tutorials/UPR-ACT-2023/3b-scientific_libraries_pandas.ipynb - - file: Tutorials/UPR-ACT-2023/3c-scientific_libraries_xarray.ipynb - - file: Tutorials/UPR-ACT-2023/5-ACT-Basics-2023.ipynb - - file: Tutorials/UPR-ACT-2023/6-ACT-TRACER-Dust.ipynb - - file: Tutorials/UPR-ACT-2023/optional_github_intro.md - - file: Tutorials/UPR-ACT-2023/optional_github_branching.md - - file: Tutorials/Open-Science-Workshop-2022/README.md - sections: - - file: Tutorials/Open-Science-Workshop-2022/tutorials/day1-overview.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/jupyter-intro.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/python-intro.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/day2-overview.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/github-intro.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/forking_cloning.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/branching-forking-github-ui.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Numpy.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Pandas.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Xarray.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/xarray.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/xarray-computation-masking.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/day3-overview.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/ARM-Data-Access.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/act-basics.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/pyart-basics.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/pyart-corrections.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/pyart-gridding.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/day4-overview.md - - file: Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 01 - Overview.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 02 - Making a SkewT.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 02 - Solutions.ipynb - - file: Tutorials/Open-Science-Workshop-2022/tutorials/EMC2_demo_w_E3SM.ipynb - - caption: Value-added Products - chapters: - - file: VAPs/README.md - sections: - - file: VAPs/squire/intro-to-squire.ipynb - - file: VAPs/vap_notebook_list.md - - caption: Summer School Events - chapters: - - file: Summer-Schools/README.md diff --git a/myst.yml b/myst.yml new file mode 100644 index 00000000..baab1af6 --- /dev/null +++ b/myst.yml @@ -0,0 +1,129 @@ +version: 1 +project: + title: ARM Tutorials + authors: + - name: ARM Development Team + exclude: + - VAPs/quicklook/* + github: ARM-Development/ARM-Notebooks + toc: + - file: README.md + - title: Getting Started + children: + - file: getting-started.md + - title: How to Contribute + children: + - file: CONTRIBUTING.md + - file: Templates/notebook-template.ipynb + - file: Templates/tutorial-schedule.md + - title: Intro Tutorials + children: + - file: Tutorials/ACT-Python-Tutorial/1-jupyter_intro.ipynb + - file: Tutorials/ACT-Python-Tutorial/2-Python-Basics.ipynb + - file: Tutorials/ACT-Python-Tutorial/2a-scientific_libraries_numpy.ipynb + - file: Tutorials/ACT-Python-Tutorial/2b-scientific_libraries_pandas.ipynb + - file: Tutorials/ACT-Python-Tutorial/2c-scientific_libraries_xarray.ipynb + - file: Tutorials/ACT-Python-Tutorial/3-ACT-Basics.ipynb + - file: Tutorials/ACT-Python-Tutorial/3-ACT-Basics-BNF.ipynb + - file: Tutorials/ACT-Python-Tutorial/3a-ACT-TRACER-Dust.ipynb + - title: Conference Tutorials + children: + - file: Tutorials/README-conf.md + children: + - file: Tutorials/AAAR-2026-ACT-Tutorial/README.md + children: + - file: Tutorials/AAAR-2026-ACT-Tutorial/ACT-Basics-DUSTIEAIM.ipynb + - file: >- + Tutorials/AAAR-2026-ACT-Tutorial/PySP2_raw_SP2b_tutorial.ipynb + - file: Tutorials/arm-asr-pi-meeting-2023/README.md + children: + - file: >- + Tutorials/arm-asr-pi-meeting-2023/python_basics_tutorial/python-basics.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/pandas_xarray_tutorial/Pandas_Xarray_intro.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/ACT_tutorial/ACT_Tutorial_TRACER.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/pyart_tutorial/pyart-basics.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/pyart_tutorial/pyart-gridding.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/PySP2_tutorial/PySP2_tutorial.ipynb + - file: >- + Tutorials/arm-asr-pi-meeting-2023/EMC2_tutorial/EMC2_ARM_ASR_2023_Tutorial.ipynb + - file: Tutorials/arm-asr-pi-meeting-2023/Presentations/README.md + - file: Tutorials/UPR-ACT-2023/README.md + children: + - file: Tutorials/UPR-ACT-2023/2-jupyter_intro.ipynb + - file: Tutorials/UPR-ACT-2023/3-Python-Basics.ipynb + - file: Tutorials/UPR-ACT-2023/3a-scientific_libraries_numpy.ipynb + - file: Tutorials/UPR-ACT-2023/3b-scientific_libraries_pandas.ipynb + - file: Tutorials/UPR-ACT-2023/3c-scientific_libraries_xarray.ipynb + - file: Tutorials/UPR-ACT-2023/5-ACT-Basics-2023.ipynb + - file: Tutorials/UPR-ACT-2023/6-ACT-TRACER-Dust.ipynb + - file: Tutorials/UPR-ACT-2023/optional_github_intro.md + - file: Tutorials/UPR-ACT-2023/optional_github_branching.md + - file: Tutorials/Open-Science-Workshop-2022/README.md + children: + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/day1-overview.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/jupyter-intro.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/python-intro.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/day2-overview.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/github-intro.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/forking_cloning.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/branching-forking-github-ui.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Numpy.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Pandas.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/Scientific_Libraries_Xarray.ipynb + - file: Tutorials/Open-Science-Workshop-2022/tutorials/xarray.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/xarray-computation-masking.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/day3-overview.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/ARM-Data-Access.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/act-basics.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/pyart-basics.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/pyart-corrections.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/pyart-gridding.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/day4-overview.md + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 01 - + Overview.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 02 - + Making a SkewT.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/MetPy 02 - + Solutions.ipynb + - file: >- + Tutorials/Open-Science-Workshop-2022/tutorials/EMC2_demo_w_E3SM.ipynb + - title: Value-added Products + children: + - file: VAPs/README.md + children: + - file: VAPs/squire/intro-to-squire.ipynb + - file: VAPs/vap_notebook_list.md + - title: Summer School Events + children: + - file: Summer-Schools/README.md +site: + options: + logo: images/arm_logo.png + folders: true + template: book-theme