diff --git a/README.md b/README.md index 367af0320..9a1b6f326 100644 --- a/README.md +++ b/README.md @@ -7,128 +7,21 @@ It is built from the [academic hugo theme](https://github.com/HugoBlox). This website is **hosted** by GitHub Pages, and we use Netlify to display previews of the website from PRs. -## How to create a new blog post - -Copy the blog post folder template at the path below: - -``` -content/blog/_template-post -``` - -It contains an `index.md` file that you can modify. Put it in the folder for the year in which you're posting (e.g.: `content/blog/2025/mypostfolder`). - ## How to edit, build, and preview this website See [the Team Compass blog documentation](https://compass.2i2c.org/communication/blog/) for more information. -## Website-specific features - -### Add a Feedback button to a page or post - -Use the `{{< feedback >}}` short-code to add a button that provides a feedback link for the current page. See more information in [our feedback process docs](https://docs.google.com/document/d/1bH5fN2lXcZ-vjQ4Pb4lfaeQbmoCBkN1QYjA7ZaxkmsY/edit?tab=t.dxyyjksnpswv#heading=h.kh8meot2eulc). - -### Automatic GitHub link shortening - -This theme will automatically shorten GitHub links and add a little GitHub icon to the front. For example, see the [Jack Eddy Symposium blog post](https://2i2c.org/blog/2022/eddy-symposium-report/). - -### How to add an external blog post - -We can link to blog posts that were written by the 2i2c team but published in other locations. These show up in our blog roll but are just pointers to other websites. - -To add an external blog post to our blog, create a blog post with an `external_link:` metadata field like, and a body that _summarizes_ the post. For example: - -``` ---- -title: "An external post title" -date: 2025-03-03 -external_link: https://your-post-url.org -tags: - - upstream - - open source -categories: - - impact ---- - -This content will be displayed as a summary of the post in the blog landing page. -``` - -Note that all other metadata fields are the same as any other blog post. -See [this blog post as an example](content/blog/2025/binder-buildkit/index.md). - -### Broken link checking - -We have [a GitHub workflow to check for broken links](.github/workflows/linkcheck.yml). -This runs each week and will open an issue if it finds any broken links. - -### Force a website re-build +## Blogging -To force a website re-build, [trigger a `workflow dispatch` here](https://github.com/2i2c-org/2i2c-org.github.io/actions/workflows/linkcheck.yml). +See `contribute/blog.md`. +## Website-specific features -### Social media preview images - -For text-based pages, we generate social media previews by automatically adding page title text to an image template. -The template is defined [in this Figma board](https://www.figma.com/file/EYFRCag2gfYGdEZGFrXgzv/2i2c-Logos?node-id=1101%3A2&t=KjO3JB6Jx4dRnGfa-0) and we use Hugo image filters to add text to it. -See [the hugo partial template we use](layouts/partials/ogimage.html) for details and links. - -The Featured Image will also be used to generate previews in social media. -You can generate an image designed specifically for social media (similar to GitHub social media link previes). -To do so, follow these steps: - -1. Go to [this Figma project for a template](https://www.figma.com/file/EYFRCag2gfYGdEZGFrXgzv/2i2c-Logos?node-id=117%3A67). -2. Find the "Twitter Summary Community Update" frame. -3. Update the text to match the title of what you'd like to post. -4. Export the frame to PNG (at `1x` size). -5. Place the PNG in the same folder as the relevant website page. -6. Rename the image so that it is "featured" for that page (see above) -7. Prevent the image from showing up on the page by adding the following to that page's YAML metadata: - - ```yaml - image: - preview_only: true - ``` - -The image will now be used to generate a social media preview! - -### Check the spelling of any pages - -This repository is configured with [the pyspelling package](https://facelessuser.github.io/pyspelling/). It will analyze all of the markdown files in `content/` and tell you if there are any un-recognized words. - -To use `pyspelling`, first install it: - -``` -pip install pyspelling -``` - -Then install the `aspell` package: - -``` -sudo apt-get install aspell -``` - -Finally, you can run `pyspelling` on the repository like so: - -``` -pyspelling -``` - -Note that pyspelling may find some errors that are simply un-recognized, but correct, words. For example, HTML elements. To make these errors pass, you can add them to the list of custom spelling words here: - -`.custom-dictionary.txt`. - -For more information, see [the `pyspelling` documentation](https://facelessuser.github.io/pyspelling/). - -## Add a job post +See `contribute/features.md`. -We have some custom Hugo templates created for posting new jobs and a summary of open jobs. +## Job postings -- The `content/jobs/` folder contains all content related to job postings and an overview of working at 2i2c. -- The `/jobs/_index.md` file is a "landing page" for our jobs (what is at 2i2c.org/jobs). - - It contains a custom Hugo shortcode defined at `layouts/shortcodes/open_jobs.html` that will list all jobs in the `jobs/` folder that have `open: true` in the page metadata. -- Every other page in `/jobs/` is a job posting. The YAML metadata at the top contains several important pieces of information for the job, and is used to populate job posting cards. - - Use previous job postings as a reference for the information that should be used. - - To mark a job as "open", make sure to put `open: true` in the posting metadata. - - There's also a special shortcode to display relevant job metadata for a posting. This is at `layouts/shortcodes/job_details.html`. +See `contribute/jobs.md`. ## This website's theme diff --git a/assets/scss/base/_typography.scss b/assets/scss/base/_typography.scss index 2b6e44bbb..6ba3ddcad 100644 --- a/assets/scss/base/_typography.scss +++ b/assets/scss/base/_typography.scss @@ -31,6 +31,7 @@ div.article-container, div.page-body { transition: all .2s ease-out; text-decoration: none; font-weight: 500; + user-select: none; } &:hover a.header-anchor { diff --git a/content/blog/2021/css-announce/index.md b/content/blog/2021/css-announce/index.md index d79634421..69426d4b8 100644 --- a/content/blog/2021/css-announce/index.md +++ b/content/blog/2021/css-announce/index.md @@ -6,7 +6,7 @@ authors: - Chris Holdgraf - Danielle Robinson tags: - - governance + - sustainability categories: - organization date: 2021-09-30 diff --git a/content/blog/2021/czi-core-support/index.md b/content/blog/2021/czi-core-support/index.md index 45badce0f..98c7ea613 100644 --- a/content/blog/2021/czi-core-support/index.md +++ b/content/blog/2021/czi-core-support/index.md @@ -5,7 +5,7 @@ summary: "" authors: - Chris Holdgraf tags: - - funding + - sustainability categories: - organization date: 2020-11-19 diff --git a/content/blog/2021/data8-class/index.md b/content/blog/2021/data8-class/index.md index 56e363608..082bb13f5 100644 --- a/content/blog/2021/data8-class/index.md +++ b/content/blog/2021/data8-class/index.md @@ -6,7 +6,7 @@ authors: tags: - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2021/hello-world/index.md b/content/blog/2021/hello-world/index.md index 57c8ec0cf..2e0bf08c5 100644 --- a/content/blog/2021/hello-world/index.md +++ b/content/blog/2021/hello-world/index.md @@ -5,7 +5,7 @@ summary: "" authors: - Chris Holdgraf tags: - - meta + - report categories: - organization date: 2020-11-10 diff --git a/content/blog/2021/pangeo-goes-live/index.md b/content/blog/2021/pangeo-goes-live/index.md index be80ab1d0..4489c9b7e 100644 --- a/content/blog/2021/pangeo-goes-live/index.md +++ b/content/blog/2021/pangeo-goes-live/index.md @@ -5,9 +5,9 @@ summary: "2i2c are pleased to announce that the first Pangeo JupyterHub is now l authors: - Sarah Gibson tags: - - geoscience + - earth-science categories: - - impact + - community-impact date: 2021-11-16 featured: false draft: false diff --git a/content/blog/2022/ci-cd-improvements/index.md b/content/blog/2022/ci-cd-improvements/index.md index 4610a5d04..5cac4ee9f 100644 --- a/content/blog/2022/ci-cd-improvements/index.md +++ b/content/blog/2022/ci-cd-improvements/index.md @@ -5,9 +5,10 @@ summary: "" authors: - Sarah Gibson tags: - - cloud + - devops + - reliability categories: - - service + - service-enhancements date: 2022-04-19 featured: false draft: false diff --git a/content/blog/2022/czi-global-communities-announcement/index.md b/content/blog/2022/czi-global-communities-announcement/index.md index 0ffe8ba68..034abe760 100644 --- a/content/blog/2022/czi-global-communities-announcement/index.md +++ b/content/blog/2022/czi-global-communities-announcement/index.md @@ -5,9 +5,9 @@ summary: "" authors: - Chris Holdgraf tags: - - bioscience + - biology categories: - - impact + - community-impact date: 2022-12-20 featured: false draft: false diff --git a/content/blog/2022/czi-global-communities-proposal/index.md b/content/blog/2022/czi-global-communities-proposal/index.md index 6aceb7847..a9b48de9d 100644 --- a/content/blog/2022/czi-global-communities-proposal/index.md +++ b/content/blog/2022/czi-global-communities-proposal/index.md @@ -5,7 +5,7 @@ summary: "" authors: - Chris Holdgraf tags: - - bioscience + - biology categories: - organization date: 2022-08-28 diff --git a/content/blog/2022/czi-year2-progress-report/index.md b/content/blog/2022/czi-year2-progress-report/index.md index 733bad7b7..bf3b1b944 100644 --- a/content/blog/2022/czi-year2-progress-report/index.md +++ b/content/blog/2022/czi-year2-progress-report/index.md @@ -5,7 +5,7 @@ summary: "" authors: - Chris Holdgraf tags: - - bioscience + - biology categories: - organization date: 2022-11-13 diff --git a/content/blog/2022/eddy-symposium-report/index.md b/content/blog/2022/eddy-symposium-report/index.md index 3c9d41fff..726f2c6aa 100644 --- a/content/blog/2022/eddy-symposium-report/index.md +++ b/content/blog/2022/eddy-symposium-report/index.md @@ -5,9 +5,9 @@ summary: "" authors: - James Colliander tags: - - geoscience + - earth-science categories: - - impact + - community-impact date: 2022-07-14 featured: false draft: false diff --git a/content/blog/2022/external-openscapes-corn/index.md b/content/blog/2022/external-openscapes-corn/index.md index 542a639b3..683966a42 100644 --- a/content/blog/2022/external-openscapes-corn/index.md +++ b/content/blog/2022/external-openscapes-corn/index.md @@ -2,10 +2,10 @@ title: "The why, what, and how of our NASA Openscapes cloud infrastructure: 2i2c JupyterHub and corn environment" date: 2022-11-17 tags: - - geoscience - - open source + - earth-science + - open-source categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2022/gesis-2i2c-collaboration-update/index.md b/content/blog/2022/gesis-2i2c-collaboration-update/index.md index 6c3473921..5ca0c0f0b 100644 --- a/content/blog/2022/gesis-2i2c-collaboration-update/index.md +++ b/content/blog/2022/gesis-2i2c-collaboration-update/index.md @@ -7,9 +7,9 @@ authors: - Arnim Bleier - Chris Holdgraf tags: - - open source + - open-source categories: - - impact + - upstream-impact date: 2022-11-28 featured: false draft: false diff --git a/content/blog/2023/2022-year-in-review/index.md b/content/blog/2023/2022-year-in-review/index.md index b84b5d816..9027c510d 100644 --- a/content/blog/2023/2022-year-in-review/index.md +++ b/content/blog/2023/2022-year-in-review/index.md @@ -5,7 +5,7 @@ summary: "" authors: - Chris Holdgraf tags: - - year-in-review + - report categories: - organization date: 2023-01-04 diff --git a/content/blog/2023/cilogon-integration/index.md b/content/blog/2023/cilogon-integration/index.md index c0960c505..e6e014a55 100644 --- a/content/blog/2023/cilogon-integration/index.md +++ b/content/blog/2023/cilogon-integration/index.md @@ -5,9 +5,9 @@ summary: The following is a summary of how CILogon is used at 2i2c, how the inte authors: - Georgiana Dolocan tags: - - open source + - open-source categories: - - service + - service-enhancements date: 2023-02-24 featured: false draft: false diff --git a/content/blog/2023/docker-stacks-support/index.md b/content/blog/2023/docker-stacks-support/index.md index 025b4aff2..eacdced86 100644 --- a/content/blog/2023/docker-stacks-support/index.md +++ b/content/blog/2023/docker-stacks-support/index.md @@ -5,9 +5,9 @@ authors: - Chris Holdgraf - Yuvi Panda tags: - - open source + - open-source categories: - - impact + - upstream-impact featured: false draft: false --- diff --git a/content/blog/2023/external-jupyter-georgiana-mentor/index.md b/content/blog/2023/external-jupyter-georgiana-mentor/index.md index df1e273ee..06f1e2c91 100644 --- a/content/blog/2023/external-jupyter-georgiana-mentor/index.md +++ b/content/blog/2023/external-jupyter-georgiana-mentor/index.md @@ -5,9 +5,9 @@ summary: "" authors: - Georgiana Dolocan tags: - - open source + - open-source categories: - - impact + - upstream-impact date: 2023-06-30 featured: false draft: false diff --git a/content/blog/2023/external-unitefa-catalyst/index.md b/content/blog/2023/external-unitefa-catalyst/index.md index 621a8fb28..b98f8b791 100644 --- a/content/blog/2023/external-unitefa-catalyst/index.md +++ b/content/blog/2023/external-unitefa-catalyst/index.md @@ -2,10 +2,10 @@ title: UNITEFA forms the first community of the Catalyst Project at UNC, through the CCAD (in Spanish) date: 2023-10-23 tags: - - bioscience + - biology - education categories: - - impact + - community-impact featured: false draft: false external_link: https://ccad.unc.edu.ar/2023/10/23/unitefa-conforma-la-primera-comunidad-del-proyecto-catalyst-en-la-unc-a-traves-del-ccad/ diff --git a/content/blog/2023/open-source-funding-principles/index.md b/content/blog/2023/open-source-funding-principles/index.md index c2a49d511..6ab61c646 100644 --- a/content/blog/2023/open-source-funding-principles/index.md +++ b/content/blog/2023/open-source-funding-principles/index.md @@ -5,10 +5,8 @@ summary: "" authors: - Chris Holdgraf tags: - - funding - - community - - open culture - sustainability + - community categories: - organization date: 2023-01-08 diff --git a/content/blog/2023/qgis-greenland/index.md b/content/blog/2023/qgis-greenland/index.md index bb157302a..51d34a08a 100644 --- a/content/blog/2023/qgis-greenland/index.md +++ b/content/blog/2023/qgis-greenland/index.md @@ -5,10 +5,10 @@ authors: - Yuvi Panda - Jenny Wong tags: - - geoscience - - open source + - earth-science + - open-source categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2023/us-ghg-center-launches/index.md b/content/blog/2023/us-ghg-center-launches/index.md index e2fccbf84..4e7ed4b8e 100644 --- a/content/blog/2023/us-ghg-center-launches/index.md +++ b/content/blog/2023/us-ghg-center-launches/index.md @@ -5,9 +5,9 @@ summary: "" authors: - James Colliander tags: - - geoscience + - earth-science categories: - - impact + - community-impact date: 2023-12-05 featured: false draft: false diff --git a/content/blog/2024/agu/index.md b/content/blog/2024/agu/index.md index 7042674a3..9a500f915 100644 --- a/content/blog/2024/agu/index.md +++ b/content/blog/2024/agu/index.md @@ -2,10 +2,10 @@ title: 2i2c communities at AGU 2024 date: 2024-12-09 tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact authors: - Chris Holdgraf --- diff --git a/content/blog/2024/amerigeo-workshop/index.md b/content/blog/2024/amerigeo-workshop/index.md index e57f7a517..6bfc81918 100644 --- a/content/blog/2024/amerigeo-workshop/index.md +++ b/content/blog/2024/amerigeo-workshop/index.md @@ -4,10 +4,10 @@ date: 2024-08-05 authors: - James Munroe, Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/aws-cost-attribution/index.md b/content/blog/2024/aws-cost-attribution/index.md index f51006ba8..772ed63a9 100644 --- a/content/blog/2024/aws-cost-attribution/index.md +++ b/content/blog/2024/aws-cost-attribution/index.md @@ -6,7 +6,7 @@ authors: tags: - monitoring categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2024/catalyst-partner-highlights/index.md b/content/blog/2024/catalyst-partner-highlights/index.md index dab6d7073..b18a6fd9a 100644 --- a/content/blog/2024/catalyst-partner-highlights/index.md +++ b/content/blog/2024/catalyst-partner-highlights/index.md @@ -4,9 +4,9 @@ date: 2024-10-31 authors: - Jenny Wong tags: - - bioscience + - biology categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/climaterisk-scipy-tutorial/index.md b/content/blog/2024/climaterisk-scipy-tutorial/index.md index ae0a24c6a..238e3b12b 100644 --- a/content/blog/2024/climaterisk-scipy-tutorial/index.md +++ b/content/blog/2024/climaterisk-scipy-tutorial/index.md @@ -4,10 +4,10 @@ date: 2024-07-08 authors: - Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/cve-jupyter-server-proxy/index.md b/content/blog/2024/cve-jupyter-server-proxy/index.md index 81a8361ba..23ffb3275 100644 --- a/content/blog/2024/cve-jupyter-server-proxy/index.md +++ b/content/blog/2024/cve-jupyter-server-proxy/index.md @@ -5,10 +5,10 @@ summary: "" authors: - Chris Holdgraf tags: - - open source + - open-source - security categories: - - service + - service-enhancements date: 2024-03-19 lastmod: 2024-03-19 featured: false diff --git a/content/blog/2024/deeplabcut-myst-hackathon/index.md b/content/blog/2024/deeplabcut-myst-hackathon/index.md index 1f86e6295..e06f99f83 100644 --- a/content/blog/2024/deeplabcut-myst-hackathon/index.md +++ b/content/blog/2024/deeplabcut-myst-hackathon/index.md @@ -6,10 +6,10 @@ authors: - Angus Hollands - Chris Holdgraf tags: - - bioscience - - open source + - biology + - open-source categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/dei-leadership-strategy/index.md b/content/blog/2024/dei-leadership-strategy/index.md index 76ce71e6d..b3daf5add 100644 --- a/content/blog/2024/dei-leadership-strategy/index.md +++ b/content/blog/2024/dei-leadership-strategy/index.md @@ -5,7 +5,7 @@ authors: - Chris Holdgraf - Jenny Wong tags: - - culture + - community categories: - organization featured: false diff --git a/content/blog/2024/delivery-improvements/index.md b/content/blog/2024/delivery-improvements/index.md index 489d85d90..23afca989 100644 --- a/content/blog/2024/delivery-improvements/index.md +++ b/content/blog/2024/delivery-improvements/index.md @@ -6,7 +6,7 @@ authors: - Chris Holdgraf - Harold Campbell tags: - - culture + - community categories: - organization featured: false diff --git a/content/blog/2024/external-earthscope-pancakes/index.md b/content/blog/2024/external-earthscope-pancakes/index.md index 43a1db25f..0b5e0c605 100644 --- a/content/blog/2024/external-earthscope-pancakes/index.md +++ b/content/blog/2024/external-earthscope-pancakes/index.md @@ -2,9 +2,9 @@ title: From the GeoLab team - Pancakes are the future of geophysical data processing date: 2024-10-01 tags: - - geoscience + - earth-science categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/external-hub-champion-training-es/index.md b/content/blog/2024/external-hub-champion-training-es/index.md index f96cc2e37..dfc90d61d 100644 --- a/content/blog/2024/external-hub-champion-training-es/index.md +++ b/content/blog/2024/external-hub-champion-training-es/index.md @@ -2,9 +2,9 @@ title: Reflexiones sobre la formación de Campeones y Campeonas del Hub (Español) date: 2024-09-04 tags: - - bioscience + - biology categories: - - impact + - community-impact featured: false draft: false external_link: https://catalystproject.cloud/blog/2024-08-23-reflexiones-sobre-la-formacion-de-campeones-y-campeonas-del-hub.html diff --git a/content/blog/2024/external-hub-champion-training/index.md b/content/blog/2024/external-hub-champion-training/index.md index 8baae1105..211c2e245 100644 --- a/content/blog/2024/external-hub-champion-training/index.md +++ b/content/blog/2024/external-hub-champion-training/index.md @@ -2,9 +2,9 @@ title: Hub Champion Training Reflections (English) date: 2024-09-04 tags: - - bioscience + - biology categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/external-openscapes-whitehouse/index.md b/content/blog/2024/external-openscapes-whitehouse/index.md index a7f94cdfb..6a01731a3 100644 --- a/content/blog/2024/external-openscapes-whitehouse/index.md +++ b/content/blog/2024/external-openscapes-whitehouse/index.md @@ -2,9 +2,9 @@ title: Openscapes goes to the White House! date: 2024-09-23 tags: - - open source + - open-source categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/frx/index.md b/content/blog/2024/frx/index.md index 7fb9f2c0f..76b11ea84 100644 --- a/content/blog/2024/frx/index.md +++ b/content/blog/2024/frx/index.md @@ -2,9 +2,9 @@ title: "`frx-challenges`: A new tool to host data challenges for Frictionless Research Exchanges" date: 2024-12-06 tags: - - open source + - open-source categories: - - service + - service-enhancements authors: - Chris Holdgraf - Yuvi Panda diff --git a/content/blog/2024/funding-community-networks/index.md b/content/blog/2024/funding-community-networks/index.md index eb508573c..35c45d6b4 100644 --- a/content/blog/2024/funding-community-networks/index.md +++ b/content/blog/2024/funding-community-networks/index.md @@ -6,7 +6,7 @@ authors: - Chris Holdgraf tags: - sustainability - - funding + - sustainability categories: - organization featured: false diff --git a/content/blog/2024/funding-czi/index.md b/content/blog/2024/funding-czi/index.md index 9ffde3aff..1de4a83f7 100644 --- a/content/blog/2024/funding-czi/index.md +++ b/content/blog/2024/funding-czi/index.md @@ -4,7 +4,7 @@ date: 2024-10-13 authors: - Chris Holdgraf tags: - - funding + - sustainability categories: - organization featured: false diff --git a/content/blog/2024/funding-navigation/index.md b/content/blog/2024/funding-navigation/index.md index e57fad537..1909dfe1c 100644 --- a/content/blog/2024/funding-navigation/index.md +++ b/content/blog/2024/funding-navigation/index.md @@ -4,7 +4,7 @@ date: 2024-12-08 authors: - Chris Holdgraf tags: - - funding + - sustainability categories: - organization image: diff --git a/content/blog/2024/ghg-summer-school/index.md b/content/blog/2024/ghg-summer-school/index.md index 6474ad5f3..acd859559 100644 --- a/content/blog/2024/ghg-summer-school/index.md +++ b/content/blog/2024/ghg-summer-school/index.md @@ -4,10 +4,10 @@ date: 2024-06-20 authors: - Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/hhmi-spyglass-mysql/index.md b/content/blog/2024/hhmi-spyglass-mysql/index.md index 04705fc91..9eb8223e3 100644 --- a/content/blog/2024/hhmi-spyglass-mysql/index.md +++ b/content/blog/2024/hhmi-spyglass-mysql/index.md @@ -6,10 +6,10 @@ authors: - James Munroe - Jenny Wong tags: - - bioscience - - open source + - biology + - open-source categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/hhmi-spyglass/index.md b/content/blog/2024/hhmi-spyglass/index.md index 6b03071de..d3679b197 100644 --- a/content/blog/2024/hhmi-spyglass/index.md +++ b/content/blog/2024/hhmi-spyglass/index.md @@ -4,9 +4,9 @@ date: 2024-05-21 authors: - Jenny Wong tags: - - bioscience + - biology categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/jupyter-book-2/index.md b/content/blog/2024/jupyter-book-2/index.md index bc425c055..5eb97fc2d 100644 --- a/content/blog/2024/jupyter-book-2/index.md +++ b/content/blog/2024/jupyter-book-2/index.md @@ -4,9 +4,9 @@ date: 2024-11-18 authors: - Jenny Wong tags: - - open source + - open-source categories: - - impact + - upstream-impact featured: false draft: false --- diff --git a/content/blog/2024/jupyterhub-binderhub-gesis/index.md b/content/blog/2024/jupyterhub-binderhub-gesis/index.md index b0033d7c1..0de5869bc 100644 --- a/content/blog/2024/jupyterhub-binderhub-gesis/index.md +++ b/content/blog/2024/jupyterhub-binderhub-gesis/index.md @@ -6,9 +6,9 @@ authors: - Yuvi Panda tags: - jupyterhub - - open source + - open-source categories: - - service + - service-enhancements date: 2024-01-03T16:56:14-08:00 lastmod: 2024-01-12T12:11:55-08:00 featured: false diff --git a/content/blog/2024/jupyterhub-fancy-profiles-rollout/index.md b/content/blog/2024/jupyterhub-fancy-profiles-rollout/index.md index 857fc13fc..187fa1d9d 100644 --- a/content/blog/2024/jupyterhub-fancy-profiles-rollout/index.md +++ b/content/blog/2024/jupyterhub-fancy-profiles-rollout/index.md @@ -6,9 +6,9 @@ authors: - Yuvi Panda tags: - jupyterhub - - open source + - open-source categories: - - service + - service-enhancements date: 2024-11-18T12:55:20-0800 lastmod: 2024-11-18T12:55:20-0800 featured: false diff --git a/content/blog/2024/leap-pangeo-paper/index.md b/content/blog/2024/leap-pangeo-paper/index.md index 467dcd903..fcb74a26e 100644 --- a/content/blog/2024/leap-pangeo-paper/index.md +++ b/content/blog/2024/leap-pangeo-paper/index.md @@ -4,10 +4,10 @@ date: 2024-05-21 authors: - Jenny Wong tags: - - geoscience + - earth-science - community categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/myst-jupyter-book/index.md b/content/blog/2024/myst-jupyter-book/index.md index b22a47ba3..d2dc3c5c2 100644 --- a/content/blog/2024/myst-jupyter-book/index.md +++ b/content/blog/2024/myst-jupyter-book/index.md @@ -7,10 +7,10 @@ authors: - Chris Holdgraf - Rowan Cockett tags: - - open source - - Jupyter Book + - open-source + - jupyterbook categories: - - impact + - upstream-impact featured: false draft: false --- diff --git a/content/blog/2024/nasa-ephemeral-hubs/index.md b/content/blog/2024/nasa-ephemeral-hubs/index.md index 864ab6873..2b6fb5068 100644 --- a/content/blog/2024/nasa-ephemeral-hubs/index.md +++ b/content/blog/2024/nasa-ephemeral-hubs/index.md @@ -4,10 +4,10 @@ date: 2024-06-27 authors: - Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/neurohackademy-summer-school-reflections/index.md b/content/blog/2024/neurohackademy-summer-school-reflections/index.md index 90da6ed46..2d2514242 100644 --- a/content/blog/2024/neurohackademy-summer-school-reflections/index.md +++ b/content/blog/2024/neurohackademy-summer-school-reflections/index.md @@ -6,10 +6,10 @@ authors: - Noah Benson - Jenny Wong tags: - - bioscience + - biology - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/neurohackademy-summer-school/index.md b/content/blog/2024/neurohackademy-summer-school/index.md index b13604bd6..84e3622cb 100644 --- a/content/blog/2024/neurohackademy-summer-school/index.md +++ b/content/blog/2024/neurohackademy-summer-school/index.md @@ -4,10 +4,10 @@ date: 2024-06-21 authors: - Jenny Wong tags: - - bioscience + - biology - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/openscapes-sbg-workshop/index.md b/content/blog/2024/openscapes-sbg-workshop/index.md index 73c40f52f..4aa090b35 100644 --- a/content/blog/2024/openscapes-sbg-workshop/index.md +++ b/content/blog/2024/openscapes-sbg-workshop/index.md @@ -5,10 +5,10 @@ authors: - Yuvi Panda - Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/pace-hackweek/index.md b/content/blog/2024/pace-hackweek/index.md index 51f4aae42..4dabf6168 100644 --- a/content/blog/2024/pace-hackweek/index.md +++ b/content/blog/2024/pace-hackweek/index.md @@ -4,10 +4,10 @@ date: 2024-08-12 authors: - Jenny Wong tags: - - geoscience + - earth-science - education categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/project-pythia-cookoff/index.md b/content/blog/2024/project-pythia-cookoff/index.md index 36cc9f3ea..8d4afce4c 100644 --- a/content/blog/2024/project-pythia-cookoff/index.md +++ b/content/blog/2024/project-pythia-cookoff/index.md @@ -6,11 +6,11 @@ authors: - James Munroe - Angus Hollands tags: - - open source - - Jupyter Book - - geospatial + - open-source + - jupyterbook + - earth-science categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2024/utoronto-storage-monitoring/index.md b/content/blog/2024/utoronto-storage-monitoring/index.md index b687799f3..dc8e7c638 100644 --- a/content/blog/2024/utoronto-storage-monitoring/index.md +++ b/content/blog/2024/utoronto-storage-monitoring/index.md @@ -6,7 +6,7 @@ authors: tags: - education categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2024/value-proposition/index.md b/content/blog/2024/value-proposition/index.md index d7388336a..a18ff7c1b 100644 --- a/content/blog/2024/value-proposition/index.md +++ b/content/blog/2024/value-proposition/index.md @@ -5,7 +5,7 @@ lastmod: 2024-05-06 authors: - Chris Holdgraf tags: - - product + - leadership categories: - organization featured: false diff --git a/content/blog/2024/veda-devseed-collab/index.md b/content/blog/2024/veda-devseed-collab/index.md index 4fa4e21df..5396d06b4 100644 --- a/content/blog/2024/veda-devseed-collab/index.md +++ b/content/blog/2024/veda-devseed-collab/index.md @@ -5,10 +5,10 @@ authors: - Yuvi Panda - Jenny Wong tags: - - geoscience - - open source + - earth-science + - open-source categories: - - impact + - community-impact featured: false draft: false --- diff --git a/content/blog/2025/automating-support-upgrades/index.md b/content/blog/2025/automating-support-upgrades/index.md index 64d2ba5d3..70aed73c2 100644 --- a/content/blog/2025/automating-support-upgrades/index.md +++ b/content/blog/2025/automating-support-upgrades/index.md @@ -1,12 +1,13 @@ --- title: Solving classes of problems, rather than just an instance of a problem (with an example) -date: "2025-06-09" +date: 2025-06-09 categories: - - service + - service-enhancements authors: - Yuvi Panda tags: - - engineering + - community + - reliability --- ## The Problem diff --git a/content/blog/2025/aws-cost-reduction/index.md b/content/blog/2025/aws-cost-reduction/index.md index 423cc11b8..1e7dd7538 100644 --- a/content/blog/2025/aws-cost-reduction/index.md +++ b/content/blog/2025/aws-cost-reduction/index.md @@ -1,11 +1,10 @@ --- title: Reducing base infrastructure costs on AWS with smarter instance types -date: "2025-09-17" +date: 2025-09-17 categories: -- service + - service-enhancements tags: -- cloud -- cost-savings + - cloud-costs --- We've been working to reduce the base costs of running our cloud infrastructure on AWS by switching to more efficient instance types for our core nodes. This is the core infrastructure we use to ensure hubs are "always available" for users, even when no one is actively using a hub. By moving from older `r5.xlarge` instances to newer, more efficient `r8i-flex.large` instances, we've significantly reduced these baseline costs while maintaining the same level of service. Here's a plot of daily savings for the [GeoJupyter community](../../collaborators/geojupyter/). diff --git a/content/blog/2025/binder-buildkit/index.md b/content/blog/2025/binder-buildkit/index.md index d534d774e..9c7ec7baf 100644 --- a/content/blog/2025/binder-buildkit/index.md +++ b/content/blog/2025/binder-buildkit/index.md @@ -2,10 +2,10 @@ title: Simplifying and speeding up Binder builds with BuildKit date: 2025-03-03 tags: - - upstream - - open source + - reliability + - open-source categories: - - impact + - upstream-impact featured: false draft: false authors: diff --git a/content/blog/2025/binder-singlenode/index.md b/content/blog/2025/binder-singlenode/index.md index edd85f88c..e00a9cdc3 100644 --- a/content/blog/2025/binder-singlenode/index.md +++ b/content/blog/2025/binder-singlenode/index.md @@ -5,9 +5,9 @@ authors: - Yuvi Panda - Chris Holdgraf tags: - - open source + - open-source categories: - - impact + - upstream-impact featured: false draft: false --- diff --git a/content/blog/2025/catalyst-hardware-exchange/index.md b/content/blog/2025/catalyst-hardware-exchange/index.md index 05c8e0ce7..c91e75fa4 100644 --- a/content/blog/2025/catalyst-hardware-exchange/index.md +++ b/content/blog/2025/catalyst-hardware-exchange/index.md @@ -1,15 +1,12 @@ --- title: Giving CCAD more control over data science infrastructure via a Catalyst Project hardware exchange -date: "2025-09-02" +date: 2025-09-02 authors: - Chris Holdgraf - James Munroe categories: - - impact + - community-impact tags: - - open source - - cloud - - foundational-contribution - sovereignty --- diff --git a/content/blog/2025/cloud-cost-monitoring/index.md b/content/blog/2025/cloud-cost-monitoring/index.md index 2ed90567c..833eb2156 100644 --- a/content/blog/2025/cloud-cost-monitoring/index.md +++ b/content/blog/2025/cloud-cost-monitoring/index.md @@ -1,18 +1,17 @@ --- title: Enabling transparent cloud cost monitoring with user-level dashboards -date: "2025-09-30" +date: 2025-09-30 authors: - Chris Holdgraf - Jenny Wong categories: -- service + - service-enhancements tags: -- open source -- cloud costs -- transparency + - open-source + - cloud-costs --- -We are excited to announce that **dashboards to monitor cloud usage and costs at a per-user level** are now available! +We are excited to announce that **dashboards to monitor cloud usage and costs at a per-user level** are now available! See the [cost monitoring documentation](https://docs.2i2c.org/admin/howto/monitoring/cost-users/) for more information. A key goal of 2i2c is to make the cloud safe for science. By providing transparent cost monitoring, we give communities the confidence that they won't face unexpected bills and can better understand how their usage patterns translate to cloud costs. This visibility is especially valuable in our shared platform model, where each community gets their own independent hub while benefiting from shared infrastructure expertise. @@ -24,7 +23,7 @@ The user-level cost breakdown allows communities to identify individual usage tr ## Learn more -- [Community Hub Guide](https://docs.2i2c.org/admin/howto/monitoring/cost-users/) +- [Cost monitoring documentation](https://docs.2i2c.org/admin/howto/monitoring/cost-users/) ## Acknowledgements diff --git a/content/blog/2025/communications-strategy/index.md b/content/blog/2025/communications-strategy/index.md index b987fd789..cad4a9368 100644 --- a/content/blog/2025/communications-strategy/index.md +++ b/content/blog/2025/communications-strategy/index.md @@ -4,7 +4,7 @@ date: 2025-09-10 authors: - Chris Holdgraf tags: - - open source + - open-source categories: - organization featured: false diff --git a/content/blog/2025/community-ownership/index.md b/content/blog/2025/community-ownership/index.md index ef54c4694..e301b6a95 100644 --- a/content/blog/2025/community-ownership/index.md +++ b/content/blog/2025/community-ownership/index.md @@ -5,7 +5,7 @@ authors: - Yuvi Panda - Chris Holdgraf tags: - - open source + - open-source categories: - organization featured: false diff --git a/content/blog/2025/doepy-yuvi/index.md b/content/blog/2025/doepy-yuvi/index.md index 5dbafd5c0..bfd8244f5 100644 --- a/content/blog/2025/doepy-yuvi/index.md +++ b/content/blog/2025/doepy-yuvi/index.md @@ -1,14 +1,14 @@ --- -title: "Sharing JupyterHub's vision for more flexible application deployment at the doepy talk series." -date: "2025-09-03" +title: Sharing JupyterHub's vision for more flexible application deployment at the doepy talk series. +date: 2025-09-03 authors: - Chris Holdgraf - Yuvi Panda categories: - - impact + - upstream-impact tags: - - open source - - foundational-contribution + - leadership + - open-source --- Our Technical Lead [Yuvi Panda](../../authors/yuvi-panda/_index.md) recently gave a talk at the [doepy meetup](https://meetup.doepy.org/) about JupyterHub's interest in moving beyond the "single-user notebook application" and towards a more flexible approach to enabling administrators to deploy many different types of applications and environments. diff --git a/content/blog/2025/executive-council-updates/index.md b/content/blog/2025/executive-council-updates/index.md index 98a4577d4..53cc9dbf7 100644 --- a/content/blog/2025/executive-council-updates/index.md +++ b/content/blog/2025/executive-council-updates/index.md @@ -1,10 +1,14 @@ --- -title: "Updates from Chris' position on the Jupyter Executive Council and Foundation Board" +title: Updates from Chris' position on the Jupyter Executive Council and Foundation Board subtitle: "" -authors: ["Chris Holdgraf"] -tags: ["open source", "jupyter"] -categories: ["impact"] -date: "2025-09-23" +authors: + - Chris Holdgraf +tags: + - open-source + - jupyter +categories: + - upstream-impact +date: 2025-09-23 featured: false draft: false --- diff --git a/content/blog/2025/foundational-contributions/index.md b/content/blog/2025/foundational-contributions/index.md index d66d4536f..dba71ff4a 100644 --- a/content/blog/2025/foundational-contributions/index.md +++ b/content/blog/2025/foundational-contributions/index.md @@ -4,9 +4,9 @@ date: 2025-09-26 authors: - Yuvi Panda tags: - - open source + - open-source categories: - - impact + - upstream-impact --- diff --git a/content/blog/2025/frictionless-reproducibility/index.md b/content/blog/2025/frictionless-reproducibility/index.md index 56aec3d3b..b6d054b13 100644 --- a/content/blog/2025/frictionless-reproducibility/index.md +++ b/content/blog/2025/frictionless-reproducibility/index.md @@ -6,7 +6,7 @@ authors: comment: | Figures are here: https://docs.google.com/presentation/d/1ApnGswakl2U_OUzYxSOSis3V-DbmR8EsJhO-DZ7MuLk/edit#slide=id.g33066a3c77c_0_0 categories: - - service + - service-enhancements tags: - binder - reproducibility diff --git a/content/blog/2025/gcp-filestore-backups/index.md b/content/blog/2025/gcp-filestore-backups/index.md index b35d9fb07..58a821afd 100644 --- a/content/blog/2025/gcp-filestore-backups/index.md +++ b/content/blog/2025/gcp-filestore-backups/index.md @@ -5,9 +5,9 @@ summary: "" authors: - Sarah Gibson tags: - - open source + - open-source categories: - - service + - service-enhancements date: 2025-02-07T13:08:22+00:00 lastmod: 2025-02-07T13:10:14+00:00 featured: false diff --git a/content/blog/2025/good-citizen/index.md b/content/blog/2025/good-citizen/index.md index 190f1a4e8..fbaaaa755 100644 --- a/content/blog/2025/good-citizen/index.md +++ b/content/blog/2025/good-citizen/index.md @@ -5,9 +5,9 @@ authors: - Yuvi Panda - Chris Holdgraf tags: - - open source + - open-source categories: - - impact + - upstream-impact aliases: - /blog/2025/foundational-contributions/ --- diff --git a/content/blog/2025/hackweek-shoutout/index.md b/content/blog/2025/hackweek-shoutout/index.md index b92c5769a..6b2b8d2ff 100644 --- a/content/blog/2025/hackweek-shoutout/index.md +++ b/content/blog/2025/hackweek-shoutout/index.md @@ -1,10 +1,15 @@ --- -title: "Harnessing Marine Open Data Science for Ocean Sustainability in Africa, South Asia and Latin America" +title: Harnessing Marine Open Data Science for Ocean Sustainability in Africa, South Asia and Latin America subtitle: "" -authors: ["April Johnson"] -tags: ["oceanography", "climate", "open source", "community"] -categories: ["impact"] -date: "2025-03-11" +authors: + - April Johnson +tags: + - earth-science + - open-source + - community +categories: + - community-impact +date: 2025-03-11 featured: false draft: false --- diff --git a/content/blog/2025/incident-ucmerced-user-throttling/index.md b/content/blog/2025/incident-ucmerced-user-throttling/index.md index ba1e64816..33ec224f4 100644 --- a/content/blog/2025/incident-ucmerced-user-throttling/index.md +++ b/content/blog/2025/incident-ucmerced-user-throttling/index.md @@ -1,8 +1,8 @@ --- title: "Incident report: UC Merced user throttling during class startup" -date: "2025-09-16" +date: 2025-09-16 categories: -- incident-report + - service-enhancements tags: - cloud - open-source diff --git a/content/blog/2025/jb-for-communities/index.md b/content/blog/2025/jb-for-communities/index.md index 45f94a8cf..3a8f45a3f 100644 --- a/content/blog/2025/jb-for-communities/index.md +++ b/content/blog/2025/jb-for-communities/index.md @@ -4,9 +4,9 @@ date: 2025-05-08 authors: - Angus Hollands tags: - - jupyter book + - jupyterbook categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2025/jetstream-binderhub/index.md b/content/blog/2025/jetstream-binderhub/index.md index 25cb5b617..d742a48fb 100644 --- a/content/blog/2025/jetstream-binderhub/index.md +++ b/content/blog/2025/jetstream-binderhub/index.md @@ -5,10 +5,10 @@ authors: - Georgiana Dolocan - James Munroe tags: - - open source - - geoscience + - open-source + - earth-science categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2025/jetstream2-persistent-hub/index.md b/content/blog/2025/jetstream2-persistent-hub/index.md index 52a99c601..dcd2b259b 100644 --- a/content/blog/2025/jetstream2-persistent-hub/index.md +++ b/content/blog/2025/jetstream2-persistent-hub/index.md @@ -4,9 +4,9 @@ date: 2025-04-28 authors: - Georgiana Dolocan tags: - - open source + - open-source categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2025/jupyter-book-cors/index.md b/content/blog/2025/jupyter-book-cors/index.md index 63d960c97..fa3654351 100644 --- a/content/blog/2025/jupyter-book-cors/index.md +++ b/content/blog/2025/jupyter-book-cors/index.md @@ -5,9 +5,9 @@ authors: - Chris Holdgraf - Angus Hollands tags: - - open source + - open-source categories: - - impact + - upstream-impact featured: false draft: false --- diff --git a/content/blog/2025/jupyter-executive-council/index.md b/content/blog/2025/jupyter-executive-council/index.md index 6a2e5093c..56b122279 100644 --- a/content/blog/2025/jupyter-executive-council/index.md +++ b/content/blog/2025/jupyter-executive-council/index.md @@ -1,10 +1,15 @@ --- -title: "Chris is joining Project Jupyter's Executive Council" +title: Chris is joining Project Jupyter's Executive Council subtitle: "" -authors: ["Chris Holdgraf"] -tags: ["open source", "jupyter", "community"] -categories: ["impact"] -date: "2025-03-10" +authors: + - Chris Holdgraf +tags: + - open-source + - jupyter + - community +categories: + - upstream-impact +date: 2025-03-10 featured: false draft: false --- diff --git a/content/blog/2025/jupytercon-2025-submissions/index.md b/content/blog/2025/jupytercon-2025-submissions/index.md index ef848e299..e11fb09dd 100644 --- a/content/blog/2025/jupytercon-2025-submissions/index.md +++ b/content/blog/2025/jupytercon-2025-submissions/index.md @@ -1,10 +1,15 @@ --- -title: "2i2c's submissions to JupyterCon 2025" +title: 2i2c's submissions to JupyterCon 2025 subtitle: "" -authors: ["The 2i2c team"] -tags: ["open source", "jupyter", "community"] -categories: ["impact"] -date: "2025-07-19" +authors: + - The 2i2c team +tags: + - open-source + - jupyter + - community +categories: + - upstream-impact +date: 2025-07-19 featured: false draft: false --- diff --git a/content/blog/2025/jupyterhub-groups-exporter/index.md b/content/blog/2025/jupyterhub-groups-exporter/index.md index ed9d32338..8bf245361 100644 --- a/content/blog/2025/jupyterhub-groups-exporter/index.md +++ b/content/blog/2025/jupyterhub-groups-exporter/index.md @@ -1,10 +1,14 @@ --- title: "Announcing `jupyterhub-groups-exporter`: monitor usage based on JupyterHub group membership with Prometheus and Grafana" subtitle: "" -authors: ["Jenny Wong"] -tags: ["jupyterhub", "prometheus", "grafana", "kubernetes"] -categories: ["Service"] -date: "2025-06-11" +authors: + - Jenny Wong +tags: + - jupyterhub + - monitoring +categories: + - service-enhancements +date: 2025-06-11 featured: false draft: false --- diff --git a/content/blog/2025/jupyterhub5-upgrade/index.md b/content/blog/2025/jupyterhub5-upgrade/index.md index 405afa566..4bb47769c 100644 --- a/content/blog/2025/jupyterhub5-upgrade/index.md +++ b/content/blog/2025/jupyterhub5-upgrade/index.md @@ -6,7 +6,7 @@ authors: tags: - jupyterhub categories: - - service + - service-enhancements featured: false draft: false --- diff --git a/content/blog/2025/knowledge-cycle/index.md b/content/blog/2025/knowledge-cycle/index.md index fd638cc0d..462c2f509 100644 --- a/content/blog/2025/knowledge-cycle/index.md +++ b/content/blog/2025/knowledge-cycle/index.md @@ -3,7 +3,7 @@ date: 2025-02-15 title: Where we hope to improve our service for creating and sharing knowledge. draft: true categories: - - service + - service-enhancements tags: - brainstorm authors: diff --git a/content/blog/2025/newsletter-09/index.md b/content/blog/2025/newsletter-09/index.md new file mode 100644 index 000000000..80c262b82 --- /dev/null +++ b/content/blog/2025/newsletter-09/index.md @@ -0,0 +1,60 @@ +--- +title: More transparency and control for your cloud infrastructure | 2i2c September 2025 Community Update +date: 2025-10-01 +authors: + - Chris Holdgraf +categories: + - organization +tags: + - update +--- + +September was a big month for giving our communities better visibility into their infrastructure. We shipped [per-user cost dashboards](https://2i2c.org/blog/2025/cloud-cost-monitoring/), launched a [status page at status.2i2c.org](https://2i2c.org/blog/2025/status-page/), and [cut baseline AWS costs](https://2i2c.org/blog/2025/aws-cost-reduction/) by switching to more efficient instance types. We also helped CCAD gain [more control over their computing infrastructure](https://2i2c.org/blog/2025/catalyst-hardware-exchange/) through a hardware exchange, and shared our thinking about [being responsible open source citizens](https://2i2c.org/blog/2025/good-citizen/). Here's what stood out: + +## Enabling transparent cloud cost monitoring with user-level dashboards + +We shipped dashboards that let communities monitor cloud usage and costs at a per-user level. This gives communities confidence they won't face unexpected bills and helps them understand how their usage patterns translate to cloud costs. Communities can now see exactly how their computational work translates to spending, enabling better resource planning and budget management. + +
+Cloud cost monitoring dashboard showing user-level usage and cost breakdowns +
The new cost monitoring dashboard shows per-user breakdowns of cloud usage and costs.
+
+ +Read more 👉 [2i2c.org/blog/2025/cloud-cost-monitoring/](https://2i2c.org/blog/2025/cloud-cost-monitoring/) + +## Demonstrating our infrastructure's reliability with a hub status page for our communities + +We launched a status page at status.2i2c.org that gives communities a high-level view of our infrastructure's stability. This is a single source of truth for understanding whether your hub is experiencing problems and helps us respond to outages faster—ideally before communities even notice. We're also streamlining our incident response processes to make outages less frequent and shorter when they do occur. + +
+The 2i2c status page showing uptime status for the network of community hubs +
The 2i2c Status Page gives communities a high-level view of uptime across our entire network.
+
+ +Read more 👉 [2i2c.org/blog/2025/status-page/](https://2i2c.org/blog/2025/status-page/) + +## Reducing base infrastructure costs on AWS with smarter instance types + +We reduced the baseline costs of running our AWS infrastructure by switching from older r5.xlarge instances to newer, more efficient r8i-flex.large instances. These are the core nodes that keep hubs "always available" for users. The graph below shows daily savings for one community—we're rolling this out to all new clusters and gradually migrating existing ones. + +
+Graph showing EC2 cost reduction over time for one community +
Daily EC2 cost savings from switching to more efficient instance types.
+
+ +Read more 👉 [2i2c.org/blog/2025/aws-cost-reduction/](https://2i2c.org/blog/2025/aws-cost-reduction/) + +--- + +_Here's a list of all the blog posts we published in September 2025._ + +- Sep 02, 2025 - [Giving CCAD more control over data science infrastructure via a Catalyst Project hardware exchange](https://2i2c.org/blog/2025/catalyst-hardware-exchange/) +- Sep 03, 2025 - [On being a good open source citizen: supporting a healthy ecosystem through directed and foundational contributions](https://2i2c.org/blog/2025/good-citizen/) +- Sep 03, 2025 - [Sharing JupyterHub's vision for more flexible application deployment at the doepy talk series.](https://2i2c.org/blog/2025/doepy-yuvi/) +- Sep 10, 2025 - [We're going to try blogging about our work more often](https://2i2c.org/blog/2025/communications-strategy/) +- Sep 16, 2025 - [Incident report: UC Merced user throttling during class startup](https://2i2c.org/blog/2025/incident-ucmerced-user-throttling/) +- Sep 17, 2025 - [Reducing base infrastructure costs on AWS with smarter instance types](https://2i2c.org/blog/2025/aws-cost-reduction/) +- Sep 23, 2025 - [Updates from Chris' position on the Jupyter Executive Council and Foundation Board](https://2i2c.org/blog/2025/executive-council-updates/) +- Sep 23, 2025 - [Demonstrating our infrastructure's reliability with a hub status page for our communities](https://2i2c.org/blog/2025/status-page/) +- Sep 26, 2025 - [From scattered effort to strategic impact: How we're systematizing our Foundational open source contributions](https://2i2c.org/blog/2025/foundational-contributions/) +- Sep 30, 2025 - [Enabling transparent cloud cost monitoring with user-level dashboards](https://2i2c.org/blog/2025/cloud-cost-monitoring/) diff --git a/content/blog/2025/newsletter-09/newsletter.html b/content/blog/2025/newsletter-09/newsletter.html new file mode 100644 index 000000000..dd7f479c0 --- /dev/null +++ b/content/blog/2025/newsletter-09/newsletter.html @@ -0,0 +1,39 @@ +

September was a big month for giving our communities better visibility into their infrastructure. We shipped per-user cost dashboards, launched a status page at status.2i2c.org, and cut baseline AWS costs by switching to more efficient instance types. We also helped CCAD gain more control over their computing infrastructure through a hardware exchange, and shared our thinking about being responsible open source citizens. Here's what stood out:

+

Enabling transparent cloud cost monitoring with user-level dashboards

+

We shipped dashboards that let communities monitor cloud usage and costs at a per-user level. This gives communities confidence they won't face unexpected bills and helps them understand how their usage patterns translate to cloud costs. Communities can now see exactly how their computational work translates to spending, enabling better resource planning and budget management.

+
+Cloud cost monitoring dashboard showing user-level usage and cost breakdowns +
The new cost monitoring dashboard shows per-user breakdowns of cloud usage and costs.
+
+ +

Read more 👉 2i2c.org/blog/2025/cloud-cost-monitoring/

+

Demonstrating our infrastructure's reliability with a hub status page for our communities

+

We launched a status page at status.2i2c.org that gives communities a high-level view of our infrastructure's stability. This is a single source of truth for understanding whether your hub is experiencing problems and helps us respond to outages faster—ideally before communities even notice. We're also streamlining our incident response processes to make outages less frequent and shorter when they do occur.

+
+The 2i2c status page showing uptime status for the network of community hubs +
The 2i2c Status Page gives communities a high-level view of uptime across our entire network.
+
+ +

Read more 👉 2i2c.org/blog/2025/status-page/

+

Reducing base infrastructure costs on AWS with smarter instance types

+

We reduced the baseline costs of running our AWS infrastructure by switching from older r5.xlarge instances to newer, more efficient r8i-flex.large instances. These are the core nodes that keep hubs "always available" for users. The graph below shows daily savings for one community—we're rolling this out to all new clusters and gradually migrating existing ones.

+
+Graph showing EC2 cost reduction over time for one community +
Daily EC2 cost savings from switching to more efficient instance types.
+
+ +

Read more 👉 2i2c.org/blog/2025/aws-cost-reduction/

+
+

Here's a list of all the blog posts we published in September 2025.

+ \ No newline at end of file diff --git a/content/blog/2025/openscapes-is-hiring-a-new-team-member/featured.png b/content/blog/2025/openscapes-is-hiring-a-new-team-member/featured.png new file mode 100644 index 000000000..dcb9b530a Binary files /dev/null and b/content/blog/2025/openscapes-is-hiring-a-new-team-member/featured.png differ diff --git a/content/blog/2025/openscapes-is-hiring-a-new-team-member/index.md b/content/blog/2025/openscapes-is-hiring-a-new-team-member/index.md new file mode 100644 index 000000000..401fea037 --- /dev/null +++ b/content/blog/2025/openscapes-is-hiring-a-new-team-member/index.md @@ -0,0 +1,21 @@ +--- +title: Openscapes is hiring a new team member +date: 2025-10-07 +categories: + - community-impact +tags: + - announcement + - hiring + - community +--- + +[Openscapes](/collaborators/openscapes/) is hiring a **NASA Openscapes Suborbital Team Member** to engage with NASA suborbital science teams and support open science practices. This is a **part-time contract position (20 hrs/week) starting as early as December 1, 2025**, with a 6-month initial term and potential for extension. +The position is fully remote ($100/hr) with applications due by **October 26, 2025**. + +## Learn more + +- [Openscapes job posting](https://openscapes.org/connect#work-with-us) + +## Acknowledgements + +- [Openscapes](/collaborators/openscapes/) for their continued work in empowering the research community diff --git a/content/blog/2025/per-user-storage-quota-gcp/index.md b/content/blog/2025/per-user-storage-quota-gcp/index.md index 0b6dbdf0c..8f0145b1b 100644 --- a/content/blog/2025/per-user-storage-quota-gcp/index.md +++ b/content/blog/2025/per-user-storage-quota-gcp/index.md @@ -5,9 +5,9 @@ summary: "" authors: - Sarah Gibson tags: - - open source + - open-source categories: - - service + - service-enhancements date: 2025-02-25T14:18:04+00:00 lastmod: 2025-02-25T14:18:04+00:00 featured: false diff --git a/content/blog/2025/per-user-storage-quota/index.md b/content/blog/2025/per-user-storage-quota/index.md index d82864794..7bae2aec6 100644 --- a/content/blog/2025/per-user-storage-quota/index.md +++ b/content/blog/2025/per-user-storage-quota/index.md @@ -5,10 +5,10 @@ summary: "" authors: - Sarah Gibson tags: - - open source - - storage + - open-source + - data categories: - - service + - service-enhancements date: 2025-01-28T09:57:28+00:00 lastmod: 2025-01-28T10:10:14+00:00 featured: false diff --git a/content/blog/2025/q1-product-goals/index.md b/content/blog/2025/q1-product-goals/index.md index 14655faff..d4fd1c3d9 100644 --- a/content/blog/2025/q1-product-goals/index.md +++ b/content/blog/2025/q1-product-goals/index.md @@ -1,8 +1,12 @@ --- -title: "Our product goals for Q1 2025" -authors: ["Chris Holdgraf", "Giuliano Maccioci"] -tags: [open source] -categories: [organization] +title: Our product goals for Q1 2025 +authors: + - Chris Holdgraf + - Giuliano Maccioci +tags: + - open-source +categories: + - organization date: 2025-02-01 --- diff --git a/content/blog/2025/q1-product-highlights/index.md b/content/blog/2025/q1-product-highlights/index.md index 0b4f270ea..b9cb413c1 100644 --- a/content/blog/2025/q1-product-highlights/index.md +++ b/content/blog/2025/q1-product-highlights/index.md @@ -1,8 +1,13 @@ --- -title: "Our product highlights from Q2 2025" -authors: ["Chris Holdgraf", "Giuliano Maccioci"] -categories: [service] +title: Our product highlights from Q2 2025 +authors: + - Chris Holdgraf + - Giuliano Maccioci +categories: + - organization date: 2025-04-16 +tags: + - update --- _These describe the major service improvements that we rolled out in Q1 2025. See this [blog post describing our product enhancement goals in Q1 2025](../q1-product-goals/index.md) for the targets we intended to hit this quarter. Below is a brief description of what we accomplished._ diff --git a/content/blog/2025/q1-reflection/index.md b/content/blog/2025/q1-reflection/index.md index 07655deef..ee30c92fd 100644 --- a/content/blog/2025/q1-reflection/index.md +++ b/content/blog/2025/q1-reflection/index.md @@ -1,8 +1,12 @@ --- title: "2025-Q1 reflection: Building a foundation for our new platform and membership model" -authors: ["Chris Holdgraf"] -categories: [organization] +authors: + - Chris Holdgraf +categories: + - organization date: 2025-04-16 +tags: + - update --- _This is a summary of major progress we made in Q1 of 2025. Its goal is to summarize our major accomplishments and important context before we prioritize for Q2. We hope this gives our community stakeholders a more strategic-level insight into our progress and organizational plans. See [our Product Highlights for 2025Q1](../q1-product-highlights/index.md) for a product-focused review. Please [give us feedback](mailto:hello@2i2c.org) for how we can provide more useful information._ diff --git a/content/blog/2025/q2-highlights/index.md b/content/blog/2025/q2-highlights/index.md index 2ecd8790d..f35f8cac7 100644 --- a/content/blog/2025/q2-highlights/index.md +++ b/content/blog/2025/q2-highlights/index.md @@ -1,11 +1,13 @@ --- authors: -- Giuliano Maciocci -- Chris Holdgraf -- April Johnson + - Giuliano Maciocci + - Chris Holdgraf + - April Johnson date: 2025-07-21 categories: organization title: Product and team highlights from Q2 2025 +tags: + - update --- diff --git a/content/blog/2025/q2-product-goals/index.md b/content/blog/2025/q2-product-goals/index.md index e7724cd19..a13874050 100644 --- a/content/blog/2025/q2-product-goals/index.md +++ b/content/blog/2025/q2-product-goals/index.md @@ -1,8 +1,12 @@ --- -title: "Our Product and Service goals for Q2 2025" -authors: ["Giuliano Maciocci", "Chris Holdgraf"] -categories: service +title: Our Product and Service goals for Q2 2025 +authors: + - Giuliano Maciocci + - Chris Holdgraf +categories: organization date: 2025-04-16 +tags: + - update --- _As we head into Q2 of 2025, we continue to focus our work delivering on a small set of core themes that reflect our communities’ most pressing needs. As a part of this process, we want to continue sharing our platform and service goals in an effort to remain transparent, as well as to provide our communities with an opportunity to give us feedback on our direction, and on what’s important for them. See [last quarter’s product goals here](../q1-product-goals/index.md)._ diff --git a/content/blog/2025/q3-goals/index.md b/content/blog/2025/q3-goals/index.md index 8b1430439..02155a488 100644 --- a/content/blog/2025/q3-goals/index.md +++ b/content/blog/2025/q3-goals/index.md @@ -1,10 +1,12 @@ --- title: Our Product and Service goals for Q3 2025 authors: -- Giuliano Maciocci -- Chris Holdgraf -categories: service + - Giuliano Maciocci + - Chris Holdgraf +categories: service-enhancements date: 2025-07-22 +tags: + - update --- As we enter Q3 2025, our focus remains on enabling better cost controls for our communities and increasing flexibility for end-users. In line with our commitment to transparency, we’re sharing our platform and service objectives for the quarter and inviting feedback to ensure our direction reflects what matters most to the communities we serve. See our [product goals from the previous quarter here](../q2-product-goals/index.md). diff --git a/content/blog/2025/repo2docker-docs/index.md b/content/blog/2025/repo2docker-docs/index.md index 0c7d28296..886214bcd 100644 --- a/content/blog/2025/repo2docker-docs/index.md +++ b/content/blog/2025/repo2docker-docs/index.md @@ -2,9 +2,9 @@ title: Overhauling repo2docker's documentation date: 2025-08-01 author: Chris Holdgraf -categories: impact +categories: upstream-impact tags: - - open source + - open-source --- Documentation is incredibly important for open source projects to communicate their value and show users how to make the most of their tools. However, it's one of those things that often gets de-prioritized with all of the other work that needs to happen in a project. diff --git a/content/blog/2025/scientific-python-summit/index.md b/content/blog/2025/scientific-python-summit/index.md index a3199f448..ba3226e01 100644 --- a/content/blog/2025/scientific-python-summit/index.md +++ b/content/blog/2025/scientific-python-summit/index.md @@ -2,10 +2,10 @@ title: Jupyter Book at the Scientific Python 2025 Developer Summit date: 2025-05-23 tags: - - jupyter book - - open source + - jupyterbook + - open-source categories: - - impact + - upstream-impact featured: false draft: false external_link: diff --git a/content/blog/2025/status-page/index.md b/content/blog/2025/status-page/index.md index 80ea3363e..730b95c56 100644 --- a/content/blog/2025/status-page/index.md +++ b/content/blog/2025/status-page/index.md @@ -1,9 +1,11 @@ --- -title: "Demonstrating our infrastructure's reliability with a hub status page for our communities" +title: Demonstrating our infrastructure's reliability with a hub status page for our communities subtitle: "" -tags: ["reliability"] -categories: ["service"] -date: "2025-09-23" +tags: + - reliability +categories: + - service-enhancements +date: 2025-09-23 featured: false draft: false --- diff --git a/content/blog/2025/veda-update-q4-2024/index.md b/content/blog/2025/veda-update-q4-2024/index.md index 169f6de03..5f8acacbf 100644 --- a/content/blog/2025/veda-update-q4-2024/index.md +++ b/content/blog/2025/veda-update-q4-2024/index.md @@ -5,9 +5,10 @@ summary: "" authors: - Yuvi Panda tags: - - geoscience + - earth-science + - open-source categories: - - impact + - upstream-impact date: 2025-01-07T15:18:37-08:00 lastmod: 2025-01-07T15:18:37-08:00 featured: false diff --git a/content/blog/_index.md b/content/blog/_index.md index 7e5614f70..922a4c753 100644 --- a/content/blog/_index.md +++ b/content/blog/_index.md @@ -6,11 +6,16 @@ title: 2i2c's blog .category-labels, .page-body h1:first-of-type { text-align: center; } +.category-labels { + font-size: .8rem; +}
-[Organization Updates](/categories/organization) | [Service Updates](/categories/service) | [Community Impact](/categories/impact) +_We use this space to [share progress and impact](../blog/2025/communications-strategy/index.md). Check out [our monthly newsletter](../mailing-list/index.md) for monthly summaries._ + +[Organization Updates](/categories/organization) | [Service Updates](/categories/service-enhancements) | [Community Impact](/categories/community-impact) | [Open Source Impact](/categories/upstream-impact)
diff --git a/content/blog/_template-post/impact-post.md b/content/blog/_template-post/impact-post.md index 5e9504fb9..806deacb5 100644 --- a/content/blog/_template-post/impact-post.md +++ b/content/blog/_template-post/impact-post.md @@ -1,13 +1,11 @@ --- -# THIS IS A TEMPLATE FOR COPY-PASTING TO MAKE IT EASIER TO CREATE BLOG POSTS title: Enabling / creating / X outcome by doing Y thing -date: "2999-01-01" +date: 2999-01-01 authors: - categories: -- impact tags: -- open source + - open-source --- One or two sentences about what happened and who did it. Link to the appropriate people, orgs, etc! diff --git a/content/blog/_template-post/incident-report.md b/content/blog/_template-post/incident-report.md index 6e3dfb2e4..3c92bb09b 100644 --- a/content/blog/_template-post/incident-report.md +++ b/content/blog/_template-post/incident-report.md @@ -1,12 +1,10 @@ --- -# THIS IS A TEMPLATE FOR COPY-PASTING TO MAKE IT EASIER TO CREATE BLOG POSTS -# folder name: incident-short-title/ title: "Incident report: Brief description of the incident" -date: "2999-01-01" +date: 2999-01-01 categories: -- incident-report + - service-enhancements tags: -- cloud + - incident-report --- On MMMM DD, YYYY our cloud infrastructure team experienced an incident with the XXXXX community hub. [See this issue for the full report](LINK TO ISSUE IN 2i2c-org/incident-reports). diff --git a/content/impact/index.md b/content/impact/index.md index 3929002d4..576593a58 100644 --- a/content/impact/index.md +++ b/content/impact/index.md @@ -79,7 +79,7 @@ sections: folders: - blog # These are the tags that will show up in the list - tags: ["geoscience", "bioscience", "education", "open source"] + tags: ["earth-science", "biology", "education", "open source"] author: "" publication_type: "" featured_only: false @@ -95,14 +95,14 @@ sections: buttons: - name: All tag: '*' - - name: Geoscience - tag: geoscience - - name: Bioscience - tag: bioscience + - name: Earth Science + tag: earth-science + - name: Biology + tag: biology - name: Education tag: education - name: Open Source - tag: open source + tag: open-source design: # Choose a listing view view: masonry diff --git a/contribute/README.md b/contribute/README.md new file mode 100644 index 000000000..fa83f6f6a --- /dev/null +++ b/contribute/README.md @@ -0,0 +1,3 @@ +# Contributing guide + +This section contains information for *developers* to contribute to the site. \ No newline at end of file diff --git a/contribute/blog.md b/contribute/blog.md new file mode 100644 index 000000000..b32a6d94e --- /dev/null +++ b/contribute/blog.md @@ -0,0 +1,103 @@ +# Blog + +Our blog is our primary mehcanism for recording what we do and the impact we've had. It also gives us a record of our work that we can quickly use for generating reports. + +## Principles to follow + +- **Blog about anything that leans into [our value proposition](https://compass.2i2c.org/organization/value-proposition/)**. +- **Shorter, imperfect, and more frequent**. +- **Communicate any time we learn something**. +- **Share attribution with collaborators**. +- **Write for [our target audience](https://compass.2i2c.org/marketing/strategy/#our-audience)**. + +See the **Tags and categories** section below for inspiration about what to blog about. + +## How to create a new blog post + +Copy the blog post folder template at the path below: + +``` +content/blog/_template-post +``` + +It contains an `index.md` file that you can modify. Put it in the folder for the year in which you're posting (e.g.: `content/blog/2025/mypostfolder`). + +## Tags and categories: how to choose + +**One category per post** + **2-5 tags** + +### Categories + +_Categories are non-overlapping, every post must have one category._ + +#### `service-enhancements` + +Hub improvements and infrastructure that benefits members + +- New hub features +- Infrastructure upgrades +- Technical migrations +- Performance improvements + +#### `community-impact` + +Work from our collaborators and member communities that we've enabled. + +- Community success stories +- Hackweeks and events +- Announcements and offers from collaborators + +#### `upstream-impact` + +Strengthening the open source ecosystem + +- Open source contributions +- Ecosystem health + +#### `organization` +2i2c strategy, team, and operations + +- Strategic updates +- Team changes +- Governance updates + +### Tags + +_Tags are more fluid, you can add as many to a post as you like._ + +#### Format + +- `update` - General updates and progress +- `how-to` - Explaining how to do something +- `incident-report` - Reporting on an incident report +- `announcement` - Announcing something new, a date, etc +- `report` - reporting on something that happened +- `brainstorm` - sharing unfinalized thoughts and proposals +- `incident` - when sharing an incident report +- `hiring` - for job posts + +#### Themes +- `leadership` - about organizational or project-wide leadership and strategy +- `community` - about people and social systems +- `learning` - about teaching workflows or something we've learned +- `devops` - about orchestration and team process for cloud infrastructure +- `sustainability` - about funding or capacity building +- `reliability` - about infrastructure reliability +- `monitoring` - about visibility and monitoring of cloud infrastructure +- `cloud-costs` - about cloud costs +- `communication` - about communicating ideas +- `reproducibility` - about enabling reproducible computation +- `computation` - about enabling computation and scaling +- `data` - about reading and using data in the cloud +- `sovereignty` - about giving communities control and enabling Right to Replicate +- `open-source` - anything that involves upstream tools or contributions (use heavily!) + +#### Technologies +- `jupyter` (for project-wide information) +- `jupyterhub` (prefer these for project-specific information) +- `jupyterbook` +- `binder` + +#### Domains +- `earth-science` - (here are common ones, add new domain tags as you wish) +- `biology` \ No newline at end of file diff --git a/contribute/features.md b/contribute/features.md new file mode 100644 index 000000000..c888d58da --- /dev/null +++ b/contribute/features.md @@ -0,0 +1,96 @@ +# Features unique to this website + +## Add a Feedback button to a page or post + +Use the `{{< feedback >}}` short-code to add a button that provides a feedback link for the current page. See more information in [our feedback process docs](https://docs.google.com/document/d/1bH5fN2lXcZ-vjQ4Pb4lfaeQbmoCBkN1QYjA7ZaxkmsY/edit?tab=t.dxyyjksnpswv#heading=h.kh8meot2eulc). + +## Automatic GitHub link shortening + +This theme will automatically shorten GitHub links and add a little GitHub icon to the front. For example, see the [Jack Eddy Symposium blog post](https://2i2c.org/blog/2022/eddy-symposium-report/). + +## How to add an external blog post + +We can link to blog posts that were written by the 2i2c team but published in other locations. These show up in our blog roll but are just pointers to other websites. + +To add an external blog post to our blog, create a blog post with an `external_link:` metadata field like, and a body that _summarizes_ the post. For example: + +``` +--- +title: "An external post title" +date: 2025-03-03 +external_link: https://your-post-url.org +tags: + - upstream + - open source +categories: + - impact +--- + +This content will be displayed as a summary of the post in the blog landing page. +``` + +Note that all other metadata fields are the same as any other blog post. +See [this blog post as an example](content/blog/2025/binder-buildkit/index.md). + +## Broken link checking + +We have [a GitHub workflow to check for broken links](.github/workflows/linkcheck.yml). +This runs each week and will open an issue if it finds any broken links. + +## Force a website re-build + +To force a website re-build, [trigger a `workflow dispatch` here](https://github.com/2i2c-org/2i2c-org.github.io/actions/workflows/linkcheck.yml). + + +## Social media preview images + +For text-based pages, we generate social media previews by automatically adding page title text to an image template. +The template is defined [in this Figma board](https://www.figma.com/file/EYFRCag2gfYGdEZGFrXgzv/2i2c-Logos?node-id=1101%3A2&t=KjO3JB6Jx4dRnGfa-0) and we use Hugo image filters to add text to it. +See [the hugo partial template we use](layouts/partials/ogimage.html) for details and links. + +The Featured Image will also be used to generate previews in social media. +You can generate an image designed specifically for social media (similar to GitHub social media link previes). +To do so, follow these steps: + +1. Go to [this Figma project for a template](https://www.figma.com/file/EYFRCag2gfYGdEZGFrXgzv/2i2c-Logos?node-id=117%3A67). +2. Find the "Twitter Summary Community Update" frame. +3. Update the text to match the title of what you'd like to post. +4. Export the frame to PNG (at `1x` size). +5. Place the PNG in the same folder as the relevant website page. +6. Rename the image so that it is "featured" for that page (see above) +7. Prevent the image from showing up on the page by adding the following to that page's YAML metadata: + + ```yaml + image: + preview_only: true + ``` + +The image will now be used to generate a social media preview! + +## Check the spelling of any pages + +This repository is configured with [the pyspelling package](https://facelessuser.github.io/pyspelling/). It will analyze all of the markdown files in `content/` and tell you if there are any un-recognized words. + +To use `pyspelling`, first install it: + +``` +pip install pyspelling +``` + +Then install the `aspell` package: + +``` +sudo apt-get install aspell +``` + +Finally, you can run `pyspelling` on the repository like so: + +``` +pyspelling +``` + +Note that pyspelling may find some errors that are simply un-recognized, but correct, words. For example, HTML elements. To make these errors pass, you can add them to the list of custom spelling words here: + +`.custom-dictionary.txt`. + +For more information, see [the `pyspelling` documentation](https://facelessuser.github.io/pyspelling/). diff --git a/contribute/jobs.md b/contribute/jobs.md new file mode 100644 index 000000000..80bc5c385 --- /dev/null +++ b/contribute/jobs.md @@ -0,0 +1,13 @@ +# Job postings + +## Add a job post + +We have some custom Hugo templates created for posting new jobs and a summary of open jobs. + +- The `content/jobs/` folder contains all content related to job postings and an overview of working at 2i2c. +- The `/jobs/_index.md` file is a "landing page" for our jobs (what is at 2i2c.org/jobs). + - It contains a custom Hugo shortcode defined at `layouts/shortcodes/open_jobs.html` that will list all jobs in the `jobs/` folder that have `open: true` in the page metadata. +- Every other page in `/jobs/` is a job posting. The YAML metadata at the top contains several important pieces of information for the job, and is used to populate job posting cards. + - Use previous job postings as a reference for the information that should be used. + - To mark a job as "open", make sure to put `open: true` in the posting metadata. + - There's also a special shortcode to display relevant job metadata for a posting. This is at `layouts/shortcodes/job_details.html`. diff --git a/contribute/newsletter.md b/contribute/newsletter.md new file mode 100644 index 000000000..0e1e34f99 --- /dev/null +++ b/contribute/newsletter.md @@ -0,0 +1,37 @@ +# Monthly blog newsletter + +Once a month we send a newsletter to our mailing list summarizing the most important topics in the blog. This gives people a higher-signal place to find out what we've been up to. + +Here's the rough structure that our newsletter should follow: + +``` +# [Most important benefit, outcome, or takeaway for readers] | 2i2c [Month Year] Community Update + +[Intro] +[1-2 sentences: what it is + why it matters, in plain language, conversational tone] +In [Month] we focused on [big theme that stands out and major takeaways]. We [accomplishment with link], [accomplishment with link], and [accomplishment with link]. Here's what stood out: +[/Intro] + +[Highlights] +## [Title of Featured Post N (1-3 total)] + +[Description - 1-3 sentences describing what happened, why it matters, and any important information a user would want to know.] + +[IF image] +
+[one-sentence description] +
[one or two sentences explaining the figure]
+
+[/IF] + +Read more 👉 [url-without-https://](url) + +## [Title of Featured Post N+1 etc] +[/Highlights] +--- + +_Here's a list of all the blog posts we published in [Month Year]._ + +- [MMM, DD YYYY] - [post name](link) +- [MMM, DD YYYY] - [post name](link) +- [reverse chronologically ordered for all posts] \ No newline at end of file