From eec5d603fa582c7322d0ef2a76a007f7c425b08e Mon Sep 17 00:00:00 2001 From: Alex Kerney Date: Tue, 12 Aug 2025 12:20:58 -0400 Subject: [PATCH] Re-enabling link checking Cleaning or ignoring up lots of moved or broken links. --- .github/workflows/check_sphinx_build.yml | 8 +++--- about/contact.md | 1 - conf.py | 31 +++++++++++++++++++---- ohw23/applicants.md | 2 +- ohw23/projects/projects_thisyear.md | 2 +- pixi.toml | 2 +- resources/{index.md => index.md.disabled} | 0 resources/prep/conda.md | 2 +- resources/prep/git.md | 4 +-- resources/prep/jupyterhub.md | 4 +-- 10 files changed, 38 insertions(+), 18 deletions(-) rename resources/{index.md => index.md.disabled} (100%) diff --git a/.github/workflows/check_sphinx_build.yml b/.github/workflows/check_sphinx_build.yml index 540959cf..5b673bf2 100644 --- a/.github/workflows/check_sphinx_build.yml +++ b/.github/workflows/check_sphinx_build.yml @@ -28,10 +28,10 @@ jobs: run: | pixi run html - # - name: Check links - # shell: bash -l {0} - # run: | - # pixi run linkcheck + - name: Check links + shell: bash -l {0} + run: | + pixi run linkcheck # workaround https://github.com/actions/upload-artifact/issues/38 - name: tarball diff --git a/about/contact.md b/about/contact.md index 3b833341..a6544e87 100644 --- a/about/contact.md +++ b/about/contact.md @@ -6,7 +6,6 @@ Are you interested in learning more about OceanHackWeek, helping out with the ne - Sign up for our email list below - Write to us at [info@oceanhackweek.org](mailto:info@oceanhackweek.org). - Post a comment or question on the [OceanHackWeek GitHub Discussions](https://github.com/orgs/oceanhackweek/discussions) to engage a larger fraction of the OceanHackWeek community -- Find us on Twitter at [https://twitter.com/oceanhackweek](https://twitter.com/oceanhackweek) - Look up our [FAQ for Applicants](../ohw22/applicants.md#faqs). Most of the FAQ entries are relevant for most years, but bear in mind that we update the FAQ every year to reflect the event being planned. ## Mailing list diff --git a/conf.py b/conf.py index 7076879e..6b8f1401 100644 --- a/conf.py +++ b/conf.py @@ -73,11 +73,11 @@ "url": "https://github.com/orgs/oceanhackweek/discussions", "icon": "fas fa-comments", }, - { - "name": "Twitter", - "url": "https://twitter.com/oceanhackweek", - "icon": "fab fa-twitter-square", - }, + # { + # "name": "Twitter", + # "url": "https://twitter.com/oceanhackweek", + # "icon": "fab fa-twitter-square", + # }, { "name": "YouTube", "url": "https://www.youtube.com/@OceanHackWeek/playlists", @@ -152,6 +152,27 @@ nb_custom_formats = {".Rmd": ["jupytext.reads", {"fmt": "Rmd"}]} +# configing link checking +linkcheck_ignore = [ + r"https://hub-binder.mybinder.ovh.*", + r"https://www.vanderbilt.edu/datascience/data-science-team/", + r"https://www.maren.cure.edu.uy/wp-content/uploads/2014/08/angel.jpg", + r"https://www.agu.org/Ocean-Sciences-Meeting", # Works, but blocking linkcheck + r"https://udelar.edu.uy/directorio/lugares/centro-universitario-regional-del-este-cure-sede-rocha-1/", # Cert issue + r"https://oceanhackweek.2i2c.cloud.*", # Old 2i2c hub + r"https://linuxize.com/post/how-to-use-nano-text-editor/", # Works, but blocking linkcheck + r"https://imos.org.au/fileadmin/_processed_/b/c/csm_DSC_8209_f513b959ad.jpg", + r"https://doi.org/10.1073/pnas.1717196115", # Works, but blocking linkcheck + r"https://jamboard.google.com/.*", # Jamboard is shut down + +] +linkcheck_exclude_documents = [ + r".pixi/.*" +] +linkcheck_anchors_ignore_for_url = [ + r"https://github.com/oceanhackweek/ohw-tutorials/.*", # Not finding all anchors on Github + r"https://docs.google.com/presentation/.*", # Google slides anchors are too dynamic +] def setup(app): app.add_css_file("custom.css") diff --git a/ohw23/applicants.md b/ohw23/applicants.md index b95c22d1..5856f6e5 100644 --- a/ohw23/applicants.md +++ b/ohw23/applicants.md @@ -54,7 +54,7 @@ if they are willing to get up-to-date on the expected basic skills before the pr Participants should familiarize themselves with the materials included in [Python novice gapminder](https://swcarpentry.github.io/python-novice-gapminder/) and [Python novice inflammation](https://swcarpentry.github.io/python-novice-inflammation/) for a Python focus, or [R novice gapminder](http://swcarpentry.github.io/r-novice-gapminder/) for an R focus. These are a good reflection of the level we expect participants to be at coming into the workshop. -We also encourage participants to explore more advanced topics before the hackweek. For Python, we suggest looking at one of these resources: [Pythia Foundations](https://foundations.projectpythia.org/landing-page.html), [An Introduction to Earth and Environmental Data Science](https://earth-env-data-science.github.io/intro), and [Data Carpentry - Python for Atmosphere and Ocean Scientists](https://carpentries-lab.github.io/python-aos-lesson/) +We also encourage participants to explore more advanced topics before the hackweek. For Python, we suggest looking at one of these resources: [Pythia Foundations](https://foundations.projectpythia.org/), [An Introduction to Earth and Environmental Data Science](https://earth-env-data-science.github.io/intro), and [Data Carpentry - Python for Atmosphere and Ocean Scientists](https://carpentries-lab.github.io/python-aos-lesson/) ### Q: I don't know the first thing about version revision/control systems. Can I still apply? diff --git a/ohw23/projects/projects_thisyear.md b/ohw23/projects/projects_thisyear.md index 44f7a4a1..ece82fe4 100644 --- a/ohw23/projects/projects_thisyear.md +++ b/ohw23/projects/projects_thisyear.md @@ -53,7 +53,7 @@ Projects from OceanHackWeek 2023. - Project members: Jiarui Yu, Paula Birocchi, Boris Shapkin, Alex Slonimer, Dafrosa Kataraihya, Hao Tang, Danyang Li, Chandrama Sarker, Zhengxi Zhou - GitHub repository: [https://github.com/oceanhackweek/ohw23_proj_sst](https://github.com/oceanhackweek/ohw23_proj_sst) - Presentation recordings: [Seattle + Virtual](https://youtu.be/ySfmD5JNVxo) and [Australia](https://youtu.be/j4C2Y5GurQU?list=PLVH-j9gOscWmTQNctTx07pf97BRuUxCBX&t=1090) -- [Presentation Slide](https://docs.google.com/presentation/d/1uUAIsuj9bxOFMVeIG_h5Bs-ZGDrRodldlz2FHfj4TbE/edit#slide=id.p) + diff --git a/pixi.toml b/pixi.toml index 7e35df3e..989ac244 100644 --- a/pixi.toml +++ b/pixi.toml @@ -10,7 +10,7 @@ platforms = ["osx-arm64", "osx-64", "linux-64", "linux-aarch64", "win-64"] live = "make live" clean = "make clean" html = "make html" -linkcheck = "make html linkcheck" +linkcheck = "make linkcheck" [dependencies] python = ">=3.8,<3.9" diff --git a/resources/index.md b/resources/index.md.disabled similarity index 100% rename from resources/index.md rename to resources/index.md.disabled diff --git a/resources/prep/conda.md b/resources/prep/conda.md index 1a624c7c..b2971a79 100644 --- a/resources/prep/conda.md +++ b/resources/prep/conda.md @@ -21,7 +21,7 @@ The JupyterHub has both a pre-configured base environment, and environments that The Conda environment for the base JupyterHub environments are defined in [oceanhackweek/jupyter-image](https://github.com/oceanhackweek/jupyter-image/). These image contains hopefully everything you will need for the tutorials and for general exploration. -The `environment.yml` files ([Python](https://github.com/oceanhackweek/jupyter-image/blob/main/py-base/environment.yml), [R](https://github.com/oceanhackweek/jupyter-image/blob/main/r/environment.yml)) captures the current state of the OceanHackWeek environment. You can explore these files to see what packages we have selected to come in the base environment. +The `environment.yml` files ([Python](https://github.com/oceanhackweek/jupyter-image/blob/main/py-base/pixi.toml), [R](https://github.com/oceanhackweek/jupyter-image/blob/main/r/environment.yml)) captures the current state of the OceanHackWeek environment. You can explore these files to see what packages we have selected to come in the base environment. ```yaml # environment.yml diff --git a/resources/prep/git.md b/resources/prep/git.md index 059a16d1..b8f52bc6 100644 --- a/resources/prep/git.md +++ b/resources/prep/git.md @@ -248,11 +248,11 @@ Git and GitHub are very powerful tools but no doubt the learning curve is steep. * OHW20 tutorial: Git/GitHub Survival Guide presentation. [pdf](https://raw.githubusercontent.com/oceanhackweek/ohw-preweek/master/git-github-survival-guide/Git-GitHub-survival-guide.pdf) and [video](https://youtu.be/7nYFRixSV2c) * OHW19 tutorial: Git, GitHub, and Project Collaboration. [presentation files](https://github.com/oceanhackweek/ohw19-tutorial-github) and [video](https://www.youtube.com/watch?v=wWKDp4Uw25A&list=PLA6PlfxWZPLTPQ_OIr3dDPF9FRiHQXoVF&index=14&t=0s). This tutorial is the source of most of the materials for this Git page. * [git-novice - Software Carpentry Lesson](http://swcarpentry.github.io/git-novice/) (3 hours with exercises) -* [Setting Up Git - Software Carpentry Lesson](https://swcarpentry.github.io/git-novice/02-setup/index.html) +* [Setting Up Git - Software Carpentry Lesson](https://swcarpentry.github.io/git-novice/02-setup.html) * [Atlassian Tutorials - Version Control](https://www.atlassian.com/git/tutorials/what-is-version-control) * An excellent guide to the Forking Git Workflow: [Step-by-step guide to contributing on GitHub](https://www.dataschool.io/how-to-contribute-on-github/) * [What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) (3:45 min) -* [GitHub Learning Lab](https://lab.github.com/): practice with a bot! (On your own pace) +* [GitHub Skills](https://skills.github.com/): practice with a bot! (On your own pace) * [An interactive Git Tutorial: the tool you didn’t know you needed. From personal workflows to open collaboration](https://berkeley-stat159-f17.github.io/stat159-f17/lectures/01-git/Git-Tutorial..html) * [GeoHackWeek 2019 tutorial: Getting started with Git](https://geohackweek.github.io/Introductory/03-git-tutorial/) * [ICESAT-2HackWeek intro-jupyter-git repo](https://github.com/ICESAT-2HackWeek/intro-jupyter-git), with several notebooks going into a lot of detail. diff --git a/resources/prep/jupyterhub.md b/resources/prep/jupyterhub.md index 1ecf30db..63e47b21 100644 --- a/resources/prep/jupyterhub.md +++ b/resources/prep/jupyterhub.md @@ -68,13 +68,13 @@ The nbgitpuller link is magical, but it can't detect which profile you are curre ``` -Nbgitpuller is nice, because it will automatically merge any changes you make with the changes from the upstream repo on subsequent pulls (i.e., when you click the links above again) via a [series of sane rules](https://jupyterhub.github.io/nbgitpuller/topic/automatic-merging.html#topic-automatic-merging). +Nbgitpuller is nice, because it will automatically merge any changes you make with the changes from the upstream repo on subsequent pulls (i.e., when you click the links above again) via a [series of sane rules](https://nbgitpuller.readthedocs.io/en/latest/topic/automatic-merging.html). You can accomplish the same results as nbgitpuller when using `git` directly, but it can take a complicated dance of `git add`, `git stash`, `git pull`, and `git stash apply` to keep your changes and get the changes from upstream. ```{warning} -If you start by using the `nbgitpuller` link and then switch to using git directly, or if you already have a copy of the repository in your account from a previous OHW, using the `nbgitpuller` link again will most likely lead to [unpredictable results](https://jupyterhub.github.io/nbgitpuller/#when-to-use-nbgitpuller). +If you start by using the `nbgitpuller` link and then switch to using git directly, or if you already have a copy of the repository in your account from a previous OHW, using the `nbgitpuller` link again will most likely lead to [unpredictable results](https://nbgitpuller.readthedocs.io/en/latest/#when-to-use-nbgitpuller). This can be fixed by [removing, renaming, or moving the `ohw-tutorials` directory](https://imgs.xkcd.com/comics/git.png) and using nbgitpuller again. ```