Переглянути джерело

Merge pull request #248 from VaclavElias/master

feat: Content improvements
Vaclav Elias 1 рік тому
батько
коміт
ec73e4e826

+ 7 - 7
README.md

@@ -11,14 +11,14 @@ Welcome to the Stride Docs repository. This repository contains all the source f
 
 ## 🚀 Getting Started
 
-All the information you need to get started with Stride Docs development can be found in the 📚 [Stride Docs](https://doc.stride3d.net/latest/en/contributors/documentation/index.html).
+All the information you need to get started with Stride Docs development can be found in the 📚 [Stride Docs - Contributing](https://doc.stride3d.net/latest/en/contributors/documentation/index.html).
 
 ## 🤝 Contributing
 
 Use [Discord](https://discord.gg/f6aerfE) for questions and general discussions. 
 Use [Issues](https://github.com/stride3d/stride-docs/issues) to report bugs and proposing features.
 
-We welcome code contributions through pull requests. Issues tagged as **[`help-wanted`](https://github.com/stride3d/stride-website/labels/help-wanted)** are good candidates for starting to contribute code.
+We welcome code contributions through pull requests. Issues tagged as **[`help wanted`](https://github.com/stride3d/stride-docs/labels/help%20wanted)** are good candidates for starting to contribute code.
 
 ### Branch and Release
 
@@ -36,17 +36,17 @@ The staging website is available at https://stride-doc-staging.azurewebsites.net
 
 ## 🗺️ Roadmap
 
-Our Wiki [Roadmap](https://github.com/stride3d/stride-docs/wiki/Roadmap) communicates upcoming changes to the Stride Docs.
+Our [Roadmap](https://doc.stride3d.net/latest/en/contributors/documentation/roadmap.html) communicates upcoming changes to the Stride Docs.
 
 ## 📖 Stride Documentation Landscape
 
-The Stride documentation landscape is organized across different repositories and their respective wikis to cater to both users and contributors. Here's how it's structured:
+The Stride documentation landscape is organized across different locations. Here's how it's structured:
 
 1. [Stride Website](https://www.stride3d.net/) - Stride's official site showcasing its free, open-source 2D and 3D game engine, alongside blog posts
-   - [Stride Website Wiki](https://github.com/stride3d/stride-website/wiki) - This wiki serves as a comprehensive guide for those looking to contribute to or develop the Stride Website
+   - [Stride Website - Contributing](https://doc.stride3d.net/latest/en/contributors/website/index.html) - This serves as a comprehensive guide for those looking to contribute to or develop the Stride Website
 1. [Stride Docs](https://doc.stride3d.net/) - Here you'll find Stride's documentation, including manuals, tutorials, and API references
-   - [Stride Docs Wiki](https://github.com/stride3d/stride-docs/wiki) - This wiki is a comprehensive guide for individuals interested in contributing to or developing the Stride Docs
-1. [Stride Wiki](https://github.com/stride3d/stride/wiki) - A thorough guide for those who wish to contribute to or develop Stride game engine  
+   - [Stride Docs - Contributing](https://doc.stride3d.net/latest/en/contributors/documentation/index.html) - This is a comprehensive guide for individuals interested in contributing to or developing the Stride Docs
+1. [Stride Wiki](https://github.com/stride3d/stride/wiki) - A thorough guide for those who wish to contribute to or develop Stride game engine 
 
 ## 🌐 .NET Foundation
 

+ 1 - 1
en/docfx.json

@@ -58,7 +58,7 @@
       "_enableSearch": true,
       "_appLogoPath": "media/stride-logo-red.svg",
       "_appLogoUrl": "https://www.stride3d.net/",
-      "_appFooter": "<div class=\"d-flex flex-column flex-sm-row justify-content-between pt-1 text-center small\"><p >Supported by the <a href=\"https://dotnetfoundation.org/\" target=\"_blank\" rel=\"noopener\">.NET Foundation</a></p><p>Made with <a href=\"https://dotnet.github.io/docfx\">docfx</a></p><p >Stride Docs Website v.2.0.0.10</p><p>&copy; .NET Foundation and Contributors</p></div>",
+      "_appFooter": "<div class=\"d-flex flex-column flex-sm-row justify-content-between pt-1 text-center small\"><p >Supported by the <a href=\"https://dotnetfoundation.org/\" target=\"_blank\" rel=\"noopener\">.NET Foundation</a></p><p>Made with <a href=\"https://dotnet.github.io/docfx\">docfx</a></p><p >Stride Docs Website v.2.0.0.11</p><p>&copy; .NET Foundation and Contributors</p></div>",
       "_gitContribute": {
         "repo": "https://github.com/stride3d/stride-docs",
         "branch": "master"

+ 0 - 244
wiki/Content.md

@@ -1,244 +0,0 @@
-# Table of Contents
-
-- [Content Updates](#content-updates)
-  - [Small Updates](#small-updates)
-  - [Major Updates](#major-updates)
-  - [Updating Wiki](#updating-wiki)
-- [Manual](#manual)
-  - [Creating New Page](#creating-new-manual-page)
-- [Tutorial](#tutorial)
-  - [Creating New Tutorial](#creating-new-tutorial-page)
-- [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-guidlines)
-- [Submitting your Changes](#submitting-your-changes)
-
-# Content Updates
-
-If you want to contribute and update the website, please follow the instructions below.
-
-Small updates can be done directly in the GitHub web interface, for bigger updates the local development environment is required, which is described in the [Installation](installation.md) section.
-
-You can use any text editor to make changes. If you are using **Visual Studio**, you can open `Stride.Docs.sln` solution file in the root of the repository and start making your updates directly from this IDE.
-
-You are always welcome to create an issue to discuss your changes before you start working on them. 
-
-## 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?
-
-We can define small updates as changes to the content of the website:
-
-- Update the content of an existing page (manual, tutorial or release note)
-- Add a [new manual](#creating-new-manual) or [tutorial](#creating-new-tutorial)
-- Fix a typo
-
-### Steps
-
-**Note:** This guide assumes you are already familiar with updating files in GitHub.
-
-1. Go to the [Stride Docs GitHub](https://github.com/stride3d/stride-docs) repository.
-1. Locate the file you wish to edit.
-1. Click the `Edit this file` (pencil) icon in the top right corner.
-1. If prompted, fork the repository by clicking `Fork this repository`.
-1. Make your changes to the file, then write a brief commit message describing the changes.
-1. Click on the `Propose changes` button.
-1. On the next screen, click the `Create pull request` button.
-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
-
-[Creating an issue](https://github.com/stride3d/stride-docs/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:
-
-- Update docfx version
-- Update layouts
-
-You would start with the local development environment, which is described in the [Installation](installation.md) section.
-
-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.
-
-## Updating Wiki
-
-While wiki pages can be updated directly in the GitHub web interface, this feature is restricted only to contributors who can edit the wiki directly. We have decided to move our wiki pages to a regular folder in this repository called `wiki`, allowing us to use the same process as we do for the website content. If any changes are made directly on the wiki pages, they will be overwritten by the next wiki deployment.
-
-Wiki pages are deployed through a separate GitHub action, `stride-docs-wiki.yml`, which is triggered by updates in the `wiki` folder or can be triggered manually. The `wiki` folder is ignored by the docfx build process, ensuring that the wiki pages are not deployed to the website. Additionally, any pushes to the `wiki` folder will not trigger the website deployment.
-
-You can update the wiki pages as any other content pages, by following the steps in the [Small Updates](#small-updates) section.
-
-⚠️**Important:** If you are updating any headers in the wiki pages, please make sure to update the *Table of Contents* at the top of the page, [Home](Home) page and `_Sidebar.md`. Also, you might need to search for all the links to the updated header and update them as well.
-
-# Manual
-
-These pages contain information about how to use Stride, an open-source C# game engine.
-
-## Creating New Manual Page
-
-1. Create a new file in the `manual` folder, in the already existing folders (e.g. animation, audio, ..) or create a new folder in the `manual` folder.
-   - If you created a new folder, make sue that you create also index.md file in this folder.
-1. Use any existing page as a template for the new page.
-1. Update `toc.md` file in the `manual` folder to include the new page or folder. The `toc.md` file contains the table of contents for the manual pages, which is displayed on the left side of the manual pages.
-
-## Naming Convention
-
-Observe existing pages and folders for the naming convention.
-
-## Media
-
-You can observe that existing folders might have a `media` folder. This folder contains images and videos used in the manual pages. You can use this folder or create a new one in your folder. If possible make sure that images are `.webp` format and videos are `.mp4` format.
-
-# Tutorial
-
-These pages contain tutorials on how to use Stride, an open-source C# game engine.
-
-## Creating New Tutorial Page
-
-1. Create a new tutorial folder in the `tutorial` folder.
-1. Create a new index.md file in this folder. Observe existing tutorials for the content of this file.
-1. Create markdown files for each step of the tutorial. Observe existing tutorials structure for the content of these files.
-1. Update `toc.md` file in the `tutorial` folder to include the new tutorial folder. The `toc.md` file contains the table of contents for the tutorial pages, which is displayed on the left side of the tutorial pages.
-
-## Naming Convention
-
-Observe existing pages and folders for the naming convention.
-
-## Media
-
-You can observe that existing tutorials have a `media` folder. This folder contains images. If possible make sure that images are `.webp` format. The videos should be uploaded to YouTube and embedded in the tutorial pages.
-
-# Shortcodes and Includes
-
-Read docfx documentation about [shortcodes and inludes](https://dotnet.github.io/docfx/docs/markdown.html?tabs=linux%2Cdotnet). Some of them are briefly described below.
-
-## Alert
-
-```liquid
-> [!NOTE]
-> Information the user should notice even if skimming.
-
-> [!TIP]
-> Optional information to help a user be more successful.
-
-> [!IMPORTANT]
-> Essential information required for user success.
-
-> [!CAUTION]
-> Negative potential consequences of an action.
-
-> [!WARNING]
-> Dangerous certain consequences of an action.
-```
-
-## Video
-
-We should consider hosting our videos on YouTube whenever possible. 
-
-You can embed a video by using the following Markdown syntax:
-
-`> [!Video embed_link]`
-
-Replace `embed_link` with the YouTube video link. This shortcode renders as:
-
-Example:
-```md
-> [!Video https://www.youtube.com/embed/-IXw64hZAqg]
-```
-
-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.
-
-
-
-# Web Assets
-
-Our main web assets are:
-
-- `css/custom-bootstrap.scss` - Slightly modified Bootstrap theme
-  - Some Bootstrap variables are overridden
-  - Some Bootstrap parts are disabled so they don't bloat the website (e.g. button-group, breadcrumb, ..)
-- `css/styles.scss` - Main stylesheet
-  - Styles also Dark Mode
-- `css/syntax-highlighting.scss` - Imported prismjs styling, Light and Dark Mode
-- `assets/search.liquid` - Script for search
-- `assets/site.liquid` - Not used
-- `assets/theme-selector.liquid` - Script for Ligth and Dark Mode selection
-- `search.liquid` - Renders as `search.json` contains search meta
-
-
-# Styling
-
-## Bootstrap Customization
-
-Our website uses the [Bootstrap](https://getbootstrap.com/) framework, version **5.3**.
-
-Prioritize using Bootstrap styling before introducing any custom styles. 
-
-## CSS Guidelines
-
-We aim to write minimum CSS code to keep the website lightweight and use the Bootstrap framework as much as possible. 
-
-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
-
-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.
-
-Steps to contribute your updates:
-
-1. Commit your changes to your forked repository:
-   - Commit the changes with a meaningful message
-   - Push the changes to your forked repository
-1. Create a pull request to the main repository:
-   - You can create a pull request from your forked repository by navigating to Pull requests page and click **New pull request** button
-   - Select the **master** branch as the base branch and your branch as the compare branch
-   - Click **Create pull request** button
-
-Once your pull request has been reviewed and approved, your changes will be merged into the main repository and deployed to the website.

+ 0 - 73
wiki/Deployment-Azure.md

@@ -1,73 +0,0 @@
-# Table of Contents
-
-- [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)
-
-# Step-by-Step Guide to Deploying Azure Web Apps (Windows) with IIS
-
-This guide assumes you already have permission to access the Azure subscription.
-
-## Setting up a new Azure Web App (Windows) with IIS
-
-These instructions pertain to the staging environment. For the production environment, follow the same steps, but with a different web app name.
-
-1. Navigate to the [Azure Portal](https://portal.azure.com/)
-1. Select **Create a resource**
-1. Choose **Create a Web App**
-1. In the Basic Tab
-   - Choose your existing subscription and resource group
-   - Under Instance Details, enter:
-      - Name: **stride-website-staging**
-      - Publish: **Code**
-      - Runtime stack: **ASP.NET V4.8**
-      - OS: **Windows**
-      - Region: as the current web
-      - Pricing Plan - An existing App Service Plan should appear if the region and resource group match that of the existing web app. Currently we use **Standard S1**.
-      - 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`
-   - Click **Next**
-1. In the Monitoring Tab
-   - Leave all settings as default
-   - Click **Next**
-1. Monitoring Tab
-   - Disable Application Insights - This is not needed at this stage
-   - Click **Next**
-1. In the Tags Tab
-   - Leave this blank unless you wish to add tags
-   - Click **Next**
-1. In the Review Tab
-   - Review your settings
-   - 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
-
-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. Click **Save** to apply the changes
-
-## 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.
-
-1. Navigate to the repository
-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.
-   - To disable the push trigger, retain only **workflow_dispatch** (manual trigger) as shown below:
-    ```
-    on:
-    #  push:
-    #    branches:
-    #      - staging-next
-        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.

+ 0 - 75
wiki/Deployment.md

@@ -1,75 +0,0 @@
-# Table of Contents
-
-We tested five different deployment methods and chose Azure Web Apps IIS ASP.NET 4.8.
-
-- [GitHub Pages](#github-pages)
-- [Azure Web Apps](#azure-web-apps)
-  - [Deploying with .NET Framework](#deploying-with-net-framework)
-- [Deployment To Wiki](#deployment-to-wiki)
-
-# GitHub Pages
-
-GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files directly from a repository on GitHub, optionally processes the files through a build process, and publishes a website. It is an excellent way to host a website for free and serves as an effective method for testing a website before deploying it to a paid hosting service.
-
-We use GitHub Pages to test our website. Any content pushed to the `staging` branch of the `stride-website` repository is automatically deployed to the `gh-pages` branch, from which GitHub Pages builds and publishes the website.
-
-To manage the build and deployment process, we use the GitHub action `stride-web-staging-github.yml`. This action is triggered when:
-
-1. A push is made to the staging branch
-1. The action is manually triggered
-
-You can manually trigger the action by navigating to the **Actions** tab and clicking the **Run workflow** button.
-
-The `gh-pages` branch is a special branch used by GitHub Pages to host the website and should not be edited directly. Any changes made to the `gh-pages` branch will be overwritten by the subsequent `staging` branch deployment.
-
-The GitHub action `stride-web-staging-github.yml` works as follows:
-
-1. The action is triggered when:
-   - A push is made to the staging branch
-   - The action is manually triggered
-1. `paths-ignore` is used to ignore specific changes to the `staging` branch
-   - Current exclusions: `README.md`, `wiki/**`, `.github/**`
-1. The remaining steps in the action are self-explanatory
-
-# Azure Web Apps
-
-## Deploying with .NET Framework
-
-The .NET Framework uses IIS to host the website, which serves any static files.
-
-The `web.config` file is used to configure IIS, including:
-
-- Mime types for static files
-- Redirects
-- Gzip compression
-- Static file caching
-- Custom Headers
-- Custom 404
-
-The GitHub action `stride-website-staging-azure` builds the website and deploys it to Azure Web Apps.
-
-[Step-by-Step Deployment Guide for Azure Web Apps (Windows) with IIS and Stride Website](Deployment-Azure).
-
-# Deployment To Wiki
-
-While the GitHub wiki offers a convenient way to document a project, it has some drawbacks, such as not being part of the repository by default and restricting edits to collaborators. To address these issues and allow community editing, we have implemented an alternative approach.
-
-We created a `wiki` folder within the repository, which contains all wiki pages. The GitHub action `stride-web-wiki.yml` deploys the `wiki` folder to the GitHub wiki.
-
-The GitHub action `stride-web-wiki.yml` is triggered when:
-
-1. A push is made to the `master` branch of the `stride-website` repository
-1. The action is manually triggered
-
-You can manually trigger the action by navigating to the **Actions** tab and clicking the **Run workflow** button.
-
-This GitHub action only monitors changes to the `wiki` folder. Any modifications made to the `wiki` folder will be deployed to the GitHub wiki. Note that changes to the `wiki` folder will not trigger other GitHub actions.
-
-We use the [Wiki Page Creator GitHub Action](https://github.com/marketplace/actions/wiki-page-creator-action) to deploy the `wiki` folder to the GitHub wiki.
-
-**Note**: ⚠️ A GitHub personal access token (GH_PAT) is required for authentication. This token is stored as a secret in the repository settings.⚠️
-
-**Recommendation**
-
-1. **ASP.NET 4.8 with IIS** for Staging
-1. **ASP.NET 4.8 with IIS** for Release

+ 0 - 143
wiki/DocFX.md

@@ -1,143 +0,0 @@
-[docfx](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) 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
-
-Eleventy is a **Node.js** application. Please follow our [Installation](installation.md) guide to install Node.js and all the required dependencies.
-
-Packages we currently use:
-
-- Dev Dependencies
-  - `@11ty/eleventy` v2.0 - Main package for the static site generator
-  - `@11ty/eleventy-plugin-rss` - RSS feed plugin
-  - `@11ty/eleventy-plugin-syntaxhighlight` - Syntax highlighting plugin (dark and light theme in `/css/syntax-highlighting.scss`)
-- Dependencies
-  - `@11ty/eleventy-fetch` - Fetch plugin
-  - `@fortawesome/fontawesome-free` - Font Awesome with a variety of awesome icons 😃🤩
-  - `bootstrap` - Bootstrap 5.3
-  - `lunr` - Lunr search plugin that consumes local `search.json (/search.liquid)` and remote `index.json` from the docs website; the script is in `/assets/scripts/search.liquid`
-  - `markdown-it-anchor` - Anchor plugin for markdown-it
-  - `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
-
-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.
-
-**What do you find in this file?**
-
-- plugins configuration - All the plugins we use
-- 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#shortcodes-and-includes) 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 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.
-- `sponsors.json` - Contains sponsor information used in multiple places on the website.
-
-Our `site.json` file contains these main properties, with only some listed below:
-
-- `dark-mode` - Dark mode toggle `true|false`
-- `alert-banner` - Global banner below navigation `true|false`
-- `docs-search` - Includes docs website content in the search `true|false`
-- `links` - Contains all the main links used across the website (social media, docs, GitHub, etc.)
-- `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
-
-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`
-  - this folder is only for convenience to easily access new posts
-- `/wiki` - Excluded from build process, used only for wiki deployment
-
-**Files**
-
-- `/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
-- `*.njk` - Nunjucks content pages
-- `.eleventy.js` - Eleventy configuration file
-- `.eleventyignore` - Lists files and folders not to be processed by Eleventy
-- `package.json` - Eleventy project metadata used by `npm`
-
-**Non Eleventy files:**
-
-- `.nojekyll` - Special file for GitHub Pages
-- `CNAME` - Custom domain for GitHub Pages
-- `appsettings.json` - ASP.NET Core configuration file
-- `appsettings.Development.json` - ASP.NET Core configuration file
-- `Program.cs` - ASP.NET Core startup file
-- `Stride.Web.csproj` - ASP.NET Core project file
-- `Stride.Web.sln` - ASP.NET Core solution file
-- `Stride.Web.csproj.user` - ASP.NET Core project file
-- `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#asp-net-core) section.
-
-
-# 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
-
-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
-
-## 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#shortcodes-and-includes) 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.
-
-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
-
-ToDo: Remove this section if not needed

+ 0 - 77
wiki/Home.md

@@ -1,77 +0,0 @@
-Welcome to the Stride Docs Wiki.
-
-This wiki serves as a comprehensive guide to help you navigate and contribute to the **Stride Docs** website.
-
-If you're looking to make minor changes, such as adding or updating a manual, tutorial or page, or fixing a typo, feel free to jump straight to the [Content Updates](Content#content-updates) section.
-
-For more extensive updates 🤯🤦‍♂️ or for a deeper understanding of the docs website project, we recommend exploring all the sections provided. Happy browsing and contributing!
-
-Here are the technologies we use to build our website:
-
-- [docfx](https://dotnet.github.io/docfx/index.html) (static site generator)
-- Markdown
-- [Mustache](https://mustache.github.io/) template engine (docfx dropped Liquid template engine support)
-- Bootstrap
-- Emojis (because why not? 😎)
-- GitHub Wiki
-- HTML, JavaScript, CSS, JSON
-- PowerShell scripts
-- GitHub Actions (CI/CD) - Don't worry, this is already set up, you don't need to worry about it.
-
-## Table of Contents
-
-- [Understanding the Stride Documentation Generation Pipeline](Understanding-the-Stride-Documentation-Generation-Pipeline)
-  - [Introduction](Understanding-the-Stride-Documentation-Generation-Pipeline#introduction)
-  - [A Simplified Overview](Understanding-the-Stride-Documentation-Generation-Pipeline#a-simplified-overview)
-  - [Docs Build Workflow](Understanding-the-Stride-Documentation-Generation-Pipeline#docs-build-workflow)
-  - [Workflow Diagram](Understanding-the-Stride-Documentation-Generation-Pipeline#workflow-diagram)
-- [Installation](installation.md)
-  - [Prerequisites](Installation#prerequisites)
-  - [Installation Steps](Installation#installation-steps)
-  - [Running the Development Server](Installation#running-the-development-server)
-- [Content](Content)
-  - [Content Updates](Content#content-updates)
-    - [Small Updates](Content#small-updates)
-    - [Major Updates](Content#major-updates)
-    - [Updating Wiki](Content#updating-wiki)
-  - [Manual](Content#manual)
-    - [Creating New Page](Content#creating-new-manual-page)
-  - [Tutorial](Content#tutorial)
-    - [Creating New Tutorial](Content#creating-new-tutorial-page)
-  - [Creating New Post](Content#creating-new-post)
-    - [Post Naming Convention](Content#post-naming-convention)
-    - [Post Front Matter](Content#post-front-matter)
-    - [Post Content](Content#post-content)
-    - [Excerpt](Content#excerpt)
-  - [Creating New Page](Content#creating-new-page)
-    - [Page Front Matter](Content#page-front-matter)
-  - [Shortcodes and Includes](Content#shortcodes-and-includes)
-    - [Alert](Content#alert)
-    - [Alert Banner](Content#alert-banner)
-    - [Image](Content#image)
-    - [Video](Content#video)
-  - [Web Assets](Content#web-assets)
-  - [Styling](Content#styling)
-    - [Bootstrap Customization](Content#bootstrap-customization)
-    - [CSS Guidelines](Content#css-guidlines)
-  - [Submitting your Changes](Content#submitting-your-changes)
-- [New Language](New-Language)
-   - [Adding a New Language](New-Language#adding-a-new-language)
-- [Roadmap](Roadmap)
-- [DocFX](DocFX)
-  - [Packages and Dependencies](Eleventy#packages-and-dependencies)
-  - [Configuration](Eleventy#configuration)
-  - [Global Data](Eleventy#global-data)
-  - [Folder Structure](Eleventy#folder-structure)
-  - [Layouts](Eleventy#layouts)
-  - [Includes](Eleventy#includes)
-  - [Advanced Topics](Eleventy#advanced-topics)
-    - [Creating Custom Shortcodes and Includes](Eleventy#creating-custom-shortcodes-and-includes)
-- [Deployment](Deployment)
-  - [GitHub Pages](Deployment#github-pages)
-  - [Azure Web Apps](Deployment#azure-web-apps)
-  - [Deployment To Wiki](Deployment#deployment-to-wiki) 
-- [Troubleshooting and FAQ](Troubleshooting-and-FAQ)
-  - [Known Issues](Troubleshooting-and-FAQ#known-issues)
-  - [Common Issues and Solutions](Troubleshooting-and-FAQ#common-issues-and-solutions)
-  - [Frequently Asked Questions](Troubleshooting-and-FAQ#frequently-asked-questions)

+ 0 - 92
wiki/Installation.md

@@ -1,92 +0,0 @@
-This guide will walk you through the steps to install the Stride Docs 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#small-updates) can be made directly on GitHub. However, for [more significant updates](Content#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 **docfx** 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 docs website.
-
-# Table of Contents
-
-- [Prerequisites](#prerequisites)
-- [Installation Steps](#installation-steps)
-- [Running the Development Server](#running-the-development-server)
-
-# Prerequisites
-
-Before updating the Stride Docs, ensure you are familiar with the following prerequisites:
-
-1. Familiarity with the command line
-1. **.NET SDK 6.0 or higher:** You can download the installer from the [.NET SDK website](https://dotnet.microsoft.com/en-us/download)
-   - If .NET SDK is already installed, ensure you have version 6.0 or higher. You can check your version by running `dotnet --info` in a terminal.
-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
-
-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 Docs repository](https://github.com/stride3d/stride-docs) and clicking the **Fork** button in the top-right corner
-1. 📥 Clone your forked repository using the following command, replacing `your-username` with your GitHub username: `git clone https://github.com/your-username/stride-docs.git`
-   - 💡**Tip:** It's a good idea to create a new branch for each feature or bug fix you work on. This helps keep your forked repository organized and makes it easier to manage multiple pull requests
-1. Make sure you have also Stride repo cloned on **the same level** as stride-docs, read more about it [here](https://github.com/stride3d/stride)
-   - This repo is needed for API documentation generation
-1. 📁 Go to the project folder `cd stride-docs`
-1. 🚀 Let's start with the **docfx**
-
-Enter the following command to install the latest docfx
-
-```
-dotnet tool install -g docfx
-```
-
-Or check the inslalled version is at least `2.67.0`
-
-```
-docfx --version
-```
-
-**Other options**
-
-Update to the latest docfx
-
-```
-dotnet tool update -g docfx
-```
-
-Install a specific version of docfx
-
-```
-dotnet tool update -g docfx --version 2.67.0
-```
-
-Uninstall docfx if you need to downgrade
-
-
-```
-dotnet tool uninstall -g docfx
-```
-
-# Running the Development Server
-
-We've created a PowerShell script [BuildDocs.ps1](https://github.com/stride3d/stride-docs/blob/master/BuildDocs.ps1) with a context menu where you can select the language, include the API build, and run the development server.
-
-1. 🚀 Run `run.bat` in the command line to start the script
-1. 📋 You will see the following self-explanatory menu:
-    ```
-    Please select an option:
-
-      [en] Build English documentation
-      [jp] Build Japanese documentation
-      [all] Build documentation in all available languages
-      [r] Run local website
-      [c] Cancel
-
-    Your choice:
-    ```
-1. 🌐 Choose to build the documentation in the language of your preference
-   - Select `[n]` for no API build
-1. 🖥️ If you select `[r]`, the documentation site will open automatically in your browser `http://localhost:8080/en/index.html`
-     - If you built the documentation in a language other than English, you'll need to manually change the language in the URL
-1. 💻 Open the project in Visual Studio by opening the `Stride.Docs.sln` solution file, or use the IDE of your choice 
-1. 🔄 After saving the updated file, you will need to rebuild the documentation by running the script again
-1. 😃 Happy coding!
-
-Let's [update the content](Content) now!

+ 0 - 10
wiki/Roadmap.md

@@ -1,10 +0,0 @@
-This is a proposal for our website roadmap and ongoing website development plan.
-
-- Tackle existing issues listed in the [Issues](https://github.com/stride3d/stride-website/issues)
-- Convert images to WebP for better performance
-- 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
-  
-

+ 0 - 22
wiki/Troubleshooting-and-FAQ.md

@@ -1,22 +0,0 @@
-# Table of Contents
-
-- [Known Issues](#known-issues)
-- [Common Issues and Solutions](#common-issues-and-solutions)
-- [Frequently Asked Questions](#frequently-asked-questions)
-
-# 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
-
-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
-
-**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#small-updates).*
-
-

+ 0 - 142
wiki/Understanding-the-Stride-Documentation-Generation-Pipeline.md

@@ -1,142 +0,0 @@
-# Table of Contents
-
-- [Introduction](#introduction)
-- [A Simplified Overview](#a-simplified-overview)
-- [Docs Build Workflow](#docs-build-workflow)
-- [Workflow Diagram](#workflow-diagram)
-
-# Introduction
-As of now, **DocFX** does not natively support the generation of multi-language and multi-version documentation. To address this limitation, the Stride team has developed a PowerShell script. Initially, separate scripts were created for each language; however, these have since been consolidated into a single script named [`BuildDocs.ps1`](https://github.com/stride3d/stride-docs/blob/staging/BuildDocs.ps1). This unified script is capable of generating documentation in all supported languages.
-
-The script serves two main purposes:
-
-- It features a non-interactive mode, utilized by the Continuous Integration/Continuous Deployment (CI/CD) pipeline to automatically generate documentation for all languages and the most recent version, eliminating the need for user intervention.
-- It also offers an interactive command-line UI, allowing users to select which languages they wish to generate documentation for.
-
-# A Simplified Overview
-
-Here's a straightforward explanation of how the documentation generation process works.
-
-The `/en` folder serves as the repository for the primary documentation files. When documentation for another language (e.g., Japanese) is built, the files from `/en` are copied over to a temporary folder, for example, `/jp-tmp`. This ensures that the non-English versions will contain all the files present in the `/en` folder. Files that have been translated (found in folders like `/jp`) will overwrite their English counterparts in the temp folder.
-
-DocFX is invoked multiple times, once for each language, to create the documentation. The generated documents are stored in the `_site` folder, organized according to the latest version information obtained from `version.json`. For example:
-
-```
-/_site/4.1/en
-/_site/4.1/jp
-```
-
-## DocFX Files Processed
-
-This section outlines the file processing carried out by DocFX during the documentation generation:
-
-- **Table of Contents (TOC) Files:** 4 files processed
-- **Assets:** 1607 items (images, videos, etc.) included
-- **Conceptual Files:** 304 files processed, resulting in 304 HTML files
-- **Warnings (No API Metadata):** 44 instances encountered
-- **Warnings (API Metadata):** 200 instances of missing or incorrect references
-- **API Files:** 2821 files processed, resulting in 2133 HTML files
-
-# Docs Build Workflow
-
-In this part, we elaborate on the individual steps involved in the documentation build workflow for the Stride Docs project.
-
-- **Start**
-  - Initiates the workflow by reading the `$BuildAll` parameter.
-    - If set to 'Yes', it proceeds to generate all languages and the Stride API automatically, which is particularly useful for CI/CD.
-    - If set to 'No', it will prompt the user to select languages through an interactive command-line UI.
-  - Sets the `$Version` parameter based on the `-Version` command-line argument or fetches it from `version.json` if the argument is not provided.
-- **Read-LanguageConfigurations**
-  - Reads `languages.json` to identify which languages should be generated.
-- **BuildAll**
-  - Pre-configures some variables for non-interactive mode, effectively skipping the `Get-UserInput` step.
-- **Get-UserInput**
-  - In interactive mode, this step prompts the user to choose the languages to generate, as well as whether to launch a local web server.
-- **Ask-IncludeAPI**
-  - Further queries if the user wants the Stride API included in the documentation build.
-- **Ask-UseExistingAPI**
-  - Queries if the user wants to re-use already generated Stride API yml files.
-- **Start-LocalWebsite**
-  - If selected, launches a local web server to host the generated website.
-- **Generate-APIDoc**
-  - Executes `docfx.exe` to generate the metadata needed for the Stride API documentation.
-- **Remove-APIDoc**
-  - Removes the generated API metadata.
-- **Build-EnglishDoc**
-  - Uses `docfx.exe` to build the English documentation, incorporating the Stride API documentation if metadata is available.
-- **PostProcessing Steps**
-  - PostProcessing-FixingSitemap
-    - Adjusts the `sitemap.xml` to use '/latest/en' paths, allowing the most current version to maintain a consistent URL.
-  - PostProcessing-Fixing404AbsolutePath
-    - Modifies asset (CSS, JS, ) paths in `404.html` to be absolute, as required by IIS for 404 page.
-  - Copy-ExtraItems
-    - Copies additional items like `versions.json`, `web.config`, `ReleaseNotes.md` and `robots.txt`, while also updating the `%deployment_version%` parameter in the `web.config` file.
-- **Build-AllLanguagesDocs**
-  - Iterates over all selected languages and triggers the `Build-NonEnglishDoc` function for each.
-- **Build-NonEnglishDoc**
-  - Executes `docfx.exe` to compile non-English documentation, incorporating Stride API documentation if metadata is present.
-- **PostProcessing-DocFxDocUrl**
-  - Adjusts HTML tags and GitHub links, removing any `_tmp` suffixes. Also updates GitHub links to English if the translation is unavailable.
-
-# Workflow Diagram
-
-
-``` mermaid
-%% Define styles
-
-%% Main Graph
-graph TB
-
-%% Nodes
-    Start[Start]
-    A[Read-LanguageConfigurations]
-    B{BuildAll}
-    C[Get-UserInput]
-    D[Generate-APIDoc]
-    E{Ask-IncludeAPI}
-    E1{Ask-UseExistingAPI}
-    End[End]
-    F[Start-LocalWebsite]
-    G[Cancel]
-    H[Remove-APIDoc]
-    M{isEnLanguage or isAllLanguages}
-    N[Build-EnglishDoc]
-    O[PostProcessing-FixingSitemap]
-    O1[PostProcessing-Fixing404AbsolutePath]
-    P[Copy-ExtraItems]
-    R{isAllLanguages}
-    S[Build-AllLanguagesDocs]
-    T[Build-NonEnglishDoc]
-    Y[PostProcessing-DocFxDocUrl]
-    Z[End]
-
-%% Edges
-    Start --> A --> B
-    B -->|Yes| D
-    B -->|No| C
-    subgraph User Interaction
-    C --> E
-    E -->|Yes| E1
-    E -->|No| H
-    C --> F --> F1{{docfx serve}}
-    C --> G
-    end
-    F1 --> End
-    G --> End
-    E1 -->|No| D
-    E1 -->|Yes| M
-    subgraph Documentation Generation
-    H --> M
-    D --> D1{{docfx metadata}} --> M
-    M -->|Yes| N
-    M -->|No| R
-    N --> DocFX{{docfx build}} --> O --> O1--> P
-    P --> R
-    R -->|Yes| S
-    R -->|No| T
-    S --> T
-    T --> X{{docfx build}}
-    X --> Y
-    Y --> Z
-    end
-```

+ 0 - 56
wiki/_Sidebar.md

@@ -1,56 +0,0 @@
-- [Home](https://github.com/stride3d/stride-docs/wiki)
-- [Understanding the Stride Documentation Generation Pipeline](Understanding-the-Stride-Documentation-Generation-Pipeline)
-  - [Introduction](Understanding-the-Stride-Documentation-Generation-Pipeline#introduction)
-  - [A Simplified Overview](Understanding-the-Stride-Documentation-Generation-Pipeline#a-simplified-overview)
-  - [Docs Build Workflow](Understanding-the-Stride-Documentation-Generation-Pipeline#docs-build-workflow)
-  - [Workflow Diagram](Understanding-the-Stride-Documentation-Generation-Pipeline#workflow-diagram)
-- [Installation](installation.md)
-  - [Prerequisites](Installation#prerequisites)
-  - [Installation Steps](Installation#installation-steps)
-  - [Running the Development Server](Installation#running-the-development-server)
-- [Content](Content)
-  - [Content Updates](Content#content-updates)
-    - [Small Updates](Content#small-updates)
-    - [Major Updates](Content#major-updates)
-    - [Updating Wiki](Content#updating-wiki)
-  - [Manual](Content#creating-new-post)
-    - [Creating New Page](Content#creating-new-post)
-  - [Tutorial](Content#creating-new-post)
-    - [Creating New Tutorial](Content#creating-new-post)
-  - [Creating New Post](Content#creating-new-post)
-    - [Post Naming Convention](Content#post-naming-convention)
-    - [Post Front Matter](Content#post-front-matter)
-    - [Post Content](Content#post-content)
-    - [Excerpt](Content#excerpt)
-  - [Creating New Page](Content#creating-new-page)
-    - [Page Front Matter](Content#page-front-matter)
-  - [Shortcodes and Includes](Content#shortcodes-and-includes)
-    - [Alert](Content#alert)
-    - [Alert Banner](Content#alert-banner)
-    - [Image](Content#image)
-    - [Video](Content#video)
-  - [Web Assets](Content#web-assets)
-  - [Styling](Content#styling)
-    - [Bootstrap Customization](Content#bootstrap-customization)
-    - [CSS Guidelines](Content#css-guidlines)
-  - [Submitting your Changes](Content#submitting-your-changes)
-- [New Language](New-Language)
-   - [Adding a New Language](New-Language#adding-a-new-language)
-- [Roadmap](Roadmap)
-- [DocFX](DocFX)
-  - [Packages and Dependencies](Eleventy#packages-and-dependencies)
-  - [Configuration](Eleventy#configuration)
-  - [Global Data](Eleventy#global-data)
-  - [Folder Structure](Eleventy#folder-structure)
-  - [Layouts](Eleventy#layouts)
-  - [Includes](Eleventy#includes)
-  - [Advanced Topics](Eleventy#advanced-topics)
-    - [Creating Custom Shortcodes and Includes](Eleventy#creating-custom-shortcodes-and-includes)
-- [Deployment](Deployment)
-  - [GitHub Pages](Deployment#github-pages)
-  - [Azure Web Apps](Deployment#azure-web-apps)
-  - [Deployment To Wiki](Deployment#deployment-to-wiki) 
-- [Troubleshooting and FAQ](Troubleshooting-and-FAQ)
-  - [Known Issues](Troubleshooting-and-FAQ#known-issues)
-  - [Common Issues and Solutions](Troubleshooting-and-FAQ#common-issues-and-solutions)
-  - [Frequently Asked Questions](Troubleshooting-and-FAQ#frequently-asked-questions)