diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index a2a092f2218..b9b0f1a8b0c 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -1,5 +1,5 @@
## Contributing
To edit the documentation pages displayed at
-[conda-forge.org/docs/][https://conda-forge.org/docs/], please edit the source
+[conda-forge.org/docs/](https://conda-forge.org/docs/), please edit the source
Markdown files in `docs/`.
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b38eb49d63d..132aba8cc9d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -9,14 +9,19 @@ repos:
- id: check-added-large-files
- id: check-case-conflict
- id: check-symlinks
- - repo: https://github.com/pre-commit/mirrors-prettier
- rev: v4.0.0-alpha.8
+ - repo: https://github.com/biomejs/pre-commit
+ rev: v2.4.6
hooks:
- - id: prettier
+ - id: biome-check
types_or: [markdown, mdx, json, yaml, css, javascript]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.5
hooks:
- id: ruff-format
+ - repo: https://github.com/rvben/rumdl-pre-commit
+ rev: v0.0.222
+ hooks:
+ - id: rumdl-fmt
+ types_or: [markdown, mdx]
ci:
autofix_prs: false
diff --git a/.rumdl.toml b/.rumdl.toml
new file mode 100644
index 00000000000..cf0341ec2eb
--- /dev/null
+++ b/.rumdl.toml
@@ -0,0 +1,14 @@
+[global]
+disable = [
+ "MD013", # line length
+ "MD014", # command should show output (removes '$' immediately)
+ "MD030", # spaces after list marker
+ "MD033", # inline HTML
+ "MD034", # URL without angle brackets
+ "MD036", # emphasis used instead of heading
+ "MD040", # code block missing language (gets fixed to "text")
+ "MD059", # nondescriptive link text
+]
+
+[per-file-ignores]
+".github/*.md" = ["MD041"]
diff --git a/biome.json b/biome.json
new file mode 100644
index 00000000000..af704d28bed
--- /dev/null
+++ b/biome.json
@@ -0,0 +1,15 @@
+{
+ "formatter": {
+ "indentStyle": "space"
+ },
+ "linter": {
+ "rules": {
+ "complexity": {
+ "noImportantStyles": "off"
+ },
+ "style": {
+ "noDescendingSpecificity": "off"
+ }
+ }
+ }
+}
diff --git a/blog/2020-03-05-grayskull.md b/blog/2020-03-05-grayskull.md
index b1410efe384..d644ef510fe 100644
--- a/blog/2020-03-05-grayskull.md
+++ b/blog/2020-03-05-grayskull.md
@@ -4,7 +4,7 @@ authors:
tags: [conda]
---
-# By the power of Grayskull... I have the Conda recipe!
+# By the power of Grayskull... I have the Conda recipe
_The main goal of the Skeleto_~~n~~_r is to conquer Grayskull._
diff --git a/blog/2020-07-06-scipy-bof.md b/blog/2020-07-06-scipy-bof.md
index bff8d5619b5..e50b5e6de1a 100644
--- a/blog/2020-07-06-scipy-bof.md
+++ b/blog/2020-07-06-scipy-bof.md
@@ -6,7 +6,7 @@ tags: [scipy]
# Scipy 2020 Packaging BOF
-## Abstract:
+## Abstract
Have some thoughts about conda-forge and how it can be expanded in a way
that is sustainable? Join us in this virtual Birds of a Feather
@@ -16,7 +16,7 @@ seeking new viewpoints and opinions!
-## BOF questions:
+## BOF questions
### State of Packaging
diff --git a/blog/2021-02-02-outreachy.md b/blog/2021-02-02-outreachy.md
index 6405eb4cf8f..5b59655218d 100644
--- a/blog/2021-02-02-outreachy.md
+++ b/blog/2021-02-02-outreachy.md
@@ -14,12 +14,12 @@ groups in free and open-source software. Outreachy is organized by
-## Participant Application Process:
+## Participant Application Process
First, please review the Outreachy Eligibility and Application
Information page to learn more about eligibility for Outreachy.
-## Steps for applicants to conda-forge:
+## Steps for applicants to conda-forge
1. Confirm your eligibility on the Outreachy site
2. Look at the Conda-forge projects available on the Outreachy site,
@@ -105,7 +105,7 @@ are some preliminary tasks that you can inspect to get ideas:
in particular the autotick bot. You could find some new information
or ideas for your contributing proposals.
-## Good starter tasks:
+## Good starter tasks
### Small Starter Tasks
diff --git a/blog/2024-09-26-python-313.md b/blog/2024-09-26-python-313.md
index c3b0ba09837..01741352aca 100644
--- a/blog/2024-09-26-python-313.md
+++ b/blog/2024-09-26-python-313.md
@@ -55,7 +55,7 @@ systems by using the `conda-forge/label/python_debug` label.
Any issues with python conda package itself can be reported at [`python-feedstock`](https://github.com/conda-forge/python-feedstock).
-### Acknowledgements
+## Acknowledgements
Thanks to Uwe Korn ([@xhochy](https://github.com/xhochy)) for getting us started
and for Jonathan Helmus ([@jjhelmus](https://github.com/jjhelmus)) for guidance.
diff --git a/blog/2025-04-11-ten-years-of-conda-forge.md b/blog/2025-04-11-ten-years-of-conda-forge.md
index b70e52374f4..8fc1f748271 100644
--- a/blog/2025-04-11-ten-years-of-conda-forge.md
+++ b/blog/2025-04-11-ten-years-of-conda-forge.md
@@ -3,7 +3,7 @@ authors:
- core
---
-# Ten years of conda-forge!
+# Ten years of conda-forge
Today, 2025-04-11, marks the 10th anniversary of the conda-forge community.
diff --git a/community/_sidebar.js b/community/_sidebar.js
index 1a3a83220a7..520a717899b 100644
--- a/community/_sidebar.js
+++ b/community/_sidebar.js
@@ -1,6 +1,6 @@
// See https://docusaurus.io/docs/sidebar
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
-const fs = require("fs");
+const fs = require("node:fs");
const sidebars = {
community: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar.json`)),
};
diff --git a/community/funding/gsoc-2023.md b/community/funding/gsoc-2023.md
index ba39918a28a..ab805d4bf9e 100644
--- a/community/funding/gsoc-2023.md
+++ b/community/funding/gsoc-2023.md
@@ -2,10 +2,10 @@
unlisted: true
---
-
-
# GSoC 2023 project ideas for conda-forge
+
+
diff --git a/community/funding/gsod-2023.md b/community/funding/gsod-2023.md
index 375d25f8c16..2ca061c8ba3 100644
--- a/community/funding/gsod-2023.md
+++ b/community/funding/gsod-2023.md
@@ -2,10 +2,10 @@
unlisted: true
---
-
-
# Google Season of Docs 2023
+
+
> Thanks for your interest in applying for Google Season of Docs with conda-forge. We welcome
> applications from individuals from all backgrounds, identities and abilities and encourage
> applications individuals from under-represented groups in tech.
@@ -188,9 +188,8 @@ easy-to-contribute-to, accessible website for the conda-forge community.
### Additional context
-The current documentation can be found at Sphinx-based ``conda-forge.github.io`
-<[https://github.com/conda-forge/conda-forge.github.io](https://github.com/conda-forge/conda-forge.github.io)>\`_\_ repository, with some blog posts coming
-from ``blog` <[https://github.com/conda-forge/blog](https://github.com/conda-forge/blog)>\`\_\_. Both use ReStructuredText syntax and are
+The current documentation can be found at Sphinx-based [conda-forge.github.io](https://github.com/conda-forge/conda-forge.github.io) repository, with some blog posts coming
+from [blog](https://github.com/conda-forge/blog). Both use ReStructuredText syntax and are
built with Sphinx.
A new Docusaurus-based prototype website is also available at [cf-infra-docs.netlify.app](https://cf-infra-docs.netlify.app/), where new documentation is being written for the
diff --git a/community/funding/sdg-2023-1.md b/community/funding/sdg-2023-1.md
index eee0c353fe4..b878b1f7dd9 100644
--- a/community/funding/sdg-2023-1.md
+++ b/community/funding/sdg-2023-1.md
@@ -2,10 +2,10 @@
unlisted: true
---
-
-
# NumFOCUS SDG 2023 Round 1 Proposal
+
+
**Name of Submitter:**
Jaime Rodríguez-Guerra
diff --git a/community/index.md b/community/index.md
index f3e8a517f2a..9ad121bba94 100644
--- a/community/index.md
+++ b/community/index.md
@@ -5,7 +5,9 @@ title: 'conda-forge community'
# Community
- [Getting in touch](getting-in-touch.md)
+
- [Governance](governance.md)
+
- [Joining the team](joining-the-team.md)
- [Contracting](contracting.md)
- [Meetings](meetings.mdx)
diff --git a/docs/_sidebar.js b/docs/_sidebar.js
index 2a65fab0706..8a00cf704c6 100644
--- a/docs/_sidebar.js
+++ b/docs/_sidebar.js
@@ -1,6 +1,6 @@
// See https://docusaurus.io/docs/sidebar
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
-const fs = require("fs");
+const fs = require("node:fs");
const sidebars = {
docs: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar.json`)),
diataxis: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar_diataxis.json`)),
diff --git a/docs/glossary.md b/docs/glossary.md
index cf7db18cb8d..2e3f5e1160d 100644
--- a/docs/glossary.md
+++ b/docs/glossary.md
@@ -114,7 +114,7 @@ Pull Request. A Pull Request is a workflow method to submit contributions to an
## Recipe
-A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](../maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) file, but can also include license files, patches, build scripts, test scripts etc.
+A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](/docs/maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) file, but can also include license files, patches, build scripts, test scripts etc.
[Learn More](https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html).
diff --git a/docs/maintainer/guidelines.md b/docs/maintainer/guidelines.md
index 193488c340e..086c81c6c9a 100644
--- a/docs/maintainer/guidelines.md
+++ b/docs/maintainer/guidelines.md
@@ -176,7 +176,7 @@ The current de facto policy can be found in [python-feedstock#794](https://githu
## Reviewing recipes
-To add new packages to conda-forge, users can submit a PR to `staged-recipes` (see [Contributing packages](../adding_pkgs) for more details),
+To add new packages to conda-forge, users can submit a PR to `staged-recipes` (see [Contributing packages](/docs/maintainer/adding_pkgs) for more details),
where it will undergo a series of automated checks and a code review.
Any conda-forge member can perform a code review, but the final merge can only be done by the `staged-recipes` or `core` teams.
The following sections suggest guidelines on how to perform a successful code review.
@@ -218,7 +218,7 @@ Recommended:
Required:
-1. `noarch: python` packages fulfill the [required criteria](../knowledge_base#noarch-python) to be considered as such.
+1. `noarch: python` packages fulfill the [required criteria](/docs/maintainer/knowledge_base#noarch-python) to be considered as such.
Recommended:
@@ -228,8 +228,8 @@ Recommended:
Alternatively, a patch can be applied. See [example](https://github.com/conda-forge/staged-recipes/pull/19166/commits/0284fc6da273031a4f93a1fea4533822cd4b385d).
2. The modules checked by `test.imports` are not empty (this can happen with placeholder `__init__.py` files in top-level packages).
3. The versions reported by `pip list` and `conda build` logs match.
-4. `pip check` passes. See [pip check](../adding_pkgs#testing-python-packages) for more details.
-5. If a project can be considered `noarch` (see [criteria](../knowledge_base#noarch-python)), it should be packaged as such.
+4. `pip check` passes. See [pip check](/docs/maintainer/adding_pkgs#testing-python-packages) for more details.
+5. If a project can be considered `noarch` (see [criteria](/docs/maintainer/knowledge_base#noarch-python)), it should be packaged as such.
diff --git a/docs/maintainer/maintainer_faq.md b/docs/maintainer/maintainer_faq.md
index a4c1b728169..9b8c1f38c0c 100644
--- a/docs/maintainer/maintainer_faq.md
+++ b/docs/maintainer/maintainer_faq.md
@@ -162,7 +162,7 @@ Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webg
```
This comes from the CI environment being headless and can be fixed by adding the `QT_QPA_PLATFORM=offscreen` [environment variable](https://docs.conda.io/projects/conda-build/en/stable/user-guide/environment-variables.html#inherited-environment-variables).
-The variable can either be added directly to the test command or provided in the [meta.yaml](../adding_pkgs#the-recipe-recipeyaml-or-metayaml) like so:
+The variable can either be added directly to the test command or provided in the [meta.yaml](/docs/maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) like so:
```yaml
build:
@@ -182,7 +182,7 @@ If you don't receive an an answer after a couple of days, feel free to reach out
:::note
Due to a GitHub limitation, this is disabled for new members.
-In that case, you can ping core using the bot command [@conda-forge-admin, please ping conda-forge/core](../infrastructure#conda-forge-admin-please-ping-conda-forgeteam).
+In that case, you can ping core using the bot command [@conda-forge-admin, please ping conda-forge/core](/docs/maintainer/infrastructure#conda-forge-admin-please-ping-conda-forgeteam).
:::
@@ -192,10 +192,10 @@ In case your issue is longer or you would like to contact us privately, feel fre
-## A feedstock has been abandoned and I would like to take over maintenance.
+## A feedstock has been abandoned and I would like to take over maintenance
A feedstock is generally considered abandoned when the maintainer isn't around anymore and doesn't merge new PRs or answer any issues.
-If that is the case, you can add yourself to the team by using the [@conda-forge-admin, please add user @username](../infrastructure#conda-forge-admin-please-add-user-username) command.
+If that is the case, you can add yourself to the team by using the [@conda-forge-admin, please add user @username](/docs/maintainer/infrastructure#conda-forge-admin-please-add-user-username) command.
If the maintainer doesn't merge it after roughly a week, [contact conda-forge/core](#mfaq-contact-core) to have it merged.
Once added, you have full rights to the feedstock and can continue its maintenance.
diff --git a/docs/maintainer/understanding_conda_forge/life_cycle.md b/docs/maintainer/understanding_conda_forge/life_cycle.md
index 88062372fca..769f9ebd21f 100644
--- a/docs/maintainer/understanding_conda_forge/life_cycle.md
+++ b/docs/maintainer/understanding_conda_forge/life_cycle.md
@@ -121,6 +121,5 @@ consider reading our [Infrastructure guide](/docs/maintainer/infrastructure).
[anaconda-org-labels]: https://docs.anaconda.com/anacondaorg/user-guide/tutorials/
[staged-recipes]: /docs/maintainer/understanding_conda_forge/staged_recipes/
-[feedstock-creation]: /docs/maintainer/understanding_conda_forge/staged_recipes/#feedstock-creation
diff --git a/docs/maintainer/updating_pkgs.md b/docs/maintainer/updating_pkgs.md
index 068892bcb3c..dd52cee081d 100644
--- a/docs/maintainer/updating_pkgs.md
+++ b/docs/maintainer/updating_pkgs.md
@@ -327,7 +327,7 @@ This will lead you to a file looking like:
Here, look for the `"new_version"` field. If that contains a wrong value, note it down for fixing in the next step.
The solution in this case is to let the bot know that it should ignore a certain version.
-This can be done in the `conda-forge.yml` configuration file, with [more details](../conda_forge_yml/#bot) in the documentation, the simple snippet boils down to
+This can be done in the `conda-forge.yml` configuration file, with [more details](conda_forge_yml.mdx#bot) in the documentation, the simple snippet boils down to
```yaml
bot:
diff --git a/docs/user/faq.md b/docs/user/faq.md
index 4a81e2b4ce2..28416239052 100644
--- a/docs/user/faq.md
+++ b/docs/user/faq.md
@@ -12,7 +12,7 @@ title: 'FAQ'
## A package I am looking for is not on conda-forge, what can I do?
-We have an overview and step-by-step instruction on contributing packages in the section [Contributing packages](../../maintainer/adding_pkgs).
+We have an overview and step-by-step instruction on contributing packages in the section [Contributing packages](/docs/maintainer/adding_pkgs).
@@ -107,7 +107,7 @@ compilers only contains the sysroot they were built with. The compiler binary na
‘prefixed' with more complete information about the architecture and [ABI](../glossary.md#abi) they target. So, instead
of `gcc`, the actual binary will be named something like `x86_64-conda-linux-gnu-cc`.
-The conda-forge infrastructure provides [activation scripts](../../maintainer/adding_pkgs#activate-scripts) which are run when
+The conda-forge infrastructure provides [activation scripts](/docs/maintainer/adding_pkgs#activate-scripts) which are run when
you `conda activate` an environment that contains the compiler toolchain. Those scripts set
many environment variables that are typically used by GNU `autotools` and `make` in the
`standard` (i.e. builtin) build rules. For example, you would see the variable `CC` set to
diff --git a/docs/user/introduction.md b/docs/user/introduction.md
index 06c997502a7..77ee103cbb3 100644
--- a/docs/user/introduction.md
+++ b/docs/user/introduction.md
@@ -55,15 +55,20 @@ You can refer to the [Glossary](../glossary.md).
Using conda-forge is easy!
- Make sure you have `conda >=4.9`:
+
```bash
conda --version
conda update conda
```
+
- Add conda-forge as the highest priority channel:
+
```bash
conda config --add channels conda-forge
```
+
- Activate `strict` channel priority (`strict` will be activated by default in conda 5.0):
+
```bash
conda config --set channel_priority strict
```
@@ -103,7 +108,7 @@ Please refer to [Using multiple channels](tipsandtricks.md#multiple-channels) fo
Anyone can contribute packages to the `conda-forge` channel.
You don't have to be the upstream maintainer of a package in order to contribute it to conda-forge.
-To learn how to contribute your first package read [the staging process](../../maintainer/adding_pkgs#the-staging-process).
+To learn how to contribute your first package read [the staging process](/docs/maintainer/adding_pkgs#the-staging-process).
diff --git a/docs/user/transitioning_from_defaults.md b/docs/user/transitioning_from_defaults.md
index b32e4bedd9f..8c62ae3b825 100644
--- a/docs/user/transitioning_from_defaults.md
+++ b/docs/user/transitioning_from_defaults.md
@@ -85,9 +85,11 @@ are guidelines on how to go about this, while backing up your work and your envi
for those use cases.
- Another useful file to create is the input `environment.yml` for each environment:
+
```shell
conda env export --from-history --prefix --prefix /path/to/environment-name > environment-name.yml
```
+
This file won't capture the exact same state you had in your environment. Instead it
will tell `conda` what packages to look for and then find a solution that satisfies
the request.
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 8b0436b8daf..decfab38824 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -1,7 +1,6 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
-const path = require("path");
const prism = require("prism-react-renderer");
const _repo = process.env.GHREPO || "conda-forge/conda-forge.github.io";
diff --git a/news/2018-09-10-conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations.md b/news/2018-09-10-conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations.md
index df4379438f0..e168b49807e 100644
--- a/news/2018-09-10-conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations.md
+++ b/news/2018-09-10-conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations.md
@@ -1,4 +1,4 @@
-# Conda forge now has a magical status bar for tracking the progress of migrations.
+# Conda forge now has a magical status bar for tracking the progress of migrations
You can find this at
[conda-forge.org/status](https://conda-forge.org/status).
diff --git a/news/2018-09-20-the-compiler-migration-is-in-full-swing.md b/news/2018-09-20-the-compiler-migration-is-in-full-swing.md
index e0e4cb4670f..dca57ac291d 100644
--- a/news/2018-09-20-the-compiler-migration-is-in-full-swing.md
+++ b/news/2018-09-20-the-compiler-migration-is-in-full-swing.md
@@ -1,4 +1,4 @@
-# The compiler migration is in full swing.
+# The compiler migration is in full swing
The bot will be making the rounds and modernizing more than 4000
packages. This is going to take a few months to get done so bear with
diff --git a/news/2018-09-24-a-minimal-python-37-build-is-now-available-across-all-platforms-and-both-compilers.md b/news/2018-09-24-a-minimal-python-37-build-is-now-available-across-all-platforms-and-both-compilers.md
index e1d03a309a3..d50b281d0ac 100644
--- a/news/2018-09-24-a-minimal-python-37-build-is-now-available-across-all-platforms-and-both-compilers.md
+++ b/news/2018-09-24-a-minimal-python-37-build-is-now-available-across-all-platforms-and-both-compilers.md
@@ -1,3 +1,3 @@
-# A minimal python 3.7 build is now available across all platforms and both compilers!
+# A minimal python 3.7 build is now available across all platforms and both compilers
Yay!
diff --git a/news/2018-10-12-the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed.md b/news/2018-10-12-the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed.md
index ed054900f7d..46587475be5 100644
--- a/news/2018-10-12-the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed.md
+++ b/news/2018-10-12-the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed.md
@@ -1,4 +1,4 @@
-# The rebuild is moving along nicely with almost a third of the packages completed.
+# The rebuild is moving along nicely with almost a third of the packages completed
Recently completed are NumPy and Openblas which should open up much of
the python numeric stack. We're only about 5 feedstocks away from
diff --git a/news/2019-01-22-it-has-happened-conda-forge-has-migrated-to-the-latest-compilers.md b/news/2019-01-22-it-has-happened-conda-forge-has-migrated-to-the-latest-compilers.md
index 41940419d9c..2ea4956a4eb 100644
--- a/news/2019-01-22-it-has-happened-conda-forge-has-migrated-to-the-latest-compilers.md
+++ b/news/2019-01-22-it-has-happened-conda-forge-has-migrated-to-the-latest-compilers.md
@@ -1,4 +1,4 @@
-# It has happened! Conda-forge has migrated to the latest compilers 🎉.
+# It has happened! Conda-forge has migrated to the latest compilers 🎉
If you:
diff --git a/news/2019-03-28-we-overhauled-the-blas-support-in-conda-forge.md b/news/2019-03-28-we-overhauled-the-blas-support-in-conda-forge.md
index 2809ce5e02c..fed1ed1040b 100644
--- a/news/2019-03-28-we-overhauled-the-blas-support-in-conda-forge.md
+++ b/news/2019-03-28-we-overhauled-the-blas-support-in-conda-forge.md
@@ -1,4 +1,4 @@
-# We overhauled the blas support in conda-forge.
+# We overhauled the blas support in conda-forge
- Our packages now build against NETLIB’s reference implementation.
- You as a user can now choose the implementation available at runtime.
diff --git a/news/2021-05-22-conda-forge-is-now-citable.md b/news/2021-05-22-conda-forge-is-now-citable.md
index 7ee23702c94..d2a6ddb89b6 100644
--- a/news/2021-05-22-conda-forge-is-now-citable.md
+++ b/news/2021-05-22-conda-forge-is-now-citable.md
@@ -1,4 +1,4 @@
-# conda-forge is now citable!
+# conda-forge is now citable
You can now cite conda-forge using our [Zenodo
entry](https://doi.org/10.5281/zenodo.4774216)! This entry credits the
diff --git a/news/2021-10-13-gcc-10-and-clang-12-as-default-compilers-for-linux-and-macos.md b/news/2021-10-13-gcc-10-and-clang-12-as-default-compilers-for-linux-and-macos.md
index 792520b52ab..8b07b9557ed 100644
--- a/news/2021-10-13-gcc-10-and-clang-12-as-default-compilers-for-linux-and-macos.md
+++ b/news/2021-10-13-gcc-10-and-clang-12-as-default-compilers-for-linux-and-macos.md
@@ -4,6 +4,6 @@ These compilers will become the default for building packages in
conda-forge. One notable change in gcc 10 is that the `-fopenmp`` flag in
`FFLAGS`is dropped. In clang 12,`-std=c++14`explicit flag has been
dropped from`CXXFLAGS`, as it is the default compilation mode for clang
-12. In gcc 11, the default is `-std=gnu++17`. In clang>=12 and gcc>=11,
+12. In gcc 11, the default is`-std=gnu++17`. In clang>=12 and gcc>=11,
we will not provide an explicit C++ standard, and will defer to the
compiler default.
diff --git a/news/2024-03-24-stdlib-migration.md b/news/2024-03-24-stdlib-migration.md
index 22bed1d442f..64e87fd51b6 100644
--- a/news/2024-03-24-stdlib-migration.md
+++ b/news/2024-03-24-stdlib-migration.md
@@ -30,17 +30,21 @@ all feedstock maintainers are free to apply independently:
add a line with `- {{ stdlib("c") }}` to the build environment.
- if a feedstock uses `- sysroot_linux-64 2.17 # [linux64]` (or a variation),
remove this line and add the following to your `conda_build_config.yaml`:
+
```
c_stdlib_version: # [linux]
- 2.17 # [linux]
```
+
- if a feedstock sets `MACOSX_DEPLOYMENT_TARGET` in `conda_build_config.yaml`,
for example to 10.13 for `x86_64`, replace that section with the following
(note, this does _not_ apply to `MACOSX_SDK_VERSION`!):
+
```
c_stdlib_version: # [osx and x86_64]
- 10.13 # [osx and x86_64]
```
+
- In `meta.yaml`, you can then remove any variations of `- __glibc >=2.17` or
`- __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64]`, as this will
henceforth be handled through `- {{ stdlib("c") }}`.
diff --git a/package-lock.json b/package-lock.json
index 945d063e547..780f8d02068 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,8 +33,7 @@
"remark-gfm": "^4.0.1"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "^3.9.2",
- "prettier": "^3.8.1"
+ "@docusaurus/module-type-aliases": "^3.9.2"
},
"engines": {
"node": ">=18.0"
@@ -16011,22 +16010,6 @@
"postcss": "^8.4.31"
}
},
- "node_modules/prettier": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
- "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
"node_modules/pretty-error": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
diff --git a/package.json b/package.json
index 8e9a0e18c07..a79e21e9a77 100644
--- a/package.json
+++ b/package.json
@@ -39,8 +39,7 @@
"remark-gfm": "^4.0.1"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "^3.9.2",
- "prettier": "^3.8.1"
+ "@docusaurus/module-type-aliases": "^3.9.2"
},
"browserslist": {
"production": [
diff --git a/src/components/DependencyGraph/SearchFilter.module.css b/src/components/DependencyGraph/SearchFilter.module.css
index b5e9a6b1a9c..41d7d6e7c2b 100644
--- a/src/components/DependencyGraph/SearchFilter.module.css
+++ b/src/components/DependencyGraph/SearchFilter.module.css
@@ -40,8 +40,7 @@
background-color: var(--ifm-color-emphasis-100);
}
-.datalist option:checked,
-.datalist option:selected {
+.datalist option:checked {
background: linear-gradient(
var(--ifm-color-primary),
var(--ifm-color-primary)
diff --git a/src/components/DependencyGraph/migrationGraphUtils.js b/src/components/DependencyGraph/migrationGraphUtils.js
index cb62f676d11..b1aa757116e 100644
--- a/src/components/DependencyGraph/migrationGraphUtils.js
+++ b/src/components/DependencyGraph/migrationGraphUtils.js
@@ -2,8 +2,8 @@
* Utility functions for graph operations in the migration status page
*/
-import * as dagreD3 from "dagre-d3-es";
import * as d3 from "d3";
+import * as dagreD3 from "dagre-d3-es";
export const getGraphSettings = (
rankdir = "TB",
@@ -279,7 +279,7 @@ export const buildInitialGraph = (
const nodesWithChildren = new Set();
allNodeIds.forEach((nodeId) => {
const node = nodeMap[nodeId];
- if (node && node.outgoing && node.outgoing.length > 0) {
+ if (node?.outgoing?.length > 0) {
nodesWithChildren.add(nodeId);
}
});
@@ -447,7 +447,7 @@ export const buildGraph = (
.setDefaultEdgeLabel(() => ({}));
// Add compound nodes (subgraphs) for each component
- components.forEach((component, componentIndex) => {
+ components.forEach((_component, componentIndex) => {
const componentId = `component-${componentIndex}`;
g.setNode(componentId, {
label: "",
diff --git a/src/components/StatusDashboard/styles.module.css b/src/components/StatusDashboard/styles.module.css
index 6b2888c46a9..7a13874ef76 100644
--- a/src/components/StatusDashboard/styles.module.css
+++ b/src/components/StatusDashboard/styles.module.css
@@ -71,7 +71,7 @@
content: " ▹";
}
-.migrations_table th:not(colspan)::after {
+.migrations_table th:not([colspan])::after {
font-size: smaller;
position: absolute;
right: 1px;
diff --git a/src/css/custom.css b/src/css/custom.css
index 83ab72a731a..a3ae41a255c 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -109,8 +109,8 @@ a {
a:hover,
/* We need to (re)override some of the infima rules to have proper states on
navbar links, table of contents, and docs sidebar links, respectively */
-a.navbar__link:hover, /* Top bar navigation links */
-a.table-of-contents__link:hover, /*Right sidebar links (table of contents) */
+ a.navbar__link:hover /* Top bar navigation links */,
+a.table-of-contents__link:hover /*Right sidebar links (table of contents) */,
a[class^="sidebarItemLink"]:hover /* The docs sidebar links do not have its own class */ {
text-decoration: underline;
text-decoration-thickness: var(--pydata-link-hover-decoration-thickness);
@@ -126,13 +126,13 @@ a[class^="sidebarItemLink"]:active {
/* In some cases, we override the underlines because there are other elements that
already report the state (e.g. borders, background colors, etc) */
-a[class^="sidebarItemLink"][aria-current="page"], /* No underline if this is the current page */
+a[class^="sidebarItemLink"][aria-current="page"] /* No underline if this is the current page */,
a.navbar__link,
.navbar-sidebar__item,
.menu a,
.navbar__items--right a,
.pagination-nav__link,
-a.card, /* These cards are used in index-like documentation pages */
+a.card /* These cards are used in index-like documentation pages */,
a.card:hover {
text-decoration: none;
}
diff --git a/src/pages/announcements.md b/src/pages/announcements.md
index f65c6ec1428..d4c67d7a168 100644
--- a/src/pages/announcements.md
+++ b/src/pages/announcements.md
@@ -125,7 +125,7 @@ Please go to [News](/news/) for the latest ones! The RSS feed is available at [/
[Read more](/news/2021/09/30/defaults-channel-is-now-dropped-when-building-conda-forge-packages/).
-### 2021-05-22: conda-forge is now citable! {#conda-forge-is-now-citable}
+### 2021-05-22: conda-forge is now citable {#conda-forge-is-now-citable}
[Read more](/news/2021/05/22/conda-forge-is-now-citable/).
@@ -217,11 +217,11 @@ Please go to [News](/news/) for the latest ones! The RSS feed is available at [/
[Read more](/news/2019/09/30/clang-900-and-gfortran-730-as-default-compilers-in-osx/).
-### 2019-03-28: We overhauled the blas support in conda-forge. {#we-overhauled-the-blas-support-in-conda-forge}
+### 2019-03-28: We overhauled the blas support in conda-forge {#we-overhauled-the-blas-support-in-conda-forge}
[Read more](/news/2019/03/28/we-overhauled-the-blas-support-in-conda-forge/).
-### 2019-01-22: It has happened! Conda-forge has migrated to the latest compilers 🎉. {#it-has-happened-conda-forge-has-migrated-to-the-latest-compilers}
+### 2019-01-22: It has happened! Conda-forge has migrated to the latest compilers 🎉 {#it-has-happened-conda-forge-has-migrated-to-the-latest-compilers}
[Read more](/news/2019/01/22/it-has-happened-conda-forge-has-migrated-to-the-latest-compilers/).
@@ -229,11 +229,11 @@ Please go to [News](/news/) for the latest ones! The RSS feed is available at [/
## 2018 {#id7}
-### 2018-10-12: The rebuild is moving along nicely with almost a third of the packages completed. {#the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed}
+### 2018-10-12: The rebuild is moving along nicely with almost a third of the packages completed {#the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed}
[Read more](/news/2018/10/12/the-rebuild-is-moving-along-nicely-with-almost-a-third-of-the-packages-completed/).
-### 2018-09-24: A minimal python 3.7 build is now available across all platforms and both compilers! {#a-minimal-python-3-7-build-is-now-available-across-all-platforms-and-both-compilers}
+### 2018-09-24: A minimal python 3.7 build is now available across all platforms and both compilers {#a-minimal-python-3-7-build-is-now-available-across-all-platforms-and-both-compilers}
[Read more](/news/2018/09/24/deprecation-notice-for-python-35/).
@@ -241,10 +241,10 @@ Please go to [News](/news/) for the latest ones! The RSS feed is available at [/
[Read more](/news/2018/09/24/a-minimal-python-37-build-is-now-available-across-all-platforms-and-both-compilers/).
-### 2018-09-20: The compiler migration is in full swing. {#the-compiler-migration-is-in-full-swing}
+### 2018-09-20: The compiler migration is in full swing {#the-compiler-migration-is-in-full-swing}
[Read more](/news/2018/09/20/the-compiler-migration-is-in-full-swing/).
-### 2018-09-10: Conda forge now has a magical status bar for tracking the progress of migrations. {#conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations}
+### 2018-09-10: Conda forge now has a magical status bar for tracking the progress of migrations {#conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations}
[Read more](/news/2018/09/10/conda-forge-now-has-a-magical-status-bar-for-tracking-the-progress-of-migrations/).
diff --git a/src/pages/status/migration/styles.module.css b/src/pages/status/migration/styles.module.css
index 580b6c28bd2..53755392ca2 100644
--- a/src/pages/status/migration/styles.module.css
+++ b/src/pages/status/migration/styles.module.css
@@ -158,7 +158,6 @@
position: relative;
width: 16px;
height: 16px;
- position: relative;
left: 8px;
top: 2px;
border-radius: 50%;
diff --git a/src/theme/NotFound/index.js b/src/theme/NotFound/index.js
index 2126c1bc24e..a49f2609c13 100644
--- a/src/theme/NotFound/index.js
+++ b/src/theme/NotFound/index.js
@@ -4,18 +4,17 @@ after merging this PR: https://github.com/conda-forge/conda-forge.github.io/pull
We can probably remove this at some point when enough migrations have been closed and
they are not as relevant.
*/
-import React from "react";
-import NotFound from "@theme-original/NotFound";
+
import { useLocation } from "@docusaurus/router";
-import Layout from "@theme/Layout";
import Heading from "@theme/Heading";
+import Layout from "@theme/Layout";
+import NotFound from "@theme-original/NotFound";
export default function NotFoundWrapper(props) {
const location = useLocation().pathname;
if (location.match("/status/migration/[a-zA-Z0-9-_+]+")) {
const parts = location.split("/");
- const target =
- "/status/migration/?name=" + parts[parts.indexOf("migration") + 1];
+ const target = `/status/migration/?name=${parts[parts.indexOf("migration") + 1]}`;
return (
@@ -37,9 +36,5 @@ export default function NotFoundWrapper(props) {
);
}
// Regular 404 component
- return (
- <>
-
- >
- );
+ return ;
}