Browse Source

Merge pull request #206 from VaclavElias/update-11-contributors-section-improvements

Update 11 contributors section improvements
Vaclav Elias 2 years ago
parent
commit
fd761f5e3f

+ 1 - 1
en/ReleaseNotes/ReleaseNotes.md

@@ -184,7 +184,7 @@ Although there have been [many fixes](**https://github.com/stride3d/stride/pulls
 ## Also good to know
 Although not directly tied to Release 4.2, we have made some other big changes. For instance to our website and documentation. We also had another community meeting to address all those new members.
 - [Website and documentation revamped and build process updated](https://www.stride3d.net/blog/announcing-website-update/)
-- [Contributor section moved to docs](https://doc.stride3d.net/latest/en/contributors/ways-to-contribute.html)
+- [Contributor section moved to docs](https://doc.stride3d.net/latest/en/contributors/index.html)
 - [Community meeting October 2023](https://www.stride3d.net/blog/community-meeting-october-2023/)
 
 ## Acknowledgements

+ 0 - 0
en/contributors/ways-to-contribute.md → en/contributors/index.md


+ 9 - 2
en/contributors/toc.yml

@@ -2,7 +2,7 @@ pdf: true
 pdfFileName: contributing-in-stride.pdf
 items:
 - name: 🌟 Ways to Contribute
-  href: ways-to-contribute.md
+  href: index.md
   expanded: true
 - name: 💸 Donate
   href: donate.md
@@ -66,11 +66,18 @@ items:
       href: website/installation.md
     - name: Website Content
       href: website/content.md
+      items:
+      - name: Shortcodes and Includes
+        href: website/content-shortcodes-and-includes.md
+    - name: Figma Designs
+      href: website/figma.md
     - name: Roadmap
       href: website/roadmap.md
     - name: Eleventy
       href: website/eleventy.md
     - name: Deployment
       href: website/deployment-azure.md
+    - name: Major Release Workflow
+      href: website/major-release-workflow.md
     - name: Troubleshooting and FAQ
-      href: website/troubleshooting-and-faq.md
+      href: website/troubleshooting-and-faq.md

+ 140 - 0
en/contributors/website/content-shortcodes-and-includes.md

@@ -0,0 +1,140 @@
+# Shortcodes and Includes
+
+You can see examples here https://www.stride3d.net/blog/examples/.
+
+## Alert
+
+To add an alert, use the following `include`, where:
+
+- `type` is one of the following: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `light`, `dark`. Using these types will automatically include a relevant icon
+- `icon` is a Font Awesome icon, which is optional. You can use any free icon, e.g., fa-check.
+- `title` is the title of the alert
+
+```liquid
+# This will render as a green box without the icon
+{% include _alert.html type:'success' icon:'' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
+
+# This will render as a green box with a check icon
+{% include _alert.html type:'success' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
+
+# This will render as a green box with a custom icon
+{% include _alert.html type:'success' icon:'fa-face-smile' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
+```
+
+### Examples
+
+See the examples [here](https://www.stride3d.net/blog/examples/#alert).
+
+![Alert examples in the Stride website](media/alert-examples.jpg)
+
+## Alert Banner
+
+A global alert banner can be used for promotional purposes. The banner can be activated in `site.json`. It will show up on every single page.
+
+```json
+"alert-banner": true
+```
+
+The HTML can be updated in the `/_includes/alert-banner.html` file.
+
+![Alert Banner examples in the Stride website](media/alert-banner-example.jpg)
+
+## Image
+
+Add responsive images using shortcodes. Be sure to include a descriptive title, as it will improve your post's search engine visibility. Also, if possible, use the **webp** format for images, which can also be used for transparent images. This will improve the performance of your site.
+
+### img
+
+To add a responsive image, use the following shortcode:
+
+`{% img 'title' 'url' %}`
+
+Replace `title` with a descriptive title for the image and `url` with the image URL. This shortcode renders as:
+
+```html
+<img alt="title" src="url" class="img-fluid mb-2" loading="lazy" data-src="url">
+```
+
+### img-click
+
+To add a responsive image with a clickable link that opens the image in full size, use the following shortcode:
+
+`{% img-click 'title' 'url' %}`
+
+Replace `title` with a descriptive title for the image and `url` with the image URL. This shortcode renders as:
+
+```html
+<a href="url" title="title" class="mb-2"><img alt="title" src="url" class="img-fluid" loading="lazy" data-src="url"></a>
+```
+
+To add a responsive image with a clickable link that directs users to a custom destination, use the following shortcode:
+
+`{% img-click 'title' 'url' 'destinationUrl' %}`
+
+Replace `title` with a descriptive title for the image, `url` with the image URL, and `destinationUrl` with the target URL when the image is clicked. This shortcode renders as:
+
+```html
+<a href="destinationUrl" title="title" class="mb-2"><img alt="title" src="url" class="img-fluid" loading="lazy" data-src="url"></a>
+```
+
+## Video
+
+We should consider hosting our videos on YouTube whenever possible.
+
+### youtube
+
+To embed a **YouTube video**, use the following shortcode:
+
+`{% youtube 'id' %}`
+
+Replace `id` with the YouTube video ID. This shortcode renders as:
+
+```html
+<div class="ratio ratio-16x9 mb-2"><iframe src="https://www.youtube.com/embed/id" title="YouTube video" allowfullscreen></iframe></div>
+```
+
+### youtube-playlist
+
+To embed a **YouTube playlist**, use the following shortcode:
+
+`{% youtube-playlist 'id' %}`
+
+Replace `id` with the YouTube playlist ID. This shortcode renders as:
+
+```html
+<div class="ratio ratio-16x9 mb-2"><iframe src="https://www.youtube.com/embed/videoseries?list=id" title="YouTube video" allowfullscreen></iframe></div>
+```
+
+To embed a video hosted elsewhere, use the following shortcode:
+
+### Hosting our own videos
+
+`{% video 'url' %}`
+
+Replace `url` with the video URL (e.g., .mp4 file). Make sure you have a matching .jpg file with the same name as the .mp4 file for the poster attribute. This shortcode renders as:
+
+```html
+<!-- jpgUrl = url.replace(".mp4", ".jpg") // make sure you have a pair .mp4 and .jpg -->
+<div class="ratio ratio-16x9 mb-2"><video autoplay loop class="responsive-video" poster="jpgUrl"><source src="url" type="video/mp4"></video></div>
+```
+
+### How to encode videos
+
+Videos can be generated by many software in various formats & size, so they might end up being incompatible with web browsers or mobile, or simply be way too large.
+It is better to stick to a format with low requirements such as H264 baseline profile (works almost everywhere).
+
+To do so, process the file using [fmpeg](https://ffmpeg.org/download.html):
+
+```
+ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
+```
+
+Also, generate a static thumbnail so that people can preview it before downloading the video (very important on mobile):
+
+ToDo: Check if webp can be generated from ffmpeg
+
+```
+ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
+```
+
+ToDo: Maybe we could provide a simple tool to do that without using command line.

+ 38 - 175
en/contributors/website/content.md

@@ -1,26 +1,6 @@
 # Website Content
-- [Content Updates](#content-updates)
-  - [Small Updates](#small-updates)
-  - [Major Updates](#major-updates)
-- [Creating New Post](#creating-new-post)
-  - [Post Naming Convention](#post-naming-convention)
-  - [Post Front Matter](#post-front-matter)
-  - [Post Content](#post-content)
-  - [Excerpt](#excerpt)
-- [Creating New Page](#creating-new-page)
-  - [Page Front Matter](#page-front-matter)
-- [Shortcodes and Includes](#shortcodes-and-includes)
-  - [Alert](#alert)
-  - [Alert Banner](#alert-banner)
-  - [Image](#image)
-  - [Video](#video)
-- [Web Assets](#web-assets)
-- [Styling](#styling)
-  - [Bootstrap Customization](#bootstrap-customization)
-  - [CSS Guidelines](#css-guidelines)
-- [Submitting your Changes](#submitting-your-changes)
-
-# Content Updates
+
+## Content Updates
 
 If you want to contribute and update the website, please follow the instructions below.
 
@@ -30,11 +10,11 @@ You can use any text editor to make changes. If you are using **Visual Studio**,
 
 You are always welcome to create an issue to discuss your changes before you start working on them. 
 
-## Small Updates
+### Small Updates
 
 Creating an issue is not required for small updates, but it is recommended to let others know what you are working on. If you are not sure whether your update is small or not, please create an issue first.
 
-### What is a small update?
+#### What is a small update?
 
 We can define small updates as changes to the content of the website:
 
@@ -45,9 +25,10 @@ We can define small updates as changes to the content of the website:
 - Minor navigation or footer update
     - This will update all pages containing the navigation or footer
 
-### Steps
+#### Steps
 
-**Note:** This guide assumes you are already familiar with updating files in GitHub.
+> [!NOTE]
+> This guide assumes you are already familiar with updating files in GitHub.
 
 1. Go to the [Stride Website GitHub](https://github.com/stride3d/stride-website) repository
 1. Locate the file you wish to edit
@@ -59,21 +40,22 @@ We can define small updates as changes to the content of the website:
 1. Provide a title and description for your pull request, and click on `Create pull request` again
 1. Wait for the review and merge
 
-## Major Updates
+### Major Updates
 
 [Creating an issue](https://github.com/stride3d/stride-website/issues) is **required** for major updates, so that others can comment on your changes and provide feedback.
 
-We can define bigger updates as changes to the design of the website, where you would like to see the impact of your changes beforehand to assess the desired result:
+Major updates can be defined as significant changes to the website's design, where it's beneficial to preview the impact of your changes to ensure they achieve the desired result. This may include:
 
-- Add new Eleventy shortcodes and Liquid includes
-- Update Bootstrap library or other libraries
-- Update layouts
+- Adding new Eleventy shortcodes and Liquid includes
+- Updating the Bootstrap library or other libraries
+- Modifying layouts
+- Revamping design elements
 
-You would start with the local development environment, which is described in the [Installation](installation.md) section.
+Start by setting up your local development environment, as described in the [Installation](installation.md) section. After making and testing your changes locally, you should create a pull request to merge your changes into the `master` branch.
 
-Then you would make your changes and test them locally. Once you are happy with the result, you can create a pull request to merge your changes into the `master` branch.
+When submitting a pull request, especially for substantial changes, it's recommended to include **screenshots** or a link to your local deployment. This approach helps maintainers visualize and assess your proposed changes more effectively. If you prefer to use GitHub infrastructure for your demonstrations, refer to our [Deployment to GitHub Pages guide](deployment-azure.md#deployment-to-github-pages) for instructions on deploying via GitHub Actions.
 
-# Creating New Post
+## Creating New Post
 
 To create a new blog post, you can follow one of these methods:
 
@@ -82,15 +64,16 @@ To create a new blog post, you can follow one of these methods:
 
 Either method will allow you to create a new blog post, so choose the one that best suits your needs.
 
-## Post Naming Convention
+### Post Naming Convention
 
 `YYYY-MM-DD-post-title.md`
 
 Replace `YYYY-MM-DD` with the date of the post and `post-title` with the title of the post.
 
-⚠️**Important SEO Note:** Ensure the file title includes essential keywords related to your post's content. This is crucial as the file title dictates the URL of the post, which plays a significant role in search engine optimization (SEO).
+> [!IMPORTANT]
+> **SEO Note:** Ensure the file title includes essential keywords related to your post's content. This is crucial as the file title dictates the URL of the post, which plays a significant role in search engine optimization (SEO).
 
-## Post Front Matter
+### Post Front Matter
 
 The file should start with the following front matter:
 
@@ -140,16 +123,16 @@ Default front matter, which is used for all posts, can be found in the `posts/po
 }
 ```
 
-### Image
+#### Image
 
 The image specified in the front matter serves dual purposes: It appears in the blog listing at [Stride Blog](https://www.stride3d.net/blog/) and is used as the **og:image** meta tag for social sharing. Here are three ways to specify this image:
 
 - Not including an image in the front matter will use the default image
 - Including an image in the front matter will override the default image. The size of the image should be minimum **1200 x 600px** e.g. `image: /images/blog/2023-04/new-home-page.webp`
 - External image URL e.g. `image: https://i.imgur.com/7GVEiSR.jpg`
-- If you are looking for Stride specific logo's or icons, have a look at the [Figma](figma.md) options.
+- If you are looking for Stride specific logo's or icons, have a look at the [Figma](figma.md) options
 
-## Post Content
+### Post Content
 
 Check the previous posts for an example of the post content. Ideally you should use the same format as the previous posts to preserve the consistency of the blog.
 
@@ -157,9 +140,10 @@ You can use shortcodes and includes which are described in the [Shortcodes and I
 
 You can also use majority of the Bootstrap classes in your content if you combine HTML and Markdown.
 
-💡**Tip:** We have a folder called `_drafts` where you can store your drafts. These files are not published. Once you are ready to publish your post, you can move it to the `posts` folder.
+> [!TIP]
+> We have a folder called `_drafts` where you can store your drafts. These files are not published. Once you are ready to publish your post, you can move it to the `posts` folder.
 
-## Excerpt
+### Excerpt
 
 The excerpt is the first paragraph of the post. Separated from the rest of the content by three dashes `---`. The excerpt is used in the blog post list, meta description and in the RSS feed.
 
@@ -180,11 +164,11 @@ Additional content goes here...
 
 ```
 
-# Creating New Page
+## Creating New Page
 
-To create a new page, create a new file in the root folder or create a new folder and add an `index.md` file to it. You can use any templating language supported by Eleventy. We use Markup, html, nunjacks.
+To create a new page, create a new file in the root folder or create a new folder and add an `index.md` file to it. You can use any templating language supported by Eleventy. We use Markup, HTML, Nunjucks.
 
-## Page Front Matter
+### Page Front Matter
 
 The page front matter works the same way as the post front matter. The only difference is that the `layout` property is required.
 
@@ -200,133 +184,11 @@ permalink: /my-features/ # otherwise it would be /features/
 ---
 ```
 
-# Shortcodes and Includes
-
-You can see examples here https://www.stride3d.net/blog/examples/.
-
-## Alert
-
-To add an alert, use the following include, where:
-
-- `type` is one of the following: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `light`, `dark`. Using these types will automatically include a relevant icon
-- `icon` is a Font Awesome icon, which is optional. You can use any free icon, e.g., fa-check.
-- `title` is the title of the alert
-
-```liquid
-# This will render as a green box without the icon
-{% include _alert.html type:'success' icon:'' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
-
-# This will render as a green box with a check icon
-{% include _alert.html type:'success' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
-
-# This will render as a green box with a custom icon
-{% include _alert.html type:'success' icon:'fa-face-smile' title:'No icon: Stride contributors are proud to announce a new release now running on .NET 6 supporting the latest C# 10.' %}
-```
-
-## Alert Banner
-
-A global alert banner can be used for promotional purposes. The banner can be activated in `site.json`.
-
-```json
-"alert-banner": true
-```
-
-The HTML can be updated in the `/_includes/alert-banner.html` file.
-
-## Image
-
-Add responsive images using shortcodes. Be sure to include a descriptive title, as it will improve your post's search engine visibility. Also, if possible, use the **webp** format for images, which can also be used for transparent images. This will improve the performance of your site.
-
-To add a responsive image, use the following shortcode:
-
-`{% img 'title' 'url' %}`
-
-Replace `title` with a descriptive title for the image and `url` with the image URL. This shortcode renders as:
-
-```html
-<img alt="title" src="url" class="img-fluid mb-2" loading="lazy" data-src="url">
-```
-
-To add a responsive image with a clickable link that opens the image in full size, use the following shortcode:
-
-`{% img-click 'title' 'url' %}`
-
-Replace `title` with a descriptive title for the image and `url` with the image URL. This shortcode renders as:
-
-```html
-<a href="url" title="title" class="mb-2"><img alt="title" src="url" class="img-fluid" loading="lazy" data-src="url"></a>
-```
-
-To add a responsive image with a clickable link that directs users to a custom destination, use the following shortcode:
-
-`{% img-click 'title' 'url' 'destinationUrl' %}`
-
-Replace `title` with a descriptive title for the image, `url` with the image URL, and `destinationUrl` with the target URL when the image is clicked. This shortcode renders as:
-
-```html
-<a href="destinationUrl" title="title" class="mb-2"><img alt="title" src="url" class="img-fluid" loading="lazy" data-src="url"></a>
-```
-
-## Video
-
-We should consider hosting our videos on YouTube whenever possible. 
-
-To embed a **YouTube video**, use the following shortcode:
-
-`{% youtube 'id' %}`
-
-Replace `id` with the YouTube video ID. This shortcode renders as:
-
-```html
-<div class="ratio ratio-16x9 mb-2"><iframe src="https://www.youtube.com/embed/id" title="YouTube video" allowfullscreen></iframe></div>
-```
-
-To embed a **YouTube playlist**, use the following shortcode:
-
-`{% youtube-playlist 'id' %}`
-
-Replace `id` with the YouTube playlist ID. This shortcode renders as:
-
-```html
-<div class="ratio ratio-16x9 mb-2"><iframe src="https://www.youtube.com/embed/videoseries?list=id" title="YouTube video" allowfullscreen></iframe></div>
-```
-
-To embed a video hosted elsewhere, use the following shortcode:
-
-### Hosting our own videos
-
-`{% video 'url' %}`
-
-Replace `url` with the video URL (e.g., .mp4 file). Make sure you have a matching .jpg file with the same name as the .mp4 file for the poster attribute. This shortcode renders as:
-
-```html
-<!-- jpgUrl = url.replace(".mp4", ".jpg") // make sure you have a pair .mp4 and .jpg -->
-<div class="ratio ratio-16x9 mb-2"><video autoplay loop class="responsive-video" poster="jpgUrl"><source src="url" type="video/mp4"></video></div>
-```
-
-### How to encode videos
-
-Videos can be generated by many software in various formats & size, so they might end up being incompatible with web browsers or mobile, or simply be way too large.
-It is better to stick to a format with low requirements such as H264 baseline profile (works almost everywhere).
-
-To do so, process the file using [fmpeg](https://ffmpeg.org/download.html):
-
-```
-ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
-```
-
-Also, generate a static thumbnail so that people can preview it before downloading the video (very important on mobile):
-
-ToDo: Check if webp can be generated from ffmpeg
-
-```
-ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
-```
-
-ToDo: Maybe we could provide a simple tool to do that without using command line.
+## Shortcodes and Includes
 
+To enhance the quality and functionality of the content, both pages and posts can incorporate [shortcodes and includes](content-shortcodes-and-includes.md). These tools offer a versatile way to enrich the presentation and interactivity of the content on the Stride website.
 
-# Web Assets
+## Web Assets
 
 Our main web assets are:
 
@@ -342,21 +204,22 @@ Our main web assets are:
 - `search.liquid` - Renders as `search.json` contains search meta
 
 
-# Styling
+## Styling
 
-## Bootstrap Customization
+### Bootstrap Customization
 
 Our website uses the [Bootstrap](https://getbootstrap.com/) framework, version **5.3**.
 
-⚠️**Important:** Prioritize the use of Bootstrap's inherent styling before integrating any custom styles. You should be familiar with [Bootstrap Utilities](https://getbootstrap.com/docs/5.3/utilities/api/) which help you to achieve most of the styling requirements.
+> [!IMPORTANT]
+> Prioritize the use of Bootstrap's inherent styling before integrating any custom styles. You should be familiar with [Bootstrap Utilities](https://getbootstrap.com/docs/5.3/utilities/api/) which help you to achieve most of the styling requirements.
 
-## CSS Guidelines
+### CSS Guidelines
 
 Our goal is to write as little CSS as possible to ensure the website remains lightweight. We maximize the utilization of the Bootstrap framework to achieve this. 
 
 Further, we are using also [FontAwesome](https://fontawesome.com/) free icons. The icons are loaded in the `src/_includes/css/main.css` file.
 
-# Submitting your Changes
+## Submitting your Changes
 
 Assuming you have made all necessary changes and tested them on the development server, you can submit a pull request to the `master` branch. The pull request will be reviewed and merged by the website maintainers.
 

+ 56 - 20
en/contributors/website/deployment-azure.md

@@ -1,16 +1,17 @@
-# Deployment Azure
-- [Step-by-Step Guide to Deploying Azure Web Apps (Windows) with IIS](#step-by-step-guide-to-deploying-azure-web-apps-windows-with-iis)
-  - [Setting up a new Azure Web App (Windows) with IIS](#setting-up-a-new-azure-web-app-windows-with-iis)
-  - [Adjusting the Web App Configuration](#adjusting-the-web-app-configuration)
-  - [Modifying the GitHub Action](#modifying-the-github-action)
+# Deployment
 
-# Step-by-Step Guide to Deploying Azure Web Apps (Windows) with IIS
+Our team has explored various deployment options, ultimately selecting the method detailed in this guide for its efficacy. Additionally, for demonstration purposes, you can refer to the [Deployment to GitHub Pages](deployment-azure.md#deployment-to-github-pages) section for alternative deployment strategies you can use to showcase your updates.
 
-This guide assumes you already have permission to access the Azure subscription.
+## Deploying to Azure Web Apps (Windows) with IIS
 
-## Setting up a new Azure Web App (Windows) with IIS
+This guide is crafted for individuals who already have access to the Azure subscription. It provides step-by-step instructions for setting up a new Azure Web App, specifically tailored for staging environments. Note that the process for setting up a production environment is similar, but requires a distinct web app name.
 
-These instructions pertain to the staging environment. For the production environment, follow the same steps, but with a different web app name.
+> [!NOTE]
+> The deployment process outlined here is already established and running, hosted on Azure and sponsored by the .NET Foundation. This guide serves primarily as a reference for maintainers in the event that a new deployment setup is required.
+
+### Setting up a new Azure Web App
+
+Follow these instructions carefully to establish your Azure Web App in a staging environment. For deploying in a production environment, replicate these steps with an alternate web app name for differentiation.
 
 1. Navigate to the [Azure Portal](https://portal.azure.com/)
 1. Select **Create a resource**
@@ -27,7 +28,7 @@ These instructions pertain to the staging environment. For the production enviro
       - Click **Next**
 1. In the Deployment Tab - This step can be completed later if preferred.
    - Enable Continuous deployment
-   - Select account, organisation `Stride`, repository `stride-website` and branch `staging-next`
+   - Select account, organisation `Stride`, repository `stride-website` and branch `staging`
    - Click **Next**
 1. In the Monitoring Tab
    - Leave all settings as default
@@ -43,30 +44,65 @@ These instructions pertain to the staging environment. For the production enviro
    - Click **Create**
    - The GitHub Action will be added to the repository and run automatically. It will fail at this stage, but this will be resolved in the subsequent steps.
 
-## Adjusting the Web App Configuration
+> [!CAUTION]
+> If you have completed the **Deployment Tab** process, ensure that the deployment profile includes the **DeleteExistingFiles** property. This property may need to be set to `False` or `True` depending on the specific requirements of your deployment. For instance, Stride Docs deployment retains files from previous deployments, allowing multiple versions like `4.2`, `4.1`, etc., to be maintained. Adjust this setting based on your deployment needs.
+
+### Adjusting the Web App Configuration
 
 1. Proceed to the newly created Web App
 1. Click on **Configuration**
 1. Select **General Settings**
-1. Change the Http Version to **2.0**
+1. Change the `Http version` to **2.0**
+1. Change `Ftp state` to **FTPS only**
+1. Change `HTTPS Only` to **On**
 1. Click **Save** to apply the changes
 
-## Modifying the GitHub Action
+### Modifying the GitHub Action
 
-The previous step will have added a GitHub Action to the repository, which will fail at this point. You need to modify the GitHub Action to correct the issue.
+The previous step will have added a GitHub Action to your repository, which might fail initially. To address this, you need to modify the GitHub Action:
 
 1. Navigate to the repository
-1. Select Actions
+1. Select **Actions**
 1. You have the option to stop the currently running action
-1. Locate the new GitHub Action *(within this folder Stride Website -> staging-next repo -> .github -> workflows)* which was automatically generated by the Azure Portal. We will need to reference the properties app-name and publish-profile and disable the push trigger.
+1. Locate the new GitHub Action file *(stride-website/blob/master/.github/workflows/some-file-name.yml)* that was automatically generated by Azure Portal. We need to extract the `app-name` and `publish-profile` values from it and disable the push trigger.
    - To disable the push trigger, retain only **workflow_dispatch** (manual trigger) as shown below:
     ```
     on:
     #  push:
     #    branches:
-    #      - staging-next
+    #      - staging
         workflow_dispatch:
     ```
-1. Open the `stride-website-staging-azure.yml` workflow and update it with the properties from the previous step. Save your changes.
-1. This workflow may also need to be added to the production branch master if it is not already there.
-1. Execute the workflow stride-website-staging-azure.yml. Ensure you select the correct branch staging-next and click **Run workflow**. This action will deploy the website to the Azure Web App.
+1. Open the `stride-website-staging-azure.yml` workflow and update it with the values obtained in the previous step. Save your changes.
+1. This workflow might also need to be added to the `master` branch if it is not already present.
+1. Execute the workflow `stride-website-staging-azure.yml`. Ensure you select the correct branch `staging` and click **Run workflow**. This action will deploy the website to the Azure Web App.
+
+## Deployment to GitHub Pages
+
+To showcase your updates, especially helpful for design changes pending review, you can deploy the website either to your infrastructure or to GitHub Pages, a free hosting service. Once deployed, share the link with us for review.
+
+### Prerequisites
+
+In your `stride-website` repository:
+
+1. Navigate to **Settings** → **Actions** → **General** → **Workflow Permissions**
+   - Choose **Read and write permissions**
+
+### Run GitHub Action
+
+1. Go to **Actions**, select **Build Stride Web for GitHub Staging**
+   - Click **Run workflow**; you may optionally select a branch
+2. Monitor the build logs while the action is in progress
+3. Upon successful build, a `gh-pages` branch will be created
+4. Navigate to **Settings** → **Pages**
+   - Choose the `gh-pages` branch with the root option and click **Save**
+5. After saving, an internal GitHub Action **pages build and deployment** is automatically created and triggered, deploying the content to the GitHub Pages website
+6. Initially, the website will be accessible at `https://[your-username].github.io/stride-website` but with broken styling
+
+### Add Custom Domain
+
+1. To resolve styling issues, deploy the site to a custom domain. This is necessary because the site isn't deployed at the root directory on GitHub Pages
+2. Go to **Settings** → **Pages** → **Custom domain**
+   - Enter your custom domain and follow the instructions for verification
+3. Upon saving, the **pages build and deployment** action is triggered again, adding a `CNAME` file containing your custom domain name to the `gh-pages` branch
+4. Your website should now be fully operational on your custom domain, for example, `https://stride-website.vaclavelias.com/` is hosted on GitHub Pages

+ 37 - 49
en/contributors/website/eleventy.md

@@ -2,19 +2,8 @@
 [Eleventy](https://www.11ty.dev/) is a static site generator that uses JavaScript as its templating language. It is a very powerful tool that allows us to create a website with a lot of flexibility and customization. It is also very easy to use and learn. This section will cover the basics of Eleventy configuration on the Stride website. Creating and updating the content is described in our [Content](content.md) section.
 
 We used to use **Jekyll** as our static site generator, but we decided to switch to Eleventy because of its flexibility and ease of use. We also wanted to use a tool that is more widely used and supported, which is why we decided to switch to Eleventy.
-
-# Table of Contents
-
-- [Packages and Dependencies](#packages-and-dependencies)
-- [Configuration](#configuration)
-- [Global Data](#global-data)
-- [Folder Structure](#folder-structure)
-- [Layouts](#layouts)
-- [Includes](#includes)
-- [Advanced Topics](#advanced-topics)
-  - [Creating Custom Shortcodes and Includes](#creating-custom-shortcodes-and-includes)
-  
-# Packages and Dependencies
+ 
+## Packages and Dependencies
 
 Eleventy is a **Node.js** application. Please follow our [Installation](installation.md) guide to install Node.js and all the required dependencies.
 
@@ -33,7 +22,7 @@ Packages we currently use:
   - `markdown-it-table-of-contents` - Table of contents plugin for markdown-it, used mainly in blog posts as `[[TOC]]`
   - `sass` - Sass compiler for our `/css/*.scss` files
 
-# Configuration
+## Configuration
 
 The Eleventy configuration is located in the `.eleventy.js` file at the root of the project. This file contains all the configuration settings for the Eleventy build process. As it is a JavaScript file, you can utilize all JavaScript features and syntax within it.
 
@@ -43,13 +32,13 @@ The Eleventy configuration is located in the `.eleventy.js` file at the root of
 - pass through files - Files that are copied to the output folder without any processing
 - custom collections - Custom collections used in the templates like `tagList` and `yearList`
 - filters - Custom filters used in the templates
-- custom shortcodes - Custom [shortcodes](content.md#shortcodes-and-includes) used in the templates, pages or blog posts.
+- custom shortcodes - Custom [shortcodes](content-shortcodes-and-includes.md) used in the templates, pages or blog posts.
 
 The file is well-commented and should be self-explanatory. If you need to add a new configuration, please follow the existing structure and include a comment to explain the new configuration.
 
-# Global Data
+## Global Data
 
-Global data is located in the `/_data` folder. It contains all the global data that is accessible in all the templates. Currently, we have these JSON files:
+Global data is located in the `_data` folder. It contains all the global data that is accessible in all the templates. Currently, we have these JSON files:
 
 - `site.json` - Contains all the global data for the website, used in the templates and shortcodes.
 - `features.json` - Contains all the data for the features page and its features sections.
@@ -64,31 +53,31 @@ Our `site.json` file contains these main properties, with only some listed below
 - `authors` - Contains all the authors used in the blog posts
 - repeated data - like `csharp-version`, `dotnet-version`, `download-version` which are used in multiple places on the website and are updated with every release
 
-# Folder Structure
+## Folder Structure
 
 The folder structure is crucial for Eleventy, as it determines the output of the build process. The folder structure is organized as follows:
 
-**Folders**
-
-- `/_data` - Global data
-- `/_drafts` - Draft blog posts (excluded from the build process)
-- `/_includes` - Reusable code snippets that can be included in multiple pages
-- `/_layouts` -  Main layout pages (`container`, `page`, `post`) using the primary layout page `default`
-- `/_site` - Output build folder (excluded in `.gitignore` and used for deployment) 
-- `/assets` - Additional assets, such as scripts
-- `/blog` - Blog content page
-- `/css` - Website stylesheets
-- `/files` - Stride installer files
-- `/images` - Images and MP4 files used on the website
-- `/legal` - Content page
-- `/posts` - Blog posts
-- `/posts/2014-2021` - Old blog posts which are merged to the same output folder as `/posts`
+### Folders
+
+- `_data` - Global data
+- `_drafts` - Draft blog posts (excluded from the build process)
+- `_includes` - Reusable code snippets that can be included in multiple pages
+- `_layouts` -  Main layout pages (`container`, `page`, `post`) using the primary layout page `default`
+- `_site` - Output build folder (excluded in `.gitignore` and used for deployment) 
+- `assets` - Additional assets, such as scripts
+- `blog` - Blog content page
+- `css` - Website stylesheets
+- `files` - Stride installer files
+- `images` - Images and MP4 files used on the website
+- `legal` - Content page
+- `posts` - Blog posts
+- `posts/2014-2021` - Old blog posts which are merged to the same output folder as `/posts`
   - this folder is only for convenience to easily access new posts
-- `/wiki` - Excluded from build process, used only for wiki deployment
+- `wiki` - Excluded from build process, used only for wiki deployment
 
-**Files**
+### Files
 
-- `/posts/posts.json` - Blog post defaults so they don't have to be repeated in the front matter
+- `posts/posts.json` - Blog post defaults so they don't have to be repeated in the front matter
 - `*.html` - HTML content pages
 - `*.liquid` - Liquid content pages
 - `*.md` - Markdown content pages
@@ -97,7 +86,7 @@ The folder structure is crucial for Eleventy, as it determines the output of the
 - `.eleventyignore` - Lists files and folders not to be processed by Eleventy
 - `package.json` - Eleventy project metadata used by `npm`
 
-**Non Eleventy files:**
+### Non Eleventy files
 
 - `.nojekyll` - Special file for GitHub Pages
 - `CNAME` - Custom domain for GitHub Pages
@@ -110,35 +99,34 @@ The folder structure is crucial for Eleventy, as it determines the output of the
 - `web.config` - Configuration file for IIS deployment
 - `web.Release.config` - Configuration file for Windows ASP.NET Core deployment
 
+> [!NOTE]
+> This project includes ASP.NET Core solution and files, as they can be used seamlessly with Eleventy. Read more about this in our [Installation](installation.md#aspnet-core) section.
 
-**Note:** This project includes ASP.NET Core solution and files, as they can be used seamlessly with Eleventy. Read more about this in our [Installation](installation.md#aspnet-core) section.
-
-
-# Layouts
+## Layouts
 
-All the layouts are located in the `/_layouts` folder. The `default` layout is the main layout page and is used by all the other layouts. 
+All the layouts are located in the `_layouts` folder. The `default` layout is the main layout page and is used by all the other layouts. 
 
 - `default` - Main layout page
 - `container` - Used by some pages
 - `page` - Used by most of the pages
 - `post` - Used by blog posts
 
-# Includes
+## Includes
 
-All the includes are located in the `/_includes` folder. The includes are reusable code snippets that can be included in multiple pages.
+All the includes are located in the `_includes` folder. The includes are reusable code snippets that can be included in multiple pages.
 
 Some includes are used solely by the layouts, while others are used by the content pages.
 
-# Advanced Topics
+## Advanced Topics
 
-## Creating Custom Shortcodes and Includes
+### Creating Custom Shortcodes and Includes
 
-If you need to create a custom shortcode or include, please follow the existing structure and [include a comment](content.md#shortcodes-and-includes) to explain the new shortcode or include.
+If you need to create a custom shortcode or include, please follow the existing structure and [include a comment](content-shortcodes-and-includes.md) to explain the new shortcode or include.
 
-The shortcodes are defined in the `.eleventy.js` file, while the includes are located in the `/_includes` folder.
+The shortcodes are defined in the `.eleventy.js` file, while the includes are located in the `_includes` folder.
 
 You can explore the existing shortcodes and includes to get a better understanding of how they work and how to create new ones.
 
-## Performance Optimization
+### Performance Optimization
 
 ToDo: Remove this section if not needed

+ 11 - 9
en/contributors/website/figma.md

@@ -1,11 +1,13 @@
-# Figma
-For Stride we have official logo's for various solutions and occasions.
+# Figma Designs
 
-You can find the official [Figma designs here](https://www.figma.com/file/LwUrbnxR1hVkO53R3yqpQT/STRIDE3D?type=design&node-id=126-192&mode=design)
+Stride boasts a range of official logos tailored for various applications and occasions.
 
-We have logo's for the following scenarios
-* Stride logo
-* Stride icons
-* Stride website mockups
-* Stride tutorial thumbnails
-* Stride splash screens
+Access the official [Stride Figma designs](https://www.figma.com/file/LwUrbnxR1hVkO53R3yqpQT/STRIDE3D?type=design&node-id=126-192&mode=design) to explore and utilize these creative resources.
+
+Our Figma design collection encompasses:
+
+- **Stride Logo**: The core visual representation of the Stride brand
+- **Stride Icons**: A variety of icons reflecting Stride's identity and functionality
+- **Stride Website Mockups**: Conceptual designs and layouts for the Stride website
+- **Stride Tutorial Thumbnails**: Engaging and informative thumbnails for Stride tutorials
+- **Stride Splash Screens**: Visually striking splash screens for Stride software and applications

+ 12 - 61
en/contributors/website/index.md

@@ -1,4 +1,5 @@
 # Contributing to the Stride website
+
 This documentation serves as a comprehensive guide to help you navigate and contribute to the **Stride website**.
 
 If you're looking to make minor changes, such as adding or updating a post or page, or fixing a typo, you can jump straight to the [Content Updates](content.md#content-updates) section.
@@ -13,67 +14,17 @@ Technologies we use to build our website:
 - Bootstrap
 - Font Awesome
 - HTML, JavaScript, CSS, SCSS, and JSON
-- GitHub Actions (CI/CD) - Don't worry, this is already set up, you don't need to worry about it.
-
-## Important Links
-
-- https://www.stride3d.net/legal/privacy-policy/
-    - This links is used in the Stride Installer
-- https://www.stride3d.net/feed.xml
-    - This feed is loaded in the Stride Launcher
-
-## Major Version Release Instructions
+- GitHub Actions (CI/CD)
+  - Our [GitHub Actions](https://github.com/stride3d/stride-website/tree/master/.github/workflows) are already configured for deploying to both staging and release environments.
+  - For personal testing or demonstration purposes, you may need to set up your own GitHub Actions. This is especially useful for showcasing proposed changes to maintainers for their approval. For guidance on this, refer to our [Deployment to GitHub Pages guide](deployment-azure.md#deployment-to-github-pages).
 
-1. Create a release blog post
-1. Update `_data\site.json` with these settings, which are used in multiple places on the website:
-   - `version`: Increase the version number
-   - `download-version`: Update the version number for downloads
-   - `csharp-version`: Update to the current C# version being used
-   - `dotnet-version`: Update to the current .NET version being used
+## Dependencies
 
-## Table of Contents
+Various Stride systems rely on content fetched and processed from either the Stride website or the Stride Docs website. It's crucial to ensure that the following links remain active and accessible. Please refrain from removing or altering these links unless the dependent systems have been updated accordingly to accommodate any changes.
 
-- [Installation](installation.md)
-    - [Prerequisites](installation.md#prerequisites)
-    - [Installation Steps](installation.md#installation-steps)
-    - [Running the Development Server](installation.md#running-the-development-server)
-    - [ASP.NET Core](installation.md#aspnet-core)
-- [Content](content.md)
-    - [Content Updates](content.md#content-updates)
-        - [Small Updates](content.md#small-updates)
-        - [Major Updates](content.md#major-updates)
-    - [Creating New Post](content.md#creating-new-post)
-        - [Post Naming Convention](content.md#post-naming-convention)
-        - [Post Front Matter](content.md#post-front-matter)
-        - [Post Content](content.md#post-content)
-        - [Excerpt](content.md#excerpt)
-    - [Creating New Page](content.md#creating-new-page)
-        - [Page Front Matter](content.md#page-front-matter)
-    - [Shortcodes and Includes](content.md#shortcodes-and-includes)
-        - [Alert](content.md#alert)
-        - [Alert Banner](content.md#alert-banner)
-        - [Image](content.md#image)
-        - [Video](content.md#video)
-    - [Web Assets](content.md#web-assets)
-    - [Styling](content.md#styling)
-        - [Bootstrap Customization](content.md#bootstrap-customization)
-        - [CSS Guidelines](content.md#css-guidelines)
-    - [Submitting your Changes](content.md#submitting-your-changes)
-- [Roadmap](roadmap.md)
-- [Eleventy](eleventy.md)
-    - [Packages and Dependencies](eleventy.md#packages-and-dependencies)
-    - [Configuration](eleventy.md#configuration)
-    - [Global Data](eleventy.md#global-data)
-    - [Folder Structure](eleventy.md#folder-structure)
-    - [Layouts](eleventy.md#layouts)
-    - [Includes](eleventy.md#includes)
-    - [Advanced Topics](eleventy.md#advanced-topics)
-        - [Creating Custom Shortcodes and Includes](eleventy.md#creating-custom-shortcodes-and-includes)
-- [Deployment](deployment.md)
-    - [Azure Web Apps](deployment.md#azure-web-apps)
-        - [Deploying with .NET Framework](deployment.md#deploying-with-net-framework)
-    - [Deployment To Wiki](deployment.md#deployment-to-wiki)
-- [Troubleshooting and FAQ](troubleshooting-and-faq.md)
-    - [Known Issues](troubleshooting-and-faq.md#known-issues)
-    - [Common Issues and Solutions](troubleshooting-and-faq.md#common-issues-and-solutions)
-    - [Frequently Asked Questions](troubleshooting-and-faq.md#frequently-asked-questions)
+1. https://www.stride3d.net/legal/privacy-policy/
+   - This link is integral to the **Stride Installer**. It provides users with transparent information about data handling and privacy considerations associated with using Stride.
+2. https://www.stride3d.net/feed.xml
+   - The **Stride Launcher** utilizes this feed to keep users updated with the latest news, updates, and announcements from the Stride community.
+3. https://doc.stride3d.net/latest/en/index.json
+   - This JSON file is crucial for integrating the Stride Website's search functionality with the Stride Documentation. It ensures that search results are comprehensive, including relevant information from both the Stride website and Stride Docs.

+ 6 - 12
en/contributors/website/installation.md

@@ -1,18 +1,12 @@
 # Local installation
+
 This guide will walk you through the steps to install the Stride website on your local machine for development purposes. Although we use the Windows operating system for development, the steps should be similar for other operating systems.
 
-[Minor updates](content.md#small-updates) can be made directly on GitHub. However, for [more significant updates](content.md#major-updates) that affect multiple pages, we recommend using a local development environment so you can see the impact of your changes beforehand. This is because we use the **Eleventy** static site generator, and in some cases, all pages need to be regenerated. This approach helps you assess your changes before submitting a pull request.
+[Minor updates](content.md#small-updates) can be made directly on GitHub. However, for [more significant updates](content.md#major-updates) that affect multiple pages, we recommend using a local development environment so you can see the impact of your changes beforehand. This is because we use the [Eleventy](https://www.11ty.dev/docs/) static site generator, and in some cases, all pages need to be regenerated. This approach helps you assess your changes before submitting a pull request.
 
 This guide assumes you have a basic understanding of the technologies used in the Stride website.
 
-# Table of Contents
-
-- [Prerequisites](#prerequisites)
-- [Installation Steps](#installation-steps)
-- [Running the Development Server](#running-the-development-server)
-- [ASP.NET Core](#aspnet-core)
-
-# Prerequisites
+## Prerequisites
 
 Before updating the Stride website, ensure you are familiar with the following prerequisites:
 
@@ -21,7 +15,7 @@ Before updating the Stride website, ensure you are familiar with the following p
 1. **Git installed:** You will need Git for version control. If you don't have Git installed, you can download it from the [Git website](https://git-scm.com/downloads)
 1. **Development IDE of choice:** Choose an Integrated Development Environment (IDE) that you're comfortable with for development. Although there are various popular choices, such as Visual Studio, Visual Studio Code, and others, this guide will focus on using **Visual Studio**, as it is the primary IDE for the Stride project, and as of writing, we use **Visual Studio 2022**. You can download the free Community edition from the [Visual Studio website](https://visualstudio.microsoft.com/downloads/)
 
-# Installation Steps
+## Installation Steps
 
 1. ❓You might want to create an issue so we can track your contribution and avoid duplicate work. If you're unsure whether your contribution is needed, feel free to create an issue and ask
 1. 🍴 Fork the repository by navigating to the [Stride website repository](https://github.com/stride3d/stride-website) and clicking the **Fork** button in the top-right corner
@@ -30,7 +24,7 @@ Before updating the Stride website, ensure you are familiar with the following p
 1. 📁 Go to the project folder `cd stride-website`
 1. 🚀 Run `npm install` to install all dependencies
 
-# Running the Development Server
+## Running the Development Server
 
 1. 🚀 Run `npm start` (`npx @11ty/eleventy --serve`) in the command line to start the development server
 1. 📋 You should see many logs in the command line, indicating the progress and displaying any errors
@@ -44,7 +38,7 @@ Before updating the Stride website, ensure you are familiar with the following p
 
 Let's [update the content](content.md) now!
 
-# ASP.NET Core
+## ASP.NET Core
 
 This static website can also be hosted using ASP.NET Core.
 

+ 13 - 0
en/contributors/website/major-release-workflow.md

@@ -0,0 +1,13 @@
+# Major Release Workflow
+
+1. **Create a Release Blog Post**
+   - Place the post inside the `_drafts` folder, which is not deployed, or directly in the `posts` folder for testing in the `staging` environment. Note: If you need to deploy updates to the `release` branch, remember to move the post back to the `_drafts` folder.
+2. **Update `_data\site.json` with the following settings**, which are used in multiple places on the website:
+   - `version`: Increase the version number
+     - This helps refresh the cached CSS file
+   - `download-version`: Update the version number for downloads
+     - Used on the home page
+   - `csharp-version`: Update to the current C# version being used
+     - Used on the home page and features page
+   - `dotnet-version`: Update to the current .NET version being used
+     - Used on the home page and features page

+ 3 - 0
en/contributors/website/media/alert-banner-example.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5a652157b376de3e8880469ea5434cd26936fbfda358d5cd25c040c7f7e4c26f
+size 74911

+ 3 - 0
en/contributors/website/media/alert-examples.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9ca887d6a33d7cce6716964f3fd785c3adc17325948666df4560eecee891f401
+size 120834

+ 1 - 3
en/contributors/website/roadmap.md

@@ -6,6 +6,4 @@ This is a proposal for our website roadmap and ongoing website development plan.
 - Streamline the website by decoupling media from the site
   - Host videos on YouTube
   - Host images in Azure Blob Storage or another location
-- Optimize the website for possible deployment on Azure Static Web Apps
-  
-
+- Optimize the website for possible deployment on Azure Static Web Apps

+ 4 - 9
en/contributors/website/troubleshooting-and-faq.md

@@ -1,21 +1,16 @@
 # Troubleshooting and FAQ
-- [Known Issues](#known-issues)
-- [Common Issues and Solutions](#common-issues-and-solutions)
-- [Frequently Asked Questions](#frequently-asked-questions)
 
-# Known Issues
+## Known Issues
 
 1. **Sponsor Page - Widget Incompatibility with dark theme:** Widgets on the Sponsor Page currently do not support the dark theme. As a workaround, we can either fetch data from https://opencollective.com/stride3d/members/all.json and render it before deployment or make it dynamic. Both options would give us more control over the content and design, and allow for better compatibility with the dark theme in the future.
 1. **Search Page - Lack of pagination:** At present, the Search Page does not have pagination, which limits the maximum number of search results displayed to 100. To resolve this issue, we can implement a pager in JavaScript. This would enable users to navigate through multiple pages of search results, providing a more comprehensive view of the available content. 
 
-# Common Issues and Solutions
+## Common Issues and Solutions
 
 Any issue should be added to Stride Website [GitHub issues](https://github.com/stride3d/stride-website/issues) so it can be tracked and elaborated by the community.
 
-# Frequently Asked Questions
+## Frequently Asked Questions
 
 **Q:** I just want to fix a typo in a post. Do I need to follow your installation steps?
 
-**A:** *No, you can fix the typo directly on the GitHub website. However, you will still need to fork the repo, make your update on the main branch or a new branch, and then create a pull request. You can follow this guide for [minor updates](content.md#small-updates).*
-
-
+**A:** *No, you can fix the typo directly on the GitHub website. However, you will still need to fork the repo, make your update on the main branch or a new branch, and then create a pull request. You can follow this guide for [minor updates](content.md#small-updates).*

+ 1 - 1
en/diagnostics/STRDIAG009.md

@@ -28,7 +28,7 @@ public class STRDIAG009
 
 ## Solution
 
-To resolve the warning, remove the @Stride.Core.DataMemberAttribute. Or change the key of the `IDictionary` to a supported type. Add a pragma Suppression in the IDE if it is a valid type.
+To resolve the warning, remove the @Stride.Core.DataMemberAttribute or add @Stride.Core.DataMemberIgnoreAttribute. Or change the key of the `IDictionary` to a supported type. Add a pragma Suppression in the IDE if it is a valid type.
 
 ## References
 

+ 2 - 2
en/index.md

@@ -34,9 +34,9 @@ Welcome to the Stride documentation, specifically designed for game developers,
         <div class="card h-100">
             <div class="card-body">
                 <h2 class="card-title h5">🌟 Contributors</h2>
-                <p class="card-text">Learn how you can contribute to Stride's development.</p>
+                <p class="card-text">Join our vibrant community of creators and contribute to Stride's growth. Whether you're enhancing the <a href="contributors/engine/index.md">engine</a>, <a href="contributors/documentation/index.md">documentation</a>, or the <a href="contributors/website/index.md">website</a>, your contributions shape the future of Stride.</p>
             </div>
-            <p class="px-3 mb-4"><a class="stretched-link" href="contributors/ways-to-contribute.md">Start contributing to Stride</a></p>
+            <p class="px-3 mb-4"><a class="" href="contributors/index.md">Start contributing to Stride</a></p>
         </div>
     </div>
     <div class="col-md-6">

+ 2 - 2
en/toc.yml

@@ -14,9 +14,9 @@
   #   href: tutorials/csharpintermediate/index.md
 - name: 📝 Release Notes
   href: ReleaseNotes/ReleaseNotes.md
-- name: 🌟 Contributing  
+- name: 🌟 Contributing
   href: contributors/
-  homepage: contributors/ways-to-contribute.md
+  homepage: contributors/index.md
 - name: 🔧 API
   href: api/
   homepage: api/index.md