Skip to content

Commit 11c20ce

Browse files
authored
Merge pull request #2147 from jaimergp/website-announcement
2 parents 7e06b3a + 5019256 commit 11c20ce

File tree

3 files changed

+106
-24
lines changed

3 files changed

+106
-24
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
--base "$(pwd)/build"
5454
--accept 100..399,401,403,429
5555
--exclude 'https://polys.me/?$'
56+
--exclude 'https://conda-metadata-app.streamlit.app/?$'
5657
--exclude 'https://kb43fqob7u-dsn.algolia.net/'
5758
--exclude '.*/404.html/'
5859
--exclude '.*,.*'

docs/user/contributing.md

Lines changed: 57 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,47 @@ We encourage you to contribute to conda-forge. You can do so in several ways:
1515
- [Contribute new packages](../maintainer/adding_pkgs.md).
1616
- Help update and [maintain packages](../maintainer/updating_pkgs.md).
1717
- Suggest or implement improvements for our [infrastructure](../maintainer/infrastructure.md).
18-
- Help [improve the documentation](#improve-docs).
18+
- Help [improve the website and documentation](#improve-the-website).
1919

2020
<a id="improve-docs"></a>
2121

22-
<a id="improve-the-documentation"></a>
22+
## Improve the website
2323

24-
## Improve the documentation
24+
The conda-forge website is version-controlled in the
25+
[conda-forge.github.io repository](https://github.com/conda-forge/conda-forge.github.io) on GitHub.
26+
It is built with [Docusaurus](https://docusaurus.io).
2527

26-
The conda-forge documentation is version-controlled in the
27-
[conda-forge.github.io repository](https://github.com/conda-forge/conda-forge.github.io) on GitHub. The source
28-
text is stored in [the `docs/` subdirectory](https://github.com/conda-forge/conda-forge.github.io/tree/main/docs of this repository and
29-
is formatted using [Docusaurus' Markdown](https://docusaurus.io/docs/markdown-features).
28+
### Website repository structure
3029

31-
<a id="editing-the-documentation-directly-through-github"></a>
30+
:::info MD, MDX and JSX
31+
While most of the content is written with
32+
[Docusaurus' Markdown](https://docusaurus.io/docs/markdown-features) (`*.md` files),
33+
some specific pages and sections include dynamic blocks (`*.mdx` files) or are straight JSX files
34+
(`*.jsx` files). This allows you to mix Markdown and JavaScript/React in the same document,
35+
depending on the file extension. In MDX mode, the parser is much stricter though.
36+
Read more about in the ["MDX and React" docs from Docusaurus](https://docusaurus.io/docs/markdown-features/react).
37+
:::
38+
39+
#### Docs & Community
40+
41+
- These two sections use [`plugin-content-docs`](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-docs).
42+
- The **Docs** section corresponds to the `/docs` directory. Most of the pages use regular Markdown
43+
(`*.md`), but some are dynamic pages with some JavaScript (`*.mdx`).
44+
- The **Community** section comes from the `/community` directory.
45+
46+
#### News & blog
47+
48+
- These two sections use [`plugin-content-blog`](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
49+
- The **News** section comes from the `/news` directory.
50+
It is considered a changelog of important changes in our infrastructure and packages.
51+
- The **Blog** section corresponds to the `/blog` directory.
52+
It usually discusses important updates from the extended ecosystem.
53+
54+
#### Standalone pages and sections
55+
56+
- These rely on [`plugin-content-pages`](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-pages).
57+
- They can be simple Markdown pages or more elaborate React applications.
58+
- Find them under `/src/pages`. MDX and JSX pages will usually call components defined in `/src/components`.
3259

3360
### Editing the documentation directly through Github
3461

@@ -38,8 +65,6 @@ will take you directly to a web-based editor for this very webpage. In
3865
general, the file corresponding to each page in the GitHub browser has a
3966
little pencil icon in its top-right corner that lets you open it up for editing.
4067

41-
<a id="editing-the-documentation-locally"></a>
42-
4368
### Editing the documentation locally
4469

4570
We are glad to know that you would like to contribute to the conda-forge documentation.
@@ -48,29 +73,37 @@ If you are new to the conda-forge community, follow the steps below to make your
4873
1. [Fork](https://help.github.com/articles/fork-a-repo/) the
4974
[conda-forge.github.io repository](https://github.com/conda-forge/conda-forge.github.io).
5075
2. Clone this fork onto your local machine:
51-
- `git clone https://github.com/<your-username>/conda-forge.github.io.git`
52-
- `cd conda-forge.github.io`
76+
```
77+
git clone https://github.com/<your-username>/conda-forge.github.io.git
78+
cd conda-forge.github.io
79+
```
5380
3. Create a new branch deriving from `main` to do your work:
54-
- `git checkout -b <new-branch-name>`
81+
```
82+
git checkout -b <new-branch-name>
83+
```
5584
4. Run the following commands:
56-
- `conda env create -f ./.ci_scripts/environment.yml`
57-
- `conda activate conda-forge-docs`
85+
```
86+
conda env create -f ./.ci_scripts/environment.yml
87+
```
88+
conda activate conda-forge-docs
5889
5. While writing your new documentation, you can use the live preview mode with:
5990
- `npm install` to make sure `node_modules` is up-to-date
60-
- `npm run start` to start the live preview. Every time you save a file, the changes will be reflected instantaneously!
61-
6. Once ready, you can also check how the production build would look like with the command:
62-
- `.ci_scripts/update_docs`
63-
You can check the changes locally by opening the html files in `build/` or running:
64-
- `python -m http.server --directory build/`
91+
- `npm run start` to start the live preview. Every time you save a file, the changes will be reflected instantaneously.
92+
6. Once ready, you can also check how the production build would look like with the commands:
93+
```
94+
.ci_scripts/update_docs
95+
python -m http.server --directory build/
96+
```
6597
7. Add and commit your changes:
66-
- `git add .`
67-
- `git commit -m "your commit message"`
98+
```
99+
git add .
100+
git commit -m "your commit message"
101+
```
68102
8. Submit a [pull request](https://help.github.com/articles/about-pull-requests/) to the main repository proposing your changes.
103+
The CI pipelines will include a PR preview on Netlify.
69104

70105
Happy contributing!
71106

72-
<a id="writing-guidelines"></a>
73-
74107
### Writing guidelines
75108

76109
Some basic writing guidelines should be kept in mind before you start contributing:

news/2024-04-09-new-website.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# The new conda-forge.org
2+
3+
As you might have noticed, for the last few months we have been changing different parts of the conda-forge.org website. Read more to learn more about what we changed, how it works and how to contribute.
4+
5+
<!-- truncate -->
6+
7+
## Old vs new
8+
9+
The [old conda-forge.org](https://github.com/conda-forge/conda-forge.github.io/tree/1d3214c295a46a249434de4fcf48c6b8d747a07f) documentation was written with [Sphinx](https://www.sphinx-doc.org). Some extra extensions were responsible for the other parts of the website; e.g. the [blog](https://github.com/conda-forge/blog), the [RSS feed](https://github.com/conda-forge/conda-forge.github.io/tree/1d3214c295a46a249434de4fcf48c6b8d747a07f/newsfeed), the [frontpage](https://github.com/conda-forge/conda-forge.github.io/blob/1d3214c295a46a249434de4fcf48c6b8d747a07f/index.html.tmpl), [feedstock outputs](https://github.com/conda-forge/conda-forge.github.io/blob/1d3214c295a46a249434de4fcf48c6b8d747a07f/feedstock_outputs.html.tmpl), or the [status page](https://github.com/conda-forge/status/tree/bde62db0bc9de460f533d60ca6218604c3e42fa5/site).
10+
11+
The new website has been rewritten using the [Docusaurus](https://docusaurus.io/) project. This allows us to have a single framework for all the sections of the site. There are some big differences if we compare the new site with the old one:
12+
13+
- Sphinx was written in Python. Docusaurus uses the Node.js stack.
14+
- Most of our docs were written in RST. Docusaurus handles Markdown and MDX (Markdown + JSX).
15+
- Instead of generating static HTML from Jinja templates, we now prefer fetching the JSON payloads and render the relevant pages at build time (i.e. when we run `npm run build`) or at load time (when the user visits the website). This allows to have all the website rendering logic in the same repository with a unified theme, search engine and statistics.
16+
17+
## What we have changed
18+
19+
- The theme for the whole site is responsive, accessible, mobile friendly and supports dark/light modes. A style guide is available too.
20+
- The Status dashboard fetches data dynamically and provides detailed views for each migration.
21+
- The Packages section lists latest updates in addition to mapping packages to feedstocks.
22+
- A new Download page displays links to the latest Miniforge installers.
23+
- The documentation has been split in two top-level categories: Docs and Community.
24+
- Algolia generously serves the backend for the search bar.
25+
- Netlify will render previews on each opened PR for a smoother contribution process.
26+
- The blog posts and the announcements feed are served natively by Docusaurus.
27+
- We converted all the Sphinx-native ReStructuredText documents to Docusaurus-friendly Markdown.
28+
- The conda-forge.yml docs are autogenerated from the conda-smithy schemas.
29+
- ... and a bunch of smaller changes in the documentation. Refer to the [meta-issue](https://github.com/conda-forge/conda-forge.github.io/issues/1971) for more information!
30+
31+
## New features you can use
32+
33+
- Learn how to use and maintain packages from conda-forge in the [main documentation section](/docs).
34+
- Read about how our community is set up in the [Community section](/community)
35+
- The most recent changes to our infrastructure will be announced in [News](/news). You can also subscribe to the [RSS feed](pathname:///news/rss.xml) and browse the [archive](/news/archive/).
36+
- Important information about the ecosystem is discussed in the [Blog](/blog). You can also subscribe to the [RSS feed](pathname:///blog/rss.xml) and browse the [archive](/blog/archive/). The posts are sometimes categorized with [tags](/blog/tags/) too.
37+
- Use the search bar to locate any document in the website! It should be smart enough to remember the content you need more often. Use the <kbd>Cmd/Ctrl</kbd>+<kbd>K</kbd> shortcut for faster access.
38+
- The [Status dashboard](/status) will inform you about the latest incidents and ongoing migrations. Each migration has now a permalink you can explore and share!
39+
- The [Packages](/packages) section will help you find all the packages in conda-forge. If you don't type anything in the search bar, it will list the last 100 uploads to the Anaconda.org channel. The metadata link in each row will take you to the [`conda-metadata-app` dashboard](https://conda-metadata-app.streamlit.app/).
40+
- Use the [Download page](/download) to get the latest Miniforge installers.
41+
42+
## How to help and contribute
43+
44+
We have changed a lot of things, so there's a chance we missed something somewhere. If you have suggestions or errors to report, please let us know in the [website issue tracker](https://github.com/conda-forge/conda-forge.github.io/issues). Feel free to check the [documentation contribution guidelines](/docs/user/contributing/#improve-the-website) too.
45+
46+
## Acknowledgements
47+
48+
This revamp was a months-long effort (read ). The core team would like to take a moment to thank to all the contributors that made it possible (in alphabetical order): Afshin Darian, Asmit Malakannawar, Gabriela Vives, Isabela Presedo-Floyd, Klaus Zimmermann, Tania Allard.

0 commit comments

Comments
 (0)